{"maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"dist-tags":{"next":"4.0.0-alpha.0","nightly":"12.0.0-nightly.778a0e8a.0","latest":"14.0.0","canary":"15.0.0-canary.423edc3dc.0"},"description":"DOM manipulation utilities for Material Components for the web","readme":"","repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"license":"MIT","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"versions":{"0.40.0":{"name":"@material/dom","version":"0.40.0","license":"MIT","_id":"@material/dom@0.40.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"lynnjepsen+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c0bfdf13f76546d35db7492fd6d4167721aac376","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-0.40.0.tgz","fileCount":6,"integrity":"sha512-dNekw081gH1Wh62h8VsOdP87iKkrbM2rFR28bTfolIv6ThRBUGlDe5w8grkrrXLnjoqO/fnQMP1Wdo8C7lcfvQ==","signatures":[{"sig":"MEYCIQDJ45zkfA5CweyBBo5NDQEzEuwS0AyqBQB7sU7MPVSpmwIhAOW7e8wZvG99+a2VYcrtt0ga3K6N//EBQNtDu63Q3WRe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14016,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqUJfCRA9TVsSAnZWagAAeA8P/jT3ZTR5TNDCTIbHd5yH\nHhZ/n4GMcfIlPZ5Bg/rEzr21nN/JbNfIR2Oimj84opYb1P89n22orsL/bCmU\nXwl2OtTgBzKSfQVXEoGmwJm7FoXnXDCaVSbI9ZiNC/mWlHmttAdLJHK4OSn1\ncS0WbghL6DUFICfblXHUPYD7sLcuvongDpxNvk1r8OwXV5IZnPdRckIqiPGR\n1/O6L3lllXKpDAJz7FnDI+50xhwkdGtlJ+1TRiIXsr/JbzCt3+IH8InXaJWy\nSY4i9c0GDAuiNA1k4Iyvc5npqc64XG/jArj+wg/5x7FcGp5RRZOzK0FYum3h\nYX0sH85gtU0dE34f748l2/gT3r8ikKgFMJl4yxICeDnt0JM9+X2RPa/oh4zF\nWEeqbdy3LNlQBiYXemuF0+zCTndHzCtGat+R/98EDBaE2qzMPpO4QIWKCu1w\nyoy1qzUt8N81f4fZvObwOn8rk9HZAP0XC4Sj01s4uQ4umRBUAha9eMwcBpGP\nfnPM/2b4YBNSNa/mytNo9QV+U4ego3nYM74W8R7X4VKHXWlpWSHmUllzcbCy\nQZCtc1jEO16Sxm9Ahf77X2U4L/oJjLlj1Qs0oylNWNWQHgSUCkM4103c4YD8\nn9VFYQRwONL6WopdOy8aYgha/34oQyPm8ux8VKJDy0L2Ssk81YGEU5os9TOi\noUMZ\r\n=POv7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git"},"_npmVersion":"6.4.1","description":"DOM manipulation utilities for Material Components for the web","directories":{},"_nodeVersion":"10.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_0.40.0_1537819230564_0.3669242632077878","host":"s3://npm-registry-packages"}},"0.41.0":{"name":"@material/dom","version":"0.41.0","license":"MIT","_id":"@material/dom@0.41.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"lynnjepsen+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6756865f97bad4c91ee75e69d769d7cdc25398ae","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-0.41.0.tgz","fileCount":6,"integrity":"sha512-wOJrMwjPddYXpQFZAIaCLWI3TO/6KU1lxESTBzunni8A4FHQVWhokml5Xt85GqZwmPFeIF2s+D0wfbWyrGBuKQ==","signatures":[{"sig":"MEQCIFZZQfouUX9Xu9vn0Q4LXJZ6wSFLBGcPoi8aX41Cw99DAiALdDnXPCW7Hxi/O82h+APszDah0G4qIGIu8F6MzgQH0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14027,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb12vNCRA9TVsSAnZWagAARdkP/0SVW9f+ufJhcXeAQlxf\n+Inh60zXqSnr19SJk00wq+zbXalJ9jYfre86pY1vfM6dNeA2VGhCEwEyN43V\nAK/sMB7JRjj9pvbud+xVYy/M531xJZt3dDyj7RixkZqgX6s7peLgKYILK+g3\nqo7+WC2pSIQdpo6FaAvzeFduMjJIWIcg+tfjdrR+rZ7TQ1RfBOWvr01jT6sD\njNTWBZu6EPAlrisDMl1+ycpJFZN94oM4LrWgD0KUpbItchVszOJ1Uy+VmuJz\nCoN5ZllidSQLGHdFPV0G60kDdA0J80nB2CE2vBtx0osenSzMnTE35zCTihnK\nst9+dC0qsORemEfX4JUzjcC5eKRLAsPoO7K9s4f0WEkmzLwpqqJ3MkYZkEtF\n4W0H8lKro9Gy+ZDfgy/KAP1MxwT/p8NKgAjKATmZBz7lTg5PLHILvuNAJxmQ\n/2bzHWDyo/yYA9i2TZzX5CdWHWlExLZBc6SvFhCxvqPb9TYJADwyWEGuDT4d\ng+pUGA9Prpsbfj90/Tua8qukBdeWqS6ePmO8TD2fjFdm3AXjCYj6aFws5DFm\nW65hks9zNafFMK0lKsOI2FP+udpqeesABhmbty2nsbrIPVlJw2cxA/F19Pye\nPedgJAqio9WiKHJOGf4WIqjsRz2mW71X0YId7V9zHMdgh65U2zPWHPyJKjeH\nRBLp\r\n=EsFh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","_npmUser":{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git"},"_npmVersion":"6.4.0","description":"DOM manipulation utilities for Material Components for the web","directories":{},"_nodeVersion":"8.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_0.41.0_1540844492201_0.11698285908232031","host":"s3://npm-registry-packages"}},"1.0.0-0":{"name":"@material/dom","version":"1.0.0-0","license":"MIT","_id":"@material/dom@1.0.0-0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"lynnjepsen+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"265ec803599cc0171c82bce9b1fd0e00e829d952","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-1.0.0-0.tgz","fileCount":13,"integrity":"sha512-Qx8o/Np73Qb4t0ooCubo4Y7SbmCS/xXwuDGZngiujcMgEpZJay9xlrQ5innzWoVW/l6jiuMBpcUZWXfabRXNRA==","signatures":[{"sig":"MEYCIQCDNO6jryaCnNEjAgQleZKZOOPWD8CvnVoUa/EKmCi25gIhAOec8ayNYZJ/NOjMu1Fh8i3NUOXdRRs5p3g0ePUABstG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdyRJCRA9TVsSAnZWagAAzSUQAInIGe4hX/4E+dXfDtde\nxq5F3CTbo05pdf09Omc6lZZtE907K6etWkoceNAvbW9UHzgsL6yi+35lRjwb\nSmdNWZZUt3CJXGiQs4zrkG4SBKJCCucgcYMjL9MwJ4rVF9jZRwgm+bbQj3PV\nF/KUbySrixuKuecuW4AN5kKEGYWgi8z3RFAcA/pA70YtVxRgSK336dq8UlEN\ntEYXc16nZYL3kSBzqu2w4lo2QusdqNOefPdeJgFW6dySCFgmzoM4Ib90o+lm\nimqxQU1bzZ3QiG1cnL1C7DarTtuzc217soy6ODAwc+Sft4YGz9BeH0SGH4mw\nszfvtqzerjn/g/xvu4X7fyj3weh0c144JhVfdWxFWfTL0TPErZtscEoPnw0D\nhVhaYXpQrAlS12/n0RqQzzB3+09TxqkMmDir6N/GD0ASaBk3RrKLmFIUpa9k\nl+PElxtfjgcA/0Pk0TOrtGSLrY4/SnWwqlUwdyovXkwUlLALVpkdteDQ9xxU\nr8q+9Ze+KeHAWtGPilpPZozo++3TbhaExaDSZh13wEvzX3Yrqqpt1Zesa4Gx\n58TGVwO0Fj3A0nsWS69zcvdZ+by02QNpzUYp6bAUkyBLhGgr532B3aMQ5zbU\nXGgTYX2iFx1kLMlZ4XcvejfV59KKOw0mM04IItEj0E4q4OsE22MV9h27F1lp\nPwxq\r\n=/OrK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n","_npmUser":{"name":"anonymous","email":"acdvorak@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git"},"_npmVersion":"6.8.0","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.14.2","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_1.0.0-0_1551311944625_0.20796667472714025","host":"s3://npm-registry-packages"}},"1.0.0-1":{"name":"@material/dom","version":"1.0.0-1","license":"MIT","_id":"@material/dom@1.0.0-1","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"lynnjepsen+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"893a8c2d903edf796c32c8531ac5abf54ab8f698","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-1.0.0-1.tgz","fileCount":13,"integrity":"sha512-niSUpJFpD77kAKjDHz1OfT1Ae9vRGzj5wZyG0oXjdOmYN1k6vrk8JerTb/BZn7uyP2Sjqb/RcCvl5+//rFbu8g==","signatures":[{"sig":"MEQCIFGSTEGIaTXFqYvI9j8m4sda+rH+tybFoh/vyX9LlAAzAiBsRd7EAv8slew+RHeFwuLijrUBlbSq2CA3XTOwWT/75A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfbWqCRA9TVsSAnZWagAA8SkQAIhhbyVkMxcDMZbPYprB\nhPFkt372t35pf0V2UWfg04gceS8R2o2ZnIyiszW6IeB9C0IlhW1cAR/m6FYq\nUTqyb3Qfw24DYXTImoDJ3gAdpfQA9uZFzmwkvpp22AnXTyCnNd9//v3g5WDs\nt1c+OQSIsqyixU8XcjkmluvctSVYGBvjp69RVfyiclvY9P1BTfEusV9FEGZD\njIkjSfF2B8K43ZY6z5XFvzL6YIgijmqziCJTHW5kgMhKpQBDSBso7sWJQNZM\nPoFDlHvmIeuikVcoxfmIIhfeQiyt2OTZlUEe9CdneOhysf8M9qS8RWgqwjZk\nEd0O5dN1I4OnfCPYE8YC3vgVr7ixeLWk7W9WS0qSMWZu0gNslxCC6RXqiJrE\nmiLjcgDJXY+E9W8cNlG4i3M5KDIBUXCSiDQ9kY4vHnmcQzqPuh9H3cl8wqjV\nqfZVbcVT9wJWQ3MhKfhZUGTa4hokzNlSBz5cn9U3HXZZsupnO1jNpMZHA38m\nUu0GZg5Lf7hSz6tLz6rY5OtP16VvfHfElaA8QS7CePaiM8ycLecfXX7CfFzl\nQaCJJDY3fFUIb+Pri02Qh55kTmtDpz+JC2TBXQCfCwKD9elj3GXZl23kkPsU\nC/0n75tA0qKy/REt7uLRTTKqwqU8vB/BMK4kaXlN2CxfBW9T17lNbHWsuHbn\n/3Rn\r\n=6dWR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n","_npmUser":{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git"},"_npmVersion":"6.7.0","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.9.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_1.0.0-1_1551742377983_0.7843087686003827","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@material/dom","version":"1.0.0","license":"MIT","_id":"@material/dom@1.0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"lynnjepsen+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"21f2b938b040c7b7fc43fd8837a174f661552b2a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-1.0.0.tgz","fileCount":13,"integrity":"sha512-P2WDLk/9iZxg4RCvwqCtrObm0Qm0EF5G6X/rw21FKTg6uhwmPR75tCj2Zr1yyvVS9rjLxXZf0bQRsgvKxVE6Zw==","signatures":[{"sig":"MEYCIQDmZ+j6Fb0b5qCy91FX/BpujmjSEZchKmVFRei9pPQ/1QIhAIWYE2DrMcQs1rQaE4tQ9hsMCTM4ipYS1haz2ONJXIDq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgDadCRA9TVsSAnZWagAAsZYP+QELIGRVZargOjpFIr5K\nLxcMkcnRZQfx7kMVsj/+w+sKqANcjWmEJxEwcIkv2lv81Q3Tg/hNhFmQk+q7\nDWHGflK4/6KFaolv4sMCdBsxYHNlUfSCdBV4K/sLlqsCQilBYfH/m5Zrj3Fh\n7qvgKfTnnVnalx7TrqsjUBSz04a+IAv7RzT/xP5S0D/0VTtQ7EYU7gc0e+oj\nAy/tmkQOgZSAl/ZmIb/Slv+nhPu/Nb5M8MD9eEtjtub6x7FuOl/nd0cNNe4a\nkBSmxg3o7idgJ0vFZiPLAUDl9sjEh4aTPMYcp+LjT02OlNlcxYLdoEWw4BFO\nEvZsxk8KMyRXZMh/KI2R3Pa49nBXZ3eDgt8aC1WoLPjpshzpXpjpa+4vYwLK\n9Bmi2xUDnXx5+GVBKAIvatjH7+E1E9vF90b7ve0Xq5H/Wrtcuxv0hRhZMUc2\npNXFB6voYSyZuPwhnUhXZ6E+EVLVwSsyGKVsLEjCdegq3XD3dERKkFlMDYac\nhI108ReBomorl/Tg7mNESRQbdjl8924LeqowG+QuBDAsd1IuTOJgwh/3Vi/7\nXiEMYiY5iOtlJ/elsTNDQ1s4TBgvQejQcSHA1QL3sEhY+4IqEspzE7lHFffF\nLaHokzbktMMcYnuPjU64GIVOsuHr+axH8WhLagbX5mrhWUQQjDHUbzDP/fZj\nOviH\r\n=wBje\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","_npmUser":{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git"},"_npmVersion":"6.7.0","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.9.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_1.0.0_1551906460657_0.907292405546889","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@material/dom","version":"1.0.1","license":"MIT","_id":"@material/dom@1.0.1","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"lynnjepsen+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a0bff19e5c3d14a147dca91f55eb8410eee31739","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-1.0.1.tgz","fileCount":13,"integrity":"sha512-7gb9Tk8YBn2fLEa5fJfvDexG0QxvRGDb8c6uZEhvK4bTd2ZHCfHg9KrO+smC6Trbn5jC+FsBvdRZBbMjtS/E4g==","signatures":[{"sig":"MEQCIGYjbsFAxz9MYAp/4b14vEyyVCv9/Rl6M3EURmryJhcfAiA3tq6NkEThhv8g7oAaIj51KUpQj1tNhk8oskz0FylkkA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchtwNCRA9TVsSAnZWagAAs0cQAKG4W/53GizreFtKl+Hw\nkEAjylFt/znJMlK7uBgYuksZQ+hWOZyV841/NB3eo+16BCiJ5H4RgYUKfLEf\nYaUxW0IVaWM+8Wt+GPJTroWx91sZp+usUmFieRQcVe+zM6NJx5X0KJnbeuQF\nL+fOmFwTql8mVA/84tNy1clrVyTuZyy20yaEgA4yCMWJvFf8vwQG7zg3g4Pb\nIcAFtYnxQNHW9aAyUdYsXKQ3dpfoqZvKjFV9Y1TyPTF988rfyqPI8wtNV/Nq\n8TL+EkcBy5hwGhU9TzUu7liOUHEaJGHYlV1jnQMH0e8W7Dt/TeVBsnXI31lK\nwg431B1cjgkTr5kfjvKgZ56xn+YhdcSzj1Cf+lpHCVqaEd/y7n65bEunYnGm\npP9Bo/nEqd8M9noiqxMisS1Q69+wUIsdqssaT2iK+ryeKotm75HXf1HbOl0I\nS3Aa55IoP/dVtSUobqWwPVRDO2WAr0Mh7Dee36qrzkw5lxEEaydmQKb17ClJ\naHavaxJoG+ip8y7qzTSwqZc95/KxtLraZe1lTqZay5viB6maKSuv6/o6GmGQ\nA5+bd76rQUmBjnJHSPAlP97AASG5le3rfR+Uc1RlnsgKL/r7/zPXF57GExTe\nwkuJ3VyGI5h+lM/gQAoqcH6+GRmTVlzdOVcz2/pgAMZO61biBWkAgSkFIBBI\nqhfH\r\n=UlEv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","_npmUser":{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git"},"_npmVersion":"6.9.0","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.15.3","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_1.0.1_1552342028519_0.35097229015822706","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@material/dom","version":"1.1.0","license":"MIT","_id":"@material/dom@1.1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"lynnjepsen+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3bd3d1a3415b4181118fecb182d93beda56a6f8c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-1.1.0.tgz","fileCount":13,"integrity":"sha512-+HWW38ZaM2UBPu4+7QCusLDSf4tFT31rsEXHkTkxYSg/QpDivfPx6YDz4OmYtafmhPR1d1YjqB3MYysUHdodyw==","signatures":[{"sig":"MEUCIQCCu3CXCKYnxP0grwpluiwp+Zv7v25Yn2HEHfk8zZkMkQIgLfV2gWkK38tkXlnNqPYmbS1oU7MpZFuEIIY/gjl3BRQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmnyvCRA9TVsSAnZWagAApGUP/j5y0cGqyMrRCdl9CpkU\nmPRzJIN0y3NvqeGFPkq8VRqNzpGa380is0rHWhfnwGNO0RULlv/AcVbbx9jL\ngw79YdClAikAayJ2tz6+C47SEhxgst4yjOLuhJZX1/LG1h+yy4tnRhHWbkRb\nr0ASR1993RYHmquBPlVVauL7quColyOGMhmBUtB9Xy7JNhe1Bh/nChXSAk1z\nV40+W7kw2nEpMp5uF40X+19+v5aGSmAXavS6Z/xJgG5fPlYV+EW/ksuR3PKc\nFck0MIG+LmSn59jqw3Zg7SqGwSL97gNwmxoJEdRtS7PTSTkKIYilozA1Jwme\n6j9Qil8C/S8Q6PfXIsFGMZsc9yVmNsp5psurt6jUpSzrHcrQsS/pOxyf4cXK\nGwkuuOoCP16HgVCOWTuyUS8ygUxrt5EJtcE2uPDTVKJ+oxznq1i6llYKEydQ\npL3UO0bN2X49bVt+vjlz3AE0X0rfpzkjkDtYO3nx4KaeBqLXV7a90nkAVk6D\nQ7Dk8zZCkHU16TN7vSFJL7hPmi4G9FnHX/0cHVUr+q4GZQsRWdhAjrrExsud\nnRGRCUqjgr/ORI+s7cgiQUX3hwqKxSoCM96pOyjMLpf0m40pq8pcmhrS7BO1\ncSJ8yBwEchzeu3QShNR/qrC7rJ8J4iAdlnmYCkD5SQNvYivQvam/b16LjcN8\nBvAn\r\n=yRb4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","_npmUser":{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git"},"_npmVersion":"6.9.0","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.15.3","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_1.1.0_1553628335216_0.8622755173628427","host":"s3://npm-registry-packages"}},"3.0.0-alpha.0":{"name":"@material/dom","version":"3.0.0-alpha.0","license":"MIT","_id":"@material/dom@3.0.0-alpha.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"lynnjepsen+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7cbc2018fdc2cb133c38b7019a39e9aad68dbcc9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-3.0.0-alpha.0.tgz","fileCount":14,"integrity":"sha512-U9yRwuTeXm4Hw9zgMWsjF7MMqUxDOCZAiU8HFRyFtK+MYLx2zGLJH9p0tjQpPwgmwlu11o8UbFRnbrMrEqOlyg==","signatures":[{"sig":"MEYCIQCikYxS9YSIkYG5a/ji9/sx9X1FcJzgu/SDXIpEPzLIRwIhAOPG5prN+JbEKghZAhEVu+zzYrne7gIU/AjhmLVqOJXp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAHpKCRA9TVsSAnZWagAA/9kQAJ0dwJhoDZnCt4L5SfO2\nZnq10XMYGAbb2m60rOQ0pVtNSSqxB5hGGskE0YgdGM5ylSni+6TuzoTDY9E2\npcD6qvVr+VDRxejN23wR1TndrCO71/VyJaEYuzvFuYepLrSXWj5P/6SzIxRu\nGwU5qh2xLl1HZfVvTbHoUrQ5Z2H+J1ChVGZy8BTpsbYW5jsDY8K51dxzcH9B\np56+0ZUrM0U/84NuDPCdnfmTMIEBClQBAMtknibLPpqYosrjdA4XtLnv6pbv\nFtOq++PXU43pOkP1jVGLAEoKc1y4zmafCWYlcDPNP+2RBS7Odqoi+2j24mCS\nZ8uRH7CWMkLGqy6US2nzX8LA5LqrrQ4tkEGgLgx6O+uGc/jyFURT/Bz1DCfa\n+JQDMDr8sbMvclVkkyB/aDbzuYB5eSrKUMvN03zZug0gMmDN5xumt7UB42nn\n0P7ohVbv4+GT9J/E3vkI2HLm6+k4A5RjkHQLmUli2XvoDdg/qvIAbDKjehTs\ngDcmuwCVwXv4I8hQWmvO5qZMsILmgs0wFqpww6gcXrqy8srlUcomM470TJEF\nk/yC/U5JYWurWdRqJuGT2I2Tm8gNXyWeYQWgoEUmDyuB/b90x64UXTp8wwPw\ntTVerEVEpWf9EfvvhHO96l2XhuCzuMDvyPJV3dV3whbAbwVkMh2InPfbk4vC\nBSUX\r\n=3vQ8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n","gitHead":"094e507fcfb488303e5adec97f7f985b30e8567e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"11.9.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_3.0.0-alpha.0_1560312393224_0.7217067089328189","host":"s3://npm-registry-packages"}},"3.0.0-alpha.1":{"name":"@material/dom","version":"3.0.0-alpha.1","license":"MIT","_id":"@material/dom@3.0.0-alpha.1","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"lynnjepsen+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0e1d9cee65883b12d8e2134afbdecf4f5c52c0c9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-3.0.0-alpha.1.tgz","fileCount":14,"integrity":"sha512-b+pUhUd3vVDL2AR85RH0Wv6GHimtWgRtaTvAGulr8Osx4KZc3OcvEs+nLwlVWFw8+ySJah52Li+BcB3S5hD8Pw==","signatures":[{"sig":"MEUCIFCeuP/V1z3GHp6hU9ahBbV2yb85GVxcTXhe9BV/rWAkAiEA8wNWbe0omnV/a19f4beVfC2iIhhRj3Hinzj60X8CN0g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAUwlCRA9TVsSAnZWagAA9CoP/0AKNyDeD2Nn3ccR8yfJ\ncQPMPrjO7KVbTn7NcIbanHpLgw7790HxEmwWaRk40CsOMAiJRbxDJ8RJV9Sd\nEyj5oaENCeuTMCb0FiQEDNibSPiMYR/CODstItTQ2QQpNm2O5UaJuf5VAkFs\nyzJdrvBQ+JXewtxy1uPzBb6Djzd43cXxnHsG8P+MqKpPJhTkx7XyBgL1hw9a\nAVs3hx8OqG2I4Xc/q9a7e8IDiO4sBvJ9eGkIMOQGvR0cE1wNjnriO1Yw38kv\nRCmHRO9C5XlrAd+m3MRA4BgHhkH+zUIfwht8FRvUHdkxKfK75Q9e4jyyGayn\nO8mfk2TX32ezX5yWdr9hHmf9dctmeXytrzty4fRR3q8Y3Ens+VieSiV0bbqD\nGV5TCmlYpQWTqt87uYZbqlY3qVP8sVyzsucqnliZF0Q8ZUzCVM0f2wMyDNsi\nGDwO2Fr92tQQHDEgw4tovqKuqimjcYeZKVvGKeKpO2lOM1jNQBH3B2prfOHK\ne8G4J5pptHPpKXAU+PsNmmkbDJam5KrlII2KcctblyMpCEBnIYdJ3WKoLsnU\n7LPN7dcVDDVKDp391x9Oy89oFq1HYB/ZgBVKyH9WGg6+xuvOMzprofJZvk6P\n4qf5fLus+e7BNTCDQVlgMyP+1r302lo1WLSpJ+rWHRrXAOPYHdUADGlOe8qV\nkbo3\r\n=oCti\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n","gitHead":"dae97b98c21bb93075a9688cf1f9076a4fe5a85d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"11.9.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_3.0.0-alpha.1_1560366117167_0.5496270623312864","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@material/dom","version":"3.0.0","license":"MIT","_id":"@material/dom@3.0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"lynnjepsen+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c9189b35eac527cff8df900f97229ba12cb803d9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-3.0.0.tgz","fileCount":18,"integrity":"sha512-yMTu+R7IHNf0dvdobY2CxFCRh+l3qV8844Okpq0+l1e2lpLo75jrv9sA16yba+3yEvBmcSsu7XtYmC8v0GLWgQ==","signatures":[{"sig":"MEQCIF7CKGy1EuOudTzDv5MVLxL82cC46NKz3To9DhegjrfzAiBO0r/LKj7gpZflarLwB9RwLFEx0Rf9VnMEI1PKJ2KfRQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdEp/dCRA9TVsSAnZWagAAKusP/iEnEN71fBJkQvXxqUIZ\nUM8cQnbpgY1slCBa0Krqe7TcGCMhaRaVGx43qVljHA0l7fTpDpXtBxftiwZu\nbhmeAL7FM0ILWNh6qggPPOyVJfIbs+mxovxc8monPHmC2qhBi1VblS00sIHH\nt4EIh8een2el00wWf2fMJghN9H9e0K27R1ZTy1EGlc+wg4OJs4vRPShwmfdE\nrE/wHZNXCZAlxOXakIFt6dvZQg+rViFkER3JAUKYMArYo/yh3sjOl3ZPf2Mq\nLCcfHzk0pRL3dZq5NVmNDn7LMwG/ipJadWnTXXdqxu2ZOJpWZGMetHvUo3CV\nHiUdMUrnqwzjzMO0WioRJY/ixN+TLDdljRa5QwlFC33kzUkGFDsG6Rx+xcuU\nX+60zGX9yCI9LUd+lPIaG9e5SmT5qzvldcNYSxxcJ3/LE77bHpMqwtE8YZJw\n5lK+Cj18/LvV35dmcgWtxjZowgxJ9GuijNrekfFouKm/PyqUM/2BWN9TIfms\ncdRPsTAp7Nzzqx828U6gNbHJNko/Mc6Uw5qzvmqQieBxGmlOKacdueRzJd9T\nCLTg6rHdkKANOQO+tXXULQoH+G27LBOkyg1vfZ+NWELbSgYqhieb5P+Lyztx\nZ/CW4CZoc3bQIxLR3IchlEwrxVehHwatt4U0l/oR6rgCtCyXGYxSEWCHBt6q\n8u3B\r\n=wnYB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","gitHead":"747f6ed544e3a3bb3fde71ceaa51359f2212bfb9","_npmUser":{"name":"anonymous","email":"mattgoo@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.13.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.13.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_3.0.0_1561501661378_0.2055337040211449","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"@material/dom","version":"3.1.0","license":"MIT","_id":"@material/dom@3.1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"lynnjepsen+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1e58cad0cd5e1d9d6f6cb07422e327ad34a9d405","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-3.1.0.tgz","fileCount":17,"integrity":"sha512-RtBLSkrBjMfHwknaGBifAIC8cBWF9pXjz2IYqfI2braB6SfQI4vhdJviwyiA5BmA/psn3cKpBUZbHI0ym0O0SQ==","signatures":[{"sig":"MEQCIGIMVdDmGOR+B16X+nHUigSgLgZlHFrKnnLfl3N2dh2gAiBmT8PbkHEvuV9nOUUQ6LtiZLVo9Xz6gVQnlOsfx1x+yQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40323,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNjJoCRA9TVsSAnZWagAACMYP/3cmpOiN/2nv5GWk3lcT\nKambHCl7D07Hs6JGO+u9iTz795O6B5cYg2/QRWYxLZe7vK257oKQCPDDQDpr\nfUFMYczhdccvHXwmDc239aUx+jgzNgmgHtscNG5rfLSxTBJXgXjuJnlGG+Az\nhN2JM27TDqcWFOkZ4BhiN14RGFkoVpHXH5e2RIXfVm/w+kUOt0e124e4nUwX\nALvyYNQz+cTkwozPrR9/DZwml5N6VClVXWsFkveV75L7JI1Pt+dQbLGTYT0C\nteJYAUyS2ceos6Nkjagqk/tk2aYIcSkUc5jJfkaoFHzdGNALEUeu6+6T+HMI\nlsgb20g8MgK+8MwTKN7uqanlTZZZ+rPcPsqGn8iURt4kPWPS/a47uX71v9Se\nROqHERdZDcQ7Y0c4cpvClda4aJMJpHy1p6jGX8LwfcwdrYE6p9r43ATF/hZH\nIc0XlsoOznXRG+PLYlyAUX3sJN7jIdN6P64GUwPUUwz946r718ZOwoJpCDnt\nHvX8/tU8uNF9FLy8R2hBpkKUmlE+NoaM+4V1PWXMk0ZGPVhG/Ku4oTH8tvNz\n2l3xn1wAqruev0Be5M2crKBUqBnaGuuzHAjMgz281JehUQpItmvLno65TZ2j\ngH1GU+06AjWcEu9LmpWgaqNrGhv1JDtIzB9MQPN3nPAETreYNiaui++DF7ho\nq4hp\r\n=AYiV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","gitHead":"6b7e616da1a1ca53df2253f6207642739e13b5dc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v8.16.0+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"8.16.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_3.1.0_1563832936059_0.2994222821285266","host":"s3://npm-registry-packages"}},"4.0.0-alpha.0":{"name":"@material/dom","version":"4.0.0-alpha.0","license":"MIT","_id":"@material/dom@4.0.0-alpha.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"lynnjepsen+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"296d1c0275c80d7f8945cc6e61482b700c1d3cf2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-alpha.0.tgz","fileCount":17,"integrity":"sha512-CwCgtRfUYAiT1Nc9DRSZnkc+LubCgkHu4R9ENpR3C+YcgRDXFyreNM0LhFSNBHVbwd0ZwSL0KWhp652Ef21MLQ==","signatures":[{"sig":"MEUCIAvBvOVpxeWoU/fBmFYvJvUAqs1uLAyAACr0GWh+Cs05AiEA3tCENcyZOSOG1cq4s2n9EgwxGV59GBo183MX5MJVB3Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40518,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdSz3nCRA9TVsSAnZWagAAKjgP/RX5heaBc5DhgWzSDdub\nMj8x/nxNMUpu8Je9YwtridAQQF2KmmhMzZ/GbGkWgqW8uZ8p1i4u84FH50Qi\nXDPv1T86LRfsfBdRxhvWQegYEAuLIi0oRL12ktf3Xz93T5IS6DdOO0aKj0eo\nu9bxgAriCw4fgSYIfaaOeZ0DNYWlZOOdKV4tHraQXVlS1mJnyBoBSlqtdcK3\nHThqOJkXGAAJ1DmLwtB8CW4nDNJBDCq33Ax21gOmLfHBOtlYpkOyNBz9eCdn\n2enxhFMI3TIUqnGQQQ++4HuPgWyj4h0nO8gwisiWkOX/4awVWgjQCB9xSnKf\nAVDd2LSsUkOcPabXVU0Oy198SKhf/Sd006PsS6gS1T6vzP29Eh/9pm26B6Vp\nsTMmUvZh73Fq9WOwr1+aOHrQYUm+HS+nFEo0/gDNEsaUQOgGcXet7BLcKcU9\nXHlCWbJCF9heg7h+4HYDu4c4/ipxsT5Tw1JfRfSbNSS8ROYeVYuWSBebbXVJ\nRxF5WvaPCC6Oru0/svOlt6Kq+KMRubrf7xXabQSkga/EPNzRtsysnpkH9Ft4\nHdQLjF4gX/tyAJlDQkbyPQST3/GEGeKtRVHh7VN2ga8BqgJT+mdzUF5Dmu/u\nBs/CxwJ9r6m7npZCm07qmeGxIpTGq5lrKU5V/cM4Ezvd5gQFSMnaP5IDKYxo\nacUI\r\n=MMCh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"184b37f65b79a260f2835bd44e422dab2402d937","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v8.16.0+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"8.16.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-alpha.0_1565212127192_0.7938949556321162","host":"s3://npm-registry-packages"}},"4.0.0-canary.0":{"name":"@material/dom","version":"4.0.0-canary.0","license":"MIT","_id":"@material/dom@4.0.0-canary.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"82f09036f578a7e7510655f8a4dd74c334bb76a6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.0.tgz","fileCount":17,"integrity":"sha512-5dWaQjt9yO0Y8vjpppLJN19Qo2gMbTtLNobVknPMeeY++3tZxS+tJPm4oxP9AY2sUKYElbCncDvGOMAdXPYt+w==","signatures":[{"sig":"MEUCIHOZPGRUqWR8Hv19xe0wU5qEhhAvw16qunzfQFllq1UbAiEA8Yfxfejrjz2bIfwIXFgyBAQz0G/OY5+gUMtALs1F1Tk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdcJEMCRA9TVsSAnZWagAAHgUQAIT+/Cn6TXiYKtKQqy8R\nGTvQR15dMtg77f+uNOma9Si6ndEB+Q6cBw+uiF3+AjK3RGqnfPuJYEavXHTn\nmxdKV/HXy+MywpVKGKpd+wBbzxSv0ymdwlbPkL0rFnSNVfOUzKN8EwHH1WUc\ne5YcX7bYIeuHecJvUbntr0cP2CtGXoyHisQF/VXghz9hmQa1WDkB+k/fAlZf\nJPh6o2FUDWZJ0JjhLE+pLd9NbSGZTZcl9koaW1vc2Kh/59s5r2Cv7U1A29re\ny0hEx8/1N7VUiwbFQO9E14FoouC9F4REuGAfdUk4QyfqQx872pPv5rdVN2yj\nCzk1lbrg41afljDDdtQA+AIUIV0Dd5tanOA5ZUx7XHSpCBn6HiRkZ25WaPi/\n3EYpuCr2j7P8JN/bfEZ0xDK0MLjCG6PO3DeGKFMzCdWe5opvylyHSksEUU/b\n8+aJvr0Uh5e1W1SLW5QbFo2QVUXkOUHVeiRCkjmC+JSCt3CCTKz5+3WekJ9W\nb/MFDJSSGXNjyzrf3yhhEbVFqlJTCT34eSLIySZsSJpB8kihi2dPQ5jmNjQx\nSXiNUElFuqyn6sZ4Bp0xJE+lkFMFuguF+wEhdPGsDpI4N4MM3Os4S7TLaiHv\nqKfw6qyoPYPjOk2Wsg2HBN/oaFy7S/zyv04vGDEstazp4lHU6ezCNBAAmeQ3\nvqv7\r\n=DRf/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"a9e69493144f4246efe28a958126afc2fedebd60","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v8.16.0+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"8.16.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.0_1567658251167_0.43208169484100534","host":"s3://npm-registry-packages"}},"4.0.0-canary.1":{"name":"@material/dom","version":"4.0.0-canary.1","license":"MIT","_id":"@material/dom@4.0.0-canary.1","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b38b5ab9889ae54cca1192fc8a188752723b43cd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.1.tgz","fileCount":17,"integrity":"sha512-k/uN3rJFx3f18E9yWs3XTFSSYi65CJAV29Zk/Cxj09pJtjQStClbzTLut/6NwdjC6x0dQtLzt6be8S6SkMxCWw==","signatures":[{"sig":"MEUCIQD5J69aHZA9BKr1tUN9eiECdgNprAsBsDHTHWzqr6FVKAIgDby5y+uN+vKC0aCmza1jgdZjb1c/txQ9dsv4LcyB7gc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJddrQGCRA9TVsSAnZWagAAYR4P/0EevhjpMrfttSAFym3F\n7AjdtAgmFH0n1sek7KwNu0Fud4IRzR3KvKdytAh8UmZ+dF1ss14k+CheeFBh\nuhVHZYa1LAxZM3hyLTMvpjribj53KIlDRVYnFHWxDY7WJc02jxEGojLfOuWG\nQC5D1Wa/j3OfmkhKhfiMyYxFTSSlHpyCHkXJRoZfRASxg/pMflIKeqf+XeQt\nb/jyMVtswbutQkWj9nIiuxyz+dxtjbQQawTIoANVpVF9L0w/gcZ8JtAoUsz8\nwxC0YF9R8+KtXVXhW4u5ehAWryXdiyPKyFog8vE4WsXitP/yOPnp4dCCNE9V\ne5UMyqnHpST4RbOrb3efkNLS68a/Uml7QMQvBivrT/CGMmDcOaqAgPMOimmn\n5WbykXAW4T2StHB0Ekt/Se/5JR0VgfG8l1PWiYpSUMu++28qmbDH1TilJ1Vg\nXmn1TaYnKjo5F9bJAO8wA6OUetimfGbZSEtMaIedaHHG6MVVAP2DeMZzn0Ef\negFCw+KQD4qdCnWF0ISCjCQscUQv1G/0YXT50b+zMKs6SHkcW0S2ia0Oq1G0\nMtfillZIyfJtadydYYzJhMLGHj1ghu5J+xDIL568UgdlvZOwg8mHZcjGaEod\nTgI0NXJxH3mX+7w+OBDVZQev+9QUqGLfi0AOLc8iV1BjijO/VumVBc/1ldnj\n57Ey\r\n=kjLL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"edc72a4d7d6a61d61620fd05a80e2491e518bccf","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v8.16.0+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"8.16.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.1_1568060422023_0.3752237112778194","host":"s3://npm-registry-packages"}},"4.0.0-canary.79d881baf.0":{"name":"@material/dom","version":"4.0.0-canary.79d881baf.0","license":"MIT","_id":"@material/dom@4.0.0-canary.79d881baf.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"79793dff499cd11e651738687f0ccf621e425e78","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.79d881baf.0.tgz","fileCount":17,"integrity":"sha512-Rb2giAeHprH+LMVZedVJAxXP2URwctOoSavp/NqXvpEMR1Spil3v+43wBMmiEDEDpiRs0C4zpnojpaulfpzXMw==","signatures":[{"sig":"MEQCIALx6K3bw+C3ZlQCLCjhAIoeFP2wpfRmlg43FLF64CmgAiA7tLiwqrn8WCQvjNrTSfXElbPmfWR6yIgnGCXEEqX8Cw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdev0aCRA9TVsSAnZWagAA2kIP/i+stfV9jvAIKHU0H+Pq\nI0OI+/MQF4I/a2eJd2ZXSSyXuJrImCQ3VMDwWPKuNc3JJIZU0jPbLcNS96LJ\ndD0ZB+hhwaDBaY7FTzzXIT4cBtdknmxwfBACIJGaTH7vRqIODJk5s2YmZHJC\nU2f/Zq8BfXBQor0Uao39iUFmwtZ7ZxFqxoXvph0Yy7E7Q3tGTne2NqZPOjmp\nXKytsF5FgrHYVtBwgNJ8ZOe1SCLfjOM5ZWzwARd6v7OnqVwsurRyi4ur+44k\n/GySQj4vq9maELcKhjPK86+ptCPp5nfQnbowpCAQ8CsvcsOhQm6KoItv2rA0\nLkL+WJgZJ0gjxb9px8eAAr14PsRZE9Xx2nk5EJAyqSQgKW4roO9SVpsjecrZ\nuuG88h4/QmtLpwI/7NVP24/w9iSL91DYFhhZjQ1TgXz6wotYnS9upqUDmEAN\nYMN5ZMCM/WYmbRJoKngpEJsdXLhTOn8Z273Ye3uLPh9b/byfzMOC4Gf7+Hwr\nY8Fbs4Un25rh/KigvjaAHIu7JGkJJVdP6pqifY3+SLgYhEEMgxdZZYm4R8Hz\n0Vde6I+4AbbWChm1JQD+ExIybu94SxZBdzTfy7obck504D/xdsxNPojgIIDY\nE+yOKVroyL0T9f7/GC4qE1INRIXzFhcAO8OA8Fq8ktzWboLXXn2BdEGlM0/X\nCYTO\r\n=4ayS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"756806a2389389441b5b3c130de02948130d96b9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v12.10.0+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"12.10.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.79d881baf.0_1568341273548_0.20290635839329707","host":"s3://npm-registry-packages"}},"4.0.0-canary.e851d4f40.0":{"name":"@material/dom","version":"4.0.0-canary.e851d4f40.0","license":"MIT","_id":"@material/dom@4.0.0-canary.e851d4f40.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"52e7ff65c43c391702e23f93daa6a030b3bda019","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.e851d4f40.0.tgz","fileCount":17,"integrity":"sha512-6fSE4jckJ/rZ448wCmktdWX2RdPLTUUM67wWWPjPklt1JG/ZWMtgijqcgOTI4i0imJcVkV/buQNR56t5tkBFrA==","signatures":[{"sig":"MEUCIQDFuGtrpp7bU6/Ioxd0zeOSh993sR+gYbiouXftCALNQwIgcMCHhlIkLR+a2m4ZC7NY9Ik3qCoLHkc24oTM36ORXmg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdexXfCRA9TVsSAnZWagAAxcMP/0m0PqJt72pdmVP6T2tO\ndmwj+uRUmr/lUcVRlkmbKCWVO6AROecMKVui7n/C8J1IfQnwx7sH9I0jv66s\nb0qxLKoO4J/H1Du8Tpjglojdc7c0vPdDB4R3GUH274iwgWfIH/WCvUlpU+9Z\nSyYq5r6axrL2cs5h1RIInApMSVE8T3fl09m9eAgWt66BGOzFXKrEDBWrB6j7\n86PWKinXG2S1c98eCI3BwZOTF9lYhHksJRppUcoBeFTymyUfEjbBY+ORQAIY\n3HefTkhH1HsgjnqSKP8JQ464G+2r22ZS3MebCW0KV8+igYSQmB87OfFJpAxU\nsgeM0JOKu2Mt1ouSTcf0BGDKIXEVDIp/moVL6eM1pz4MCY+qEHH14eq7VlZq\nlQZ9Xr5ccT8KEPASGeM9hDCRrOG+O48J6BcPbPzstL96f7EXx2h2FN4hHZ2J\nNxwDNwM8Vo0aV7Ig6UrrdC+hriDOEX6R8FIaM/rfTj/ixr7G+z/1DczVB47d\nuy1CBE5u0wUr8guzm6aMsZRRzQyADEVfScjIbpTol1fa6Yjx8DHcADAeV98w\nHbZb8TyCzntbBW9jIyb4L7wXzkmU8XhbagQcDvZbw9RJ81Y4Q4u6Mb6YQYoR\nqMkLHOx4dxZm6MJHvaERWzsVbm8ukHBAbvTGNrYqXp+jEBz/LMB/NHQ7X6gy\nyVVo\r\n=nJ/z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"353401bd143fdc2b4a85abf330176228e21dfe13","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v12.10.0+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"12.10.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.e851d4f40.0_1568347614419_0.4351913764448152","host":"s3://npm-registry-packages"}},"4.0.0-canary.905884690.0":{"name":"@material/dom","version":"4.0.0-canary.905884690.0","license":"MIT","_id":"@material/dom@4.0.0-canary.905884690.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0d57ac415cb17ed0e052c79dbdffcf74c1a3ac92","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.905884690.0.tgz","fileCount":17,"integrity":"sha512-d/ZpR+OiR4jBZczSa59BLgZyflCJRkbjl9zzwZArZr+YjgSet1y0K02jG3uHbzNhyo4Iiq8uquKHny813Jvj6w==","signatures":[{"sig":"MEYCIQCEDznPQZd0BBI2BFZyKnFoSJtMcOlZ0fR+z3QhiIoqWQIhAPx3l/3p3NzKmtT5xnC50qvo2E5kCa15DvZwmZ5fvTjA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44983,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgB8jCRA9TVsSAnZWagAAv34P/0Q1ggTRZgIDos8QAB0M\nTIE2VIavO+95zn8aXma1pOB8uvYGE1Cwi1DqYpyWPbqimf979B1J15u6OQ1X\n/4SiYRqDdgQzxhngbWWTGYa23PCU+8qU+rLCrQlkkttVFgc4D5rXnzg/gqT/\nrZ9yXdp8SU4nazQrdgj/reQ65kowNapudV8/1auNrYhzt6n9r2IVTp03dz3V\n5kXhkk1sab7PK74G1i0o2ItoHqutjbR7yFknfewPmDfAK33i3ruFrI+j5uvG\nn/kWWxBOufWUzKA+FmHOeTxz/oDxeOdbs/YobxwshOXaAIGZqdjuco0EzOK/\nsUVVdBqYl5yYzWsUSnoFyly46ZgHY16b8dPbPGapiTbFCgy0aB+Jb7svhQXy\nITIpnxuU+5QEB4tJ0VNRBv8DB75TLu0wu6I7COD+K52n1sPonT9NaSqzCfPU\n+zNr0Djgo421OAVp4qMzhslnY9If6eDAEByWhQzhGECrNBotoepV6D/X3Vmd\n0PwlSc5Js4tSGYJy2b+YK1thPUpuPtzorLsGlMODmrd6o2hBxpV7DmqhmzjH\neDlhbizh0NLwoWXECgty62zVrZQ4pEwy29k7vWCpiLeOViaX2+Kzaxfvdd80\nZ9I12CK9aCGrwJzTMfnvpoEt+h6Ot4peRPxeVb3AibzufqEGm1bJvg3p2wul\nGZ5T\r\n=SBuw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"df7fbf65943b1227b1bf145a2774abe7710b1e30","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.16.3+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.16.3","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.905884690.0_1568677667055_0.14452070609264323","host":"s3://npm-registry-packages"}},"4.0.0-canary.199534d61.0":{"name":"@material/dom","version":"4.0.0-canary.199534d61.0","license":"MIT","_id":"@material/dom@4.0.0-canary.199534d61.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7bf048a66bacdcf1f143fcac29349bb1515992c8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.199534d61.0.tgz","fileCount":17,"integrity":"sha512-CrhMFAuYx+FFEKsuKPXPYPt8rogwEb1dQ9/g8zW8Z1wF1DD/95/rSAY2nSq/oPftxYgbTlc5fv4eljjb5Bi0Zw==","signatures":[{"sig":"MEYCIQDEspmJFw0torYU+e84IXx1CGBpT1EXTV2HpVvjXWz/8gIhAItVl+CJRi22EQfV1F/HexMMPehNQlsjzLNEhGWbggC3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdjluWCRA9TVsSAnZWagAAWqwP/3Vqn9AIeMCmkF43K8Iu\nzxlO9YuOvpnCdl/m6ZL3yKy4N4w4Utlc3dR9HFN4eIb7f8Phbvp8AP4v5j3o\nr9TjU8Nnux4qle3r7I14Gd/9Rj8vOXFpPRZUG96ygIKFe5EOx3Wlsj7igfir\nwh2CEYJOpvdtKffT3ZqaXKUbfHB9qM/seilCEfQqMJuo0t149qdTPNXeWYGw\n97toMx4Dpl3j9FQOYwUPPPMnZ7y+5DdU6Mz2EojfZZ5Umc9XuxZBqpSisU5+\nGpKztqe0AKBAARzp3IBMnJX6OMG4+mhEjv+iiPEnil425GtUxuDm+c/IiHaX\nzgJcr+hepOVILmatrohUOynXKt3w7wEZazTUue0/uUyp5/ELvvcbK0j75499\nkne/xFryzkC2zs7KUcID/IASG+TyhAfpoHhvSbtVBB2gkQn6EulFNYQ8u2pY\nK8S0zko/euIgIFWLSt9TN8gfkV0W0xCv8pfo4KTTjl+yUYQR5WWqfuiNtg8c\nSYK3rEiqGVsko3VaUrDMPK9/NJ1NS7aAjpCk+zoBeJ4oc1I243NF1jbpsWbM\nb6vCmOsT3wJEaBlANysTSwVhevG6ByWnXTSAPYNGJym5OM0h7LaC3oVBizrl\nDPuLNoWs0X+8RFlPpMOqQkGQYsxTn8iEAOXy+tBX228UX3FYBJ+3WXKCJ6HO\n2AHn\r\n=riWi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"c35810420b70c99e38a1438e1fd44e4bb84e21be","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.16.3+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.16.3","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.199534d61.0_1569610645490_0.2664742219047642","host":"s3://npm-registry-packages"}},"4.0.0-canary.22d7ad2fb.0":{"name":"@material/dom","version":"4.0.0-canary.22d7ad2fb.0","license":"MIT","_id":"@material/dom@4.0.0-canary.22d7ad2fb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6b61c7ee85abec0770f46b7ce3a020c32d676223","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.22d7ad2fb.0.tgz","fileCount":17,"integrity":"sha512-0Igf0Sg5Q4ImQk16hgP+lqQ031sgg+vnfw10JvwC0JsiQoaBSMA1LApMklAnPrgfQnTg7+VFjqzcdoPMkEw2eQ==","signatures":[{"sig":"MEQCIGOUW7Q/g45CMZc3gSJhP/ncOW8S+c6WZcScNRtegtYaAiAVd7kJv4jRTkGOP9tXYVeq2CvWE146FnBBV5m30mt9Tg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45401,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdphZ1CRA9TVsSAnZWagAAY54QAJ4PPlHkbYM6dEBfWLGn\nuV62HdjMa7++IbAvW3D7zePv7UsnYPsjVy6a30nhNjNtyDt3D/nyieN/Tf0d\nv28tO7vwhUo0HJbKPzS8IbniC8hx+B0NZQe3zsxrMGSRylhKmZJFd4Sa14C7\nRcMXNqX5oZaQohkd3KuR9rV5hL+Eytnhbwjy8W6EJuckN6307QRz0p3n1Pnl\nJwJ1RsjCukLm8I9btkuWLKFxf4E/GQqH0lQAF4h5RV+u5qr2q8RS3M/YRkbm\nT2S38hgQqzbPUnqCd+GmkITP/GkucWjeTEeoX9PqF5tekQqPjKydwl4Bje1Y\noeBM3pBJ0chhMMOLERkmXuc1DEyD/k0aBzjVQ0V2S+5aDekVJaobYl65IsYl\nsNHJK1oMAVeS4mBUC0BEWsVtN0CZ1mAmf0WhneavlRJ10XUwfRIFoqGjDoEk\n1PSmhyKMxgd6wBxvJIpsTc2ism3MeIRJFG6iU4iEK9XM5fYFhiS8FY/f9hTN\nV/RW/gvkvW5HdNx2ZQ7Cf24lfkPiBXQuYYT7YhFGYSNtB0y+/aLBamzBwlhx\nMgPCxATS2X+bXPLonq5nfZAPQTA1rqvwj6Zsot6/36ZypRd68WGd28nn0dgW\nl3xeY41FVI8xUMJN54L81AMNugwaz59tcehHbRUbD672vKXTQvKEkzaghtAk\nuApo\r\n=vkks\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"bdc05bd56f8cbc11face1f0f2787fdb17f450fe3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.16.3+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.16.3","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.22d7ad2fb.0_1571165813100_0.7702602059139829","host":"s3://npm-registry-packages"}},"4.0.0-canary.735147131.0":{"name":"@material/dom","version":"4.0.0-canary.735147131.0","license":"MIT","_id":"@material/dom@4.0.0-canary.735147131.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"60f11e74bca9fa4702e5dd5fe50b2c8d78561e95","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.735147131.0.tgz","fileCount":17,"integrity":"sha512-pN1fQaAXDFsQMaM1fA3hj2tOBlG0GWAWRdCYpx9BK/CICxAZ0doQjTY840xwcfGkgopgRgoOWGrP+xh0LVmkig==","signatures":[{"sig":"MEUCIQDiioip+FZfJ/S2Qz3AH7nbMTSaCG45pbL7pcsN9snM9QIgGh8b+wbiV+2En25xJOGC0TNHbQDk+speBBxyYtINbcw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45819,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpnEACRA9TVsSAnZWagAAJoMP+wdtAcs/cjjiQiC0QsWm\nzYxCTCySaTAcjb4XEVG9ydxbSt7vPhL9Iu790QU6HWI3nKYWuxIBB5JVMV5E\nVbbmYorlN8ItF85Kl2MIASJIuIIUa8BLjFjBnIDNygVKL+dcwSFcwyzV/JKa\nlbZEYIcS8mF+DpZrh8/Npie77c2LpUB7Rmd4rZCjBSNSWVSfwsFGuPH/kVmz\nfvRd7iprrg9Yz7TJKFcmRjVO6d00KpfHlbmA06LdybRZLH6Bv8xno/56SjZm\nzG0Sx5+Ss7wdR3gs3xwS0wSeDCbPip9jrQJjXCd8RWcu8fTZg0MzAZU/KDew\n8SWsacHeb6/ydHJpsROnQAiDXfCKRv1kXg2DjYMFyFFfT8pLwtIlCosHRd26\nqIEIrShXriAQaB9CwJOKUi/9TE0rV5J6PZtWCI0T9nJX4cxFf+Vm43h1i7mu\nLc+atLewiQTqw4uGMrZREg92oaOjLG8CS/qs1oD9Qe5LGW3LPkXbK+a0nvVb\nmJkzdTbzrqgFxgVoozG8jGXgWKzsAyuBUrvVpnZXJIuaIFmMJxUuLhoJlUGi\noJ1NseqrFVSTg6/WOh6UHBDnBUjEiPVK8CcE9sa7pnqgu30Pwo/joqrF5dlW\nd27KU5A1EiNRNqpshmOmb4BSPRanJhXB0h9yNV/6p0OmHLnKR5KI4/TzUsWX\n4ogQ\r\n=ztFb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"d7bebbe119e39bd973d398066f5601862aface5d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.16.3+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.16.3","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.735147131.0_1571188992056_0.6369382994883348","host":"s3://npm-registry-packages"}},"4.0.0-canary.062ade5c0.0":{"name":"@material/dom","version":"4.0.0-canary.062ade5c0.0","license":"MIT","_id":"@material/dom@4.0.0-canary.062ade5c0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e9acd4f8f883d32d64c1c41fb6ecfe4e39513cdd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.062ade5c0.0.tgz","fileCount":17,"integrity":"sha512-HQ95qGiJqDMpj98DOv69AMu7/M4jA/L7O10CkY1U43SIAanT8AVitVDg/3fbp3yDccwe3heRrJyy2chU1MJ8vQ==","signatures":[{"sig":"MEUCICy5Hjh5m2DCC+9AeMwOsPr7rlqV9MO3tN5ciuHSuhVKAiEA2QRMY/s2OnCqkMIwE0lnz9c1SowfK/Qu4+luMFxlTdM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46028,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdp71aCRA9TVsSAnZWagAAmdAP/1R4c/hgVWei4+thptZ1\n2uiOGQF9OFSY9Y4NFc8luHUaaAgJ+yEurFvrMtgnQ4yXjxl+D6UKZ7pWwJe4\npYcJhBxojbTPyUIgub4xj6fIcxMocuuw4C3tincGj+X/IPn53RwSKwx2i17T\n4g3ey2RnC6DjUMyBgAPTXvn5LMJmKKNyTDBhVVpFBabMBD85ww/HbRAqPIyr\n+QCGjnfwGvkmtxTPmF7uhPSRhNd9oYw0qSgJM0TTplYclph6umKDsAc28M/P\nmXq4p37scIZuLrjf3RHiBML0zaxUOkze61YIr2XfkO3B8P0Uo7U231JPEhC/\nedNfbof+goDwS2FCXr7tqm/NH7ZpSnEVCaPR+nMSyH80oKoeTXMI99A3S/n8\nQveLLZ3YxlO69OsUb5Qr5e+4b/DMrcrjRcFKEip2Bn8etdeGPJkrzp09UIsW\nKEWr/e2QzRNQuPryxl43dd8OMnoXEFDN/k5tXJUn6dSwg4htccK2h64Qbnjg\n/R019yhYqQJZsqWA5G3Q1yx+XuIisw8JJMAtpyJzv9V4dnAIaBK2RafmL/GR\nDw71lTK1EWqujpoArXTTiCsgubAErMI8BZrCiYk3CpW6ZVhC7ek7qZmA1YHe\nwDRMq8g7sRfH2VN2Ufe2tmNilThgHGt/mzPSeq4ze/hNM+rj5tHj9CvVdTdS\naE6Y\r\n=uywn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"e2025b4ba4d9837dcc1063934417df1eefaf29ec","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.16.3+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.16.3","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.062ade5c0.0_1571274074237_0.8296220913319841","host":"s3://npm-registry-packages"}},"4.0.0-canary.774ad4f8.0":{"name":"@material/dom","version":"4.0.0-canary.774ad4f8.0","license":"MIT","_id":"@material/dom@4.0.0-canary.774ad4f8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4ec5abf47cb519eee03f611683b5a9c58e5707a3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.774ad4f8.0.tgz","fileCount":17,"integrity":"sha512-wPVTD4Wn7gMj0mfA7tdx7a0fCalTx4Mj1p9e+NqIWoYTAbhKhesIMpwxqb1oCwndBzAa/eR3e1Hktri2HnxJ7w==","signatures":[{"sig":"MEQCIAlalFM16ox6iTZm5dn7z1r+nnHC5IKTF77rU/heKWmtAiBVh9IywN0UIueEJyhtieAYK2SmmpHPUzCR06sjbSbTyg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40269,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdp+gsCRA9TVsSAnZWagAAsO4P/2NOO2szgA5YRZYaSFJu\nnasMqWGXIg3AUk3QD6NuexMt1NRMPWjIPoNNcinMNOE7isM53cg6GuWuRYkn\nCRE2DDV9bCuXENjX1zoCq2gPAKmFZg2Cbzi+Uicw/v+FRWv8ddd5qUn0NbkR\n1eJ7Tmx1BxeqGf3VxQkYoUitNioIdjO34ZWzEQVzKLNnavYPx8gbeqkmQRFB\ng4Qle0MySf8FRvXmyUWirTWi2ycO4zprk4FpnuuKN/EzUX3IM9kMEaRuDLGU\n9H7QSndgVx6A1r1hZpRABZLN9GXpCQZiEYvl6CxrP78axB0sCrftShpeNHOG\niJHR1tF1hI91gPMYhHyewsAJ7dlDJ3OMLIgDBlmjS5g7dwCb/XOrp9Y8nulI\nwAdQKF/mWMdWNxUy+ZtTX3VircIxanu9RV+VVNtBrkEYt76ZoNiKGhRO0JKq\nq15zi1hPOtmwC9P5woxab1V91CMJH9Y/ajkN92eQahjqqNA+uSIkdpIeVg43\ntCt6nXZWgHczgDujFaZ0EOH0DY9rqSmWYpfK3CdGeD9EuNscz3xQZB5cyehb\nHzz55D3ieLzSmc53xDeHxN7XT7P2I5sQ0THKhRgudCV7uuCldfze29mP9/jj\ngusOKXWOyNTzHPWTqhA5RsFO++w+AlBt144+xfN2G3ESND9R6t4GNy+SXwhC\nbiJD\r\n=F7ma\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"66607256fd6f9e4fe92319b094d8476583109bac","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.16.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.16.3","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.774ad4f8.0_1571285035452_0.9682546571352215","host":"s3://npm-registry-packages"}},"4.0.0-canary.5916d18c.0":{"name":"@material/dom","version":"4.0.0-canary.5916d18c.0","license":"MIT","_id":"@material/dom@4.0.0-canary.5916d18c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b73e8a17d1d911a56c9ea3f197acdb893a8462df","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.5916d18c.0.tgz","fileCount":17,"integrity":"sha512-d3qAhU+2Yv0+X4SyWntLTlLO1bTCzrW3qv1mN1I7FwF24LHFpJiG6zWA0m2UjHA2NqcuZ4wU5eofRDoGzw+w7Q==","signatures":[{"sig":"MEUCIQDcxa2JlZOOYiYOq0m2LTkEF9CQecnaSNla8Edd3kn2JAIgEjyAIAotOU+YQ619tbjLJbLgVDE/5s8TpK/cPq/lBz0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqhuoCRA9TVsSAnZWagAAYswP/1HmekyvpJY1KcYXpND6\ny2JzQCIjZ84u1mfl5UiP5Dut/4IWqAbhRtwwNl2Xm/47Neepok0pIQ1yEEgO\nm7nZ+3/RvvX+uTsxtkP1e2EueyfILRVOl1sQkt0xrzzUGT9vFz5UgmnUorGE\npm+lB/fUJhPiG/QOldl+PVadU1d1YAN35NmNlK5/8fk+HJa8+7trOzwWJUfB\nEcoSLTsqcoZGvbnM0xSpWLPyRRmqAKshw2dHg9RKdJx9Na8v+zzXis8s/2hc\nRqs4V+bskAuzMTsip8XI4zFy6HRGvHW4/xVlbczyywifb9/bq8yMQ7ISlGhj\nIXeo+Kek/TU5ULl0LnP5xN46agc+/26VFuZuD+u91Dz9Kf9wqUPm9dfWuiPh\nmFdFgjkr6t6rwGRYpJf+qb3yMkGrL2lQaOSYEvEqnbgbMg+sCqlCH/XYHv7B\nSMATslWKBd2/F3R9Q8p5HfDKPZKMjJYw4KDyaydVxaxhUGZV1qVvEHrIdYLh\nfJY6ib3a+V/I6JdSA15y2ruY8rv8muxrGA8Zo7WmhaZ1EK+7XBJxQdX7R9ON\n8IlyKufcwwpxxSaIB6GmRXf0+MrlvJfrNhmKY3ExZ0Y8unNie6sXQhLnvcvS\nfPjt01qCrMNOgp0bIzl9flX66hKP/6WRFKPmfRN8YVFJ9UY4UQmoGN5CmpOB\nONSY\r\n=lXzr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"e3338b891c5ab3207ef8340a75490415e30e313a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.16.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.16.3","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.5916d18c.0_1571429287721_0.5876962202374194","host":"s3://npm-registry-packages"}},"4.0.0-canary.d4141c95.0":{"name":"@material/dom","version":"4.0.0-canary.d4141c95.0","license":"MIT","_id":"@material/dom@4.0.0-canary.d4141c95.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fde00e46b489aff6518e7d9259440701e1fe0f52","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.d4141c95.0.tgz","fileCount":17,"integrity":"sha512-1T7uCj+pez13KByk6RpXM/bVNI+STHtyuvF1oyMTNCZZPZRZbd1M2VGWWEkJ/fXFdsHiUyrxVTDoadnKOn6prw==","signatures":[{"sig":"MEQCICf7eKgjv/EAvoMrwawL5aTpaBepv2g4mb5ICu6Y8yYBAiAVZAN9OxTt71Il8rHtGOZPwQLHbw8ce86w59dbqddI5A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsQBuCRA9TVsSAnZWagAAKc8P/0MjFZoIL5iEvvHgnUsa\nU/q+Se+dHvLSQPff7161NcKR4eddpm49ClPzR5H0OxG1hp4xfL0tKh4xZXBK\nhUVGeUsAi5L76fvLm4hwRDd8nF6IMkBbyaDzfpGO66qblUPfgpW4MbNEdVkb\nBku7WBmvlPM6Lgn0As0pX/kEsEe2JjhhAKhh0rDajibyvLAz671qLLcgaiv8\nZ312G6lSIj8ES+nq1MsGCwDfC7XDorUb68QvlNKkgXtxt4N4uVFAq1onKALt\nEceXeELrrP4aoqPNViWctu1gyxAD/8UJYg4jo5EEWDJMTCAbzG5OQklkc3VZ\n6BfbNpAfra5OLmOVcBM5+x1nSKJjbUVLr2c5pIIA/Ne5zKXHBFHgEcgH5TZc\nAAgGGRgq3+d1QSIJf4UR/0syQ90Atfys+eQgZqA85x2xDZ6J9DbFayOPSKAh\nCId2G2PSzS+0uGrmelhcU9QUZFUYQqhdOW67+KuOSZvGcmB/bfaMJTOdEnyV\noCIE9B4/MS3S2zxc8cyzLb8wWl9gzz7BbRs9/TprEh7FNUWGpuomQdRqwPDE\nxG5JA0gqY6GyVFsXOQaWTFK7aBqDQ0uoFisob024TM7Sb+L2UYBYMrxGwOAl\nGz/sI3qD56oBBSWS9X5ugFgBXmE7YsSp5QRb0/ntvrjIvt+ls8accXXV4Gra\n87nD\r\n=aUHZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"10ba5eadec617b7fd2711c838dbbff788d6f209b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.d4141c95.0_1571881070215_0.27694610654256935","host":"s3://npm-registry-packages"}},"4.0.0-canary.2b878b3e.0":{"name":"@material/dom","version":"4.0.0-canary.2b878b3e.0","license":"MIT","_id":"@material/dom@4.0.0-canary.2b878b3e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"65fda38c50fa36121664334903d93f7b8ca5b237","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.2b878b3e.0.tgz","fileCount":17,"integrity":"sha512-N/jwDkwGOtkH22x9Koq1bHSggWcb6jZa2LKGvydlM64unGglqEWd4xWRx6fdlADTjc4WAP7663iZt9D16vd3ow==","signatures":[{"sig":"MEUCIQCiSny/MQZuAJWFLVDmk05NUgP2bgI6PLqBe4U57eYkhwIgQRfJKYuMW8NGnQVmBVOR6JfegaJqggrkjaHgcwJVxpc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdslmICRA9TVsSAnZWagAA7ecQAJAslYdIKeB464fzgmgv\ndRhT5dF8jdUpeRSJDMP/sALDy1u+T1tcpoTn3KAb2ny4n4y//0tVgCX9wqqE\nIy88nG8AnrOWsHVFhIzE5D/oZ8QbSaOq1NnGHFMASAcCNcP/uupJax59NZCT\noFhHUm1LCKCDDOV0Su65oESB7LRZnhIfUmGbuBzbYa8sXSTkL8yt2m/dZI+w\n31Cu/b5j4cfAD27u6oWnTzFmjXJE3QVPUoFG8hFlj9Ro2yoJBXLGAGpF5RO7\nsZ6y6ozEbACDYc7EAOMbf5wU6vDAEe2RZiVuDcJl+OFJF12gbDBfLL9RQ1TQ\nVmoDzSsn6rHm/Y7LcrK3eBpGyOQp3zD7kiCnBzbtnhVtDx8zFk7by1FvJZ8l\nugwD2ApQvlO5XXrWloc0ozv7u5PeLaEqvra5UME3QkCScOb+2mHM61SdViV3\nVMq1gZDxJqFl5jMPhcBTLwg4nlwUjHztE4GzXNI1qTQ3Ayigfh6Pt8rFWaol\nRa2YhlTn/yoxUxldolKr/znvoEqaf3xGFOZTR4ehXCl106OiVopj8/IakjdF\nPln/XAhjhTDctAzz+2Ux1+VnTEukjPSOosaLffGhGW/QzgFMCPprHLl/V9Rw\nFbSQHVBkDCl6WyASJELbdQmMdk8Jpc708XXNfPBgXwjt3iRtm88OWK6UqEPT\nXJLA\r\n=ZuTm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"29ace6a085b0e37c6546b4613abba6356aa82430","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.2b878b3e.0_1571969415768_0.6312871163361828","host":"s3://npm-registry-packages"}},"4.0.0-canary.b06c0efe.0":{"name":"@material/dom","version":"4.0.0-canary.b06c0efe.0","license":"MIT","_id":"@material/dom@4.0.0-canary.b06c0efe.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"812d42298ddf3a32c1fe1b1f9f0a90c15833fe5c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.b06c0efe.0.tgz","fileCount":17,"integrity":"sha512-T8IMZKnJOu3p9tltdRBo0AagG+Ux/PN886ONVVNyxKieLgpRibA9ntxHIccfiZlF69IhxMPoQtc5FiBS8iFiYA==","signatures":[{"sig":"MEUCIGU09LUM/fm+8FtXx5vE8Rf+E9eq+YdvCHpqhd/d+O4jAiEA0ypXiTofHgtN30932vqsVwi1ydl4XbE8/IPgD7lln8U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40269,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJds6K1CRA9TVsSAnZWagAAMegP/i8mKq2YFV+DRz1Tx6JE\nsu2Rwns090XbSBuNXkeKoZ5X6dEiePKfppoYIQeWAFgv18xoCf8svmbD9MRZ\nmDT453VGFqRLdfUGV4WEvq7QgS+pvOkEN12XEodSlNGoLaDsChfLGzdQp6BH\nIlc1YbNLd+kf1GD0430wXZx946kpuCpSVy88PlWjpzOtmIZQb2Ssqe0kltpd\ntUHpAvkcG86UZoNdyo9ngWG1YReM2H/OYv09Yur2OzpLwX/+VMyhAJPXywU7\nN8MIRWyS1CcnE22v9v5oG4H9o9WcFH5RE5WtCAAZnIDCt4nww/YT09B+Ytv+\ntatUIfW/K3lVi8BWU49dOmW6qXp9y60kJdY29vYuP4EfBSNYDRMWEZ7E43Xf\nZ8ECVTw6UTog4TNQOqP5Z9NIyfU22i06NQN1Hp0RWkN8XdksImPz33EdUh5I\n/3HOlgeFuV10fQnKvADRiypt6k40HLY4C7DR9TAgWfZ7e7lfVMIPBhPhIaj5\njYjmVFBaKoztzhKqVqSaZi1ZnA7HZTNWwVHQ6zcciSwOHdY5/ApSrXSg2F6f\nn7tOrFeYe+VrrActqdgxU1YUQcTuPeaRRyYZEG7wyuhC7bYKlofMB8eum7GZ\n+Z9oRdaYO/yI69NPTIv9r2hKSDctjuFFmyK0O1vmJFvl/hBWV6fQvKnrgfvG\nKk2N\r\n=a7cy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"023500a209a10669d135ecd0a8f00995f84b135b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.b06c0efe.0_1572053684722_0.7526169485648087","host":"s3://npm-registry-packages"}},"4.0.0-canary.01628efa.0":{"name":"@material/dom","version":"4.0.0-canary.01628efa.0","license":"MIT","_id":"@material/dom@4.0.0-canary.01628efa.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"05c4a2530ca37ef134800ee4f7c6903eb9e02261","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.01628efa.0.tgz","fileCount":17,"integrity":"sha512-G4wJCLIjj9v40vX/FiZNBGCwkxklV5SVUg91Ia9Gjw6/zsTgNvTjzv2q5yGM2jry6gEqdeYeVyti5hI2yvvtUw==","signatures":[{"sig":"MEYCIQCEXPWoNPWl5i6pVkf8irAHPANxvt00fK/U+a7ZJWc2rgIhAOWfP4FI93YVMlnDLwWI0pPnCWjh2lx4DfZe5wxxcTXZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40565,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdt4GbCRA9TVsSAnZWagAAg/MP/Rnd+vlyfv2c0t1OvK+R\ndUARi61cHKvFRj13Vxx3qw+bl9sNFatdQrF/4GJ+PJWOvTrlm8vatNSK9pij\n4dkQWCUL1jXaKNZA2Fz0iaFZSnhhkcksDWSD8scvjDWWW8IBK9/9k1syVEcA\njMguIwPcMot6jpjhaG3BfH2OwzFpiEm5aIgKl0S+4fCkoWTikNiWkBWbY4n8\neFnlYS0KFHnwYkdWyuN2MEfpIcFUAe8DT0187QdphicdKOv6mZfCHJL1tHPR\n4LgMBEjAlFA0teMUy7YYLjJLmkTgJUT+6pFvdkgweRV6d3HR8QYLaoz5IO6V\n0EhVw6ZFeDso9mrJtYXOZGjwCTJ4d2G3BcwCCT2Z/WJY1RnR1auUkThG2Wt2\nes2vGf5R2wUGh0cvc52+CtaOi3hAvCIsrUdcAPLPV8JmfdKAKuHdASg0bNOO\nVGflHb3ppa64itdyJEjLk5shyaO2MhFd6QrxFyK5aATDFhGDGgg6nGR4lDle\nlgrY8Syn70a7dFWmerFUDy8cuAEQJI4KgHsa3O10H9T1qcUDWHUuVVSUgPYi\nJC7hLDXtgA1seHlgae6puPm9xLZ6bbUz/jzOmq0gT+11c2YTnewhI+OGHyTR\nX39tqMzJQUjA3A7KNBrz7kMKe77kZNZ9/yBqv891lb3uyQuLORjdLprm6Jrk\nyEsZ\r\n=Sf93\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"d736a6d7c49f31b52dc64101effcb7cb18ca6cc1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.01628efa.0_1572307354627_0.8987188054474631","host":"s3://npm-registry-packages"}},"4.0.0-canary.b5c6d66b.0":{"name":"@material/dom","version":"4.0.0-canary.b5c6d66b.0","license":"MIT","_id":"@material/dom@4.0.0-canary.b5c6d66b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"42e6b8b44fb0bec6daa6c4d1b4610fe7581ab56b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.b5c6d66b.0.tgz","fileCount":17,"integrity":"sha512-fcsICRdron/3iE1TvLUblyOPmn8grsF8ZAlu74Xtsa8bSA7lbhubbu/affKTod0V/buEqMhdgI/mFVIWiEuF1g==","signatures":[{"sig":"MEUCIF5aqIzv2k6nZoi9b0IkZSCJ3v8MJWBPKXsBl3nFNuCRAiEA/Ul/sVNed5mt1L0gpLDopQ9RmybfIb+jqeXMZXeDJ98=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40452,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJduH09CRA9TVsSAnZWagAAw/EP/0+Mxm8ExlSSmj5Gyhrf\nLHgsaaieBiIeB6QBTZwqcAXatOzfAwZCa5rjP52sPWFhDYLxiaS06iO4RZkB\ne3qjbFiZ+l4kBbFJkXlChk+SaQs7/5mWl/vcYLdCftiFLxMcp+s5JxRBF9Nq\nUNOAjxJD18PehU2WcEgnVx8Cd16FrbSvSb1DMj0iG3EkC8jREBUVs3UV12+y\n67+19IKLqS9oHFnMHVYKI15ZeeKIdvUILgvrVCxhLZMptePPnyo6c/vOt/fX\nGISXSikrBhy6J55NgAvo6dYQ4LF8tICFb8zxjzuwErDknpzJ0xPZOySYr7CW\nZHmk1AvKL4A3mjgCQDU6O2JyVfrBi5lVZS9g75hRT+bzPqgAFvqGVZGpDOm1\niuPD0RVmjQv586cprT1K81fiEav6if/yELr6oZsLsMS/EuHxiohwKFwx9bNB\nDpS96KEQdsJ7mWoSbEyo1N3xrLLBJFd70vmCfy0pkYY3lZz+NIfhOCLLuGbR\n+EuGFcIzZhrPPg5d2/OKtt3YwDrpWbDndHlADInnEbpiXDAl24cAxdlR5pmr\ndG0HrtfNdrXYh+VuHJVfj1jAbx00Lp8geZDrJXAzbsaUbU2TTQTK+r+RmVZ0\npBH3jwrrFrxqc1U5k4KKi1kwAVfDsdf2AJcjXdihR0RkIdZp+Wb28HCO5LTB\nyx4u\r\n=Hqej\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"a29efb24799035b1ee49295daebf1ae46a92b529","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.b5c6d66b.0_1572371773581_0.18885403614917884","host":"s3://npm-registry-packages"}},"4.0.0-canary.cdf858ea.0":{"name":"@material/dom","version":"4.0.0-canary.cdf858ea.0","license":"MIT","_id":"@material/dom@4.0.0-canary.cdf858ea.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6435431bb66e841e8f5a9c7159eda67e8e260e1b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.cdf858ea.0.tgz","fileCount":17,"integrity":"sha512-0OIXW4DOdLYsxK4+vdHkVR5Il3otDAN/WPyKgm+XnYc2Dog5iXInaSRKJzcO/zEmhezqWmSMVNlmZmlE1N0Hhw==","signatures":[{"sig":"MEUCIFkDg35dZRqFS8SlUr1R5XHASrJgOctuh/X0VoW0rvTcAiEA/B+to/liId3vpAE+AA1kSiuxWkxKga1JAS9PxVvX8m8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40269,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvHJACRA9TVsSAnZWagAAwHYP/Rsysw4GWC2oe0Ykc0Lu\ngpLBhJg0NAZON1kP9YVr9nxCH3rHUKBeU+UOWW9/wMmWnHYw4FNe2Nyb/kSy\np51asZin7eA5FYT7YA2KxeHnA9lcJLjiJEHDsXid4qgSa7fDFfRSENJl47Hd\nPsT/oq+ENEc1ectg3cX/p6umQZRVZHOUsztLw+qiAqmsmtHkd2oZf6rKRm1q\n6XbMgPfdvBfYYf8PPm8qllDrwZQFq704e/BUpmalAsQhilxy3ZtbB+xattky\nPjqaBrpVCJhBv7QxHFsLHF+NiyaGpYkouJN95qm+OVBoVz2NtwTmYt5sJCwj\n/aQhnQebvqO3wFIeYDOCWkzenf/2mpfwruzq2dle9sqaNesdUbJvYwZphXra\nS1exBJmJ4Pre/dO7M2lEgoiF1kTzSPi5DBDHfgyrm08Bk8+geIi8WtklTHn4\nk/y+oO0AGrWCr3gfLxpWC1zUUsqDXTL7sOEX/ek2QI8xE4r/UVLmKUFx+6zX\n3QfMsRjpvHwsCaye/3/5XlgFiiYlF2vTI7vO81T95vEEDexOc8FlrZo5OIM7\n0ydaFPDwZwRi/tndjxiFvmB0diBsGQ/Eb7we5CzDi8uUfQsLn9tDzN4vtIEr\nQs4qC4UlwwkqiFIaaEdXOaZXlP7jdQ18C0fI+HX5TwPxPIfHxc5UeHSwV12p\n2Qh5\r\n=Uhsu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"436b9be1155a7b7c0fd4aefe795809bcebe8dfda","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.cdf858ea.0_1572631104136_0.5222736319733916","host":"s3://npm-registry-packages"}},"4.0.0-canary.719b57e1.0":{"name":"@material/dom","version":"4.0.0-canary.719b57e1.0","license":"MIT","_id":"@material/dom@4.0.0-canary.719b57e1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e24d012cd08533221c9d4ae180e9c24af0ebe511","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.719b57e1.0.tgz","fileCount":17,"integrity":"sha512-uaMABAD0wY8gNhIo+bTh+EtQhiFCPGrKLKNmkrOWmhNcSr8clBfrJmROeCJRJSkxy9VqDnaB+HkyOOYYIGBxrA==","signatures":[{"sig":"MEYCIQDEuPYsxP3WRd64SRhtROva+6vRM74PJyfby8shXcW91wIhAJbTQapE6mFeWco8eFYitaEtikPpm04Gx86dI3rzTYcY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvI8CCRA9TVsSAnZWagAAOIAP/01XWDFyvMBwKuYMRlJy\nICsstI8BM1vWVEyu12rlDKa3PtuDzaT9T6oBUQZT3skcDQa0rt0eqdp90uzU\nSvkUKJSllANgI8ep9XdbitH+iSbRTWgO5uyqCt7zcjg4ExhRPedqDDyS+l9i\nf6D+c3oWFh9LrsIoRcnRtN4t7gxA7VfX8FauzA4uQ2vivH1JcUE0CSJ3DH9o\n+2MQtkULI9b+gsz6iVm9rhbp4GGyZBVVDHO7JwRRLs1WVvVRjoJPW+I+YZtu\nVwdn5YgOqYDttqCGOiGHHGCFrjuem7Un/2+ztDgoYOFg1iq1Z8cHc433ajWH\n9wdZbQc8/dp4Kq9rZP5kTdj7FDeBQzttCa6yR6umyua5JgFBMSICABHogZ0H\nTm/TNklPqh/81SkppooKnhQw2N7R8qJBIK6H8s9OK8NoKyS5jsWVe3nHILpM\n5FT/hvF7+StQmo9dfYaMXO9T4IWCzMLl5BmEfJ/mBtBtiHjmZoymL2ZbWXm4\n4tuV3E+B+m77wR1/oQokWkv9l9+vzwoSal1hc5rNmRKdz9CuntWRe0O56VSB\nQ5v+BwNp9MH1I3nlaeFTVFKTtoIbhnIgq4m+7gMQ67O6AnP+wo/idKFQ4kn3\nO1xM51EgM3Xmg2wjHkQew7OX2bF7zrh09jsigBpV/VAeCMoQZfQ/cX4K+oAq\nZscl\r\n=Sjm1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"4184aa06e4862418697a150eaf45a13500e1c4ff","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.719b57e1.0_1572638466055_0.37996269605318034","host":"s3://npm-registry-packages"}},"4.0.0-canary.97cbbdc2.0":{"name":"@material/dom","version":"4.0.0-canary.97cbbdc2.0","license":"MIT","_id":"@material/dom@4.0.0-canary.97cbbdc2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"de09290022fe2b4074b7be6b6c2f3474ed6bf9ec","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.97cbbdc2.0.tgz","fileCount":17,"integrity":"sha512-jODhpn9qS4syjQo+1ZreFZt9qeMGh4nLjqKo7W8I+UGpTTfcJ6cxU4f34l7P4sl8UUYgHyA/tFsVnXuqN06nWw==","signatures":[{"sig":"MEUCIQDUsiivjCPgzLL+25/xI4e6UlKFUmQvqqZozhl8vu1dvwIgP8Pm60EWPtoHCFU+v1TJ3vCP41ULIhz/PIynVVBiDVU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40481,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvJV5CRA9TVsSAnZWagAAGS0P/0ql42fhTot0T9G1kSv6\n66O+nI991tYSchWwRNPCjGuIejuRo1pwVBWq4tKNJ9kAWHLnBXFUDnRah28M\n2XZUw/ae7l0ntUPOCNZGnbwFP9t40aIDCcFUeuypm9PJh/I/ty2wh3uOQC0S\ndFha7bhIiYB4CpviK8rFNWcHnL834fbL/9CAIWaxL9DYAlwvPiLdbdFM29f8\nA27b+QHiPKy+u3AbbOG4MmrPgxHqf9xC9Mg+CICTdHiu48TakfQkrFgv+c8y\n2nCgdb4GCSOxEoSvUR1sMwK9HISx6HCTPcaQHI1ttQPc3rbfMSHejiNufws7\n1ldE/AahPIfJsXdKMjkIa/dKTN4ZFsSTiokZ3qAPPXF8APIf5uzG+F/jNYhO\n/BpyQvR4HzeT6+WYdzNGfL6ZXssjkmboNhJovRLvektMUv7zC3B6JQeK+nVD\nu9Nnj8ThRtOxz9XNBPjnw+oL0WlXMWv5a5XXLFyWv9iXvLxQxayl+rUnoRYj\nIrJr1zXrjWrEq2WzJZ+7UWKO6X49RjF5FcyKY2lsdjZ+PvcLzo/dR6VNqgJ7\nTLJVG4cEXy0sE+R/B+XGYLq+l+GJRTBlFi6XZaBffBPOkw8nOHY0Js4lP6HJ\ne8jSGA+0d8dZcfXNqzvMXLDWV6gS2YQf5boYUIBEu0GQc20MMrzOrx13K7Ld\nWUqQ\r\n=XIfg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"49d37bbcdfa0f5872581945f58c03e62abb97090","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.97cbbdc2.0_1572640121265_0.3697521448688139","host":"s3://npm-registry-packages"}},"4.0.0-canary.8e36b3b7.0":{"name":"@material/dom","version":"4.0.0-canary.8e36b3b7.0","license":"MIT","_id":"@material/dom@4.0.0-canary.8e36b3b7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0950b295e9460cf71ee65e3887178764d8016544","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.8e36b3b7.0.tgz","fileCount":17,"integrity":"sha512-BwwRfmGc8coyiCtODL8uw/uFOHPGyXBHrhrxZmW5aBzhz4a4OS+TZLgQLO86A4gUvU49eq81NPfnh+tAKBkV2w==","signatures":[{"sig":"MEUCIQDaBSnaW1Ys83Anu6LcqivZn3Mj0FPMp5zFH12+T1R5/AIgBUqY9lfbTkzWIkEWox4C8wg9r1QvYGPnzRC0qGorFpU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40269,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvJz1CRA9TVsSAnZWagAAcx0P/0XNydRGg9+DmCZ5yGG9\nLTTc5IjhMJvdKGk34Q8aLYhvR7HA3/7N1aHTmARjSP32OrpYKgmdip0M4Wqb\nBfHR/uWslBJLa+1I1dotTBSNfK049zCHmyFvGP6WFgQene/JRu8Odz2+c4OI\nfwuZCSeJ+54YASyTlAbhuk6alpjNrW9fYmkpQR7gfoLt3xwGLm0JYHH0dzk9\nMzQXGHNKUYssIYB25eycJ70akWBbkq3vygwMgbesINtMA5yOL+e2A6sU06jC\nJQGrrK/HTw03JzWSmI91oVM3YtnwjrWIuXhVwXAqXwoV6XmDnw5h0bjo+mpp\nZvebzx3yigXfC+kAzQHdQFL1wO8U5YHneS8FGVfUTEH9vLQZbKRPRZVC4+Zr\nJJvwIcMWTBAGgxLqF0S+p/oz03xrhkZFC/CLFWfN2bUqDE4M+vUuqqTN4/w6\n3aahkUnCcttkgicgKZBgtl5s7DLNz3u5/zHVELouiqjjUTZExmt2Dvdc8dvB\nZoCvsdguZoDovHlgxB6dMjbAIYA5/SSHj8kR06nJkka7tP+awIGqr2hUUnEm\nVIFJyUzlJCM9GiUYyNzuRbfUN0lIJ9+yD+Neshq6xwR/16xjEMbBt0kSwxaD\nTTxR9XhuM++ZkTDndGH5URIQyOs6qoV++geodtcFmjlBMTXYJCO1e5qnHnCz\nHx14\r\n=ZZMr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"62f51968b94685823af7942f779c63658f2b0350","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.8e36b3b7.0_1572642037425_0.684591257745949","host":"s3://npm-registry-packages"}},"4.0.0-canary.62d3a09b.0":{"name":"@material/dom","version":"4.0.0-canary.62d3a09b.0","license":"MIT","_id":"@material/dom@4.0.0-canary.62d3a09b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1b46f7c5bec7671bdf2dd12bf26c6897896d932f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0-canary.62d3a09b.0.tgz","fileCount":17,"integrity":"sha512-X1z7fikEZYAhwFrYPix5+osOj7wALTX7WIJnPACAe44IqGGzPmV2KlTRrHVawiNYrqCaUrRS4Af96PBT5xNMLA==","signatures":[{"sig":"MEYCIQCghag6l9JCLiKmptyZ/LpnJGclrsHimx23qGKCqdaxSAIhAIO3H88rJsY3nWB+UE07D/rYmzwWidGvCfspcjuZdpid","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40269,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvJ84CRA9TVsSAnZWagAAv2kP/i5F1b+Simc0WiAEi1jL\nl1VC4wmd68e96lNf9czLjiNPMZYXaXymTsvIj07rwFf4RZDO2wUWC/31S5c9\nC3MOzrg4oh4veV4xIvtXIZpNqja3r5dov7kfncDR8Rf1tKLE+c66SQ1HJyl2\nWi7Plc8Vf1u4cfD2ZilopHPmk/hQXCfYBTq6PHOuo9w4IS4piBSIJpSs5Si8\nAgC1uwlXsF5OCNkuaF0w8JvFvNwbd6T/0ibfAxriV0NCYiwIdYnnxPaZFmcn\nTkaOw6VlRZNk5QkFH7VjJOy3AiCNOjKEzIoweuLTEF3ToBxQNtR7rTejI/EW\ng8ToRAopggTGPCCAs7ifeXRteSg6sIpVdQXJKwFz6MJe7Pd9S4Bm6fFEDIfX\n3X3q2344IvzzUZILM3gnumrHhMVeJFzfZVLkmbKBx0EvbUeNmDsjYSM7r36y\nVgduOQzom0xSP/qDxXK+m5NER2aToW0NJnYyziZYuvmwv7Hfsr23ExL4zbcO\nIxnCDebt1/N8HrPlHFxhwqQxFr1UyxGbz1OcKyFATJSz8dVctKjQwqyGJ0iT\nx5KvJR0R3k7YcLD6C+KSB7C9vqOwJFePxyjiwlhBcHOkhTt2ygoVUJ5wFoZb\nKPGVHydkQvUnLxlygsRmtis/LP27rTO5gOW7hjZCRMtt3m9sDU+8TSRJ7JWU\nj62g\r\n=8VJg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"e00a9686a58b0fd5ec957d4008b6674dafd4dad2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0-canary.62d3a09b.0_1572642616145_0.3186133885195821","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"@material/dom","version":"4.0.0","license":"MIT","_id":"@material/dom@4.0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f0e68c4429e555040304c958bb3e11614276fdfa","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-4.0.0.tgz","fileCount":17,"integrity":"sha512-GRCJT9+PGWqygZwGf1XLTrbmzP35YWG7+T0hpfhoIJO8VDiMTeyfvhJXFuA2wh9pD0noEjte0lmbdBlykrbWZw==","signatures":[{"sig":"MEUCICS1dhenR0sJ/+ra3q76qpC1UNCCvQKMOYzVHdWqsYWoAiEA3s137Arf/j7dnh4tPSOBbeTypXh5Zi2eBKZlWyCBpeA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46180,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvcbNCRA9TVsSAnZWagAALY8P/A3KnU1CYDMnwnXwcVVE\nr8s4tLrfxxrzlc0XbPqI4FvERagTaHEoHNgc7ade9hk0QbFGz7M2opu+eSro\nZeLIwkwyWz9/IcwTYc9SXe8o7vS9c6BkZuX/3ykOj7IAzlPkNEKXZgYFtLXT\nj88NlBuuTpky0BYaW4rxXqJhpgRT2fPMccuto7ZaXpgMhQbNBLapQj/B+4el\nNxyox+w7J74PmJjekWwgji/TRnFPU4VGTHmTQfuRJ8iCCtkWTkVFRLxBmCpr\ngBtr2lf6Rj/gG/0gZ0HiJJv7/fmbT1JSXIQb27nr3F9bAKTHNowktZyhfjOt\n6tJOsL9vIc7Eev+YTaY/GRXk3+0RsfmwnoMqmo9HqL6WBcyjBa0ok9l25sUh\nrQlynWD3RBxoeKt8TTauO3wkSCVN/ihEdbyZm45Fvnu2KxFPe+P2+aIsYHj3\nuHeOvUv5xJtTAgW+opl26gEKeI5bRkpumv6jHuzSJWgI4cnVStsP9rHa96Am\nvcUozpZi5ZWRotanBF7G7RVXgtEXeVMQNo7+BsjKXYnz49XAZU6IT7wD/g8y\nV/OSSUxGy7H5R2SokxCCKdSjzplOEbfri+Fv86JRMCtDnXp8XKTXE6OjYmoN\ntrhJTZns7S49BChhSE83BMErCJvnhhD77SS7dg5PE6BXogaYtAAlQ2jAP+xw\nHu9j\r\n=pWKU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","gitHead":"8fcbb009cd3b5cc004b302613dd55ab4b5d6ef72","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.16.3+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.16.3","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_4.0.0_1572718284404_0.7872419269926132","host":"s3://npm-registry-packages"}},"5.0.0-canary.b5eb51e94.0":{"name":"@material/dom","version":"5.0.0-canary.b5eb51e94.0","license":"MIT","_id":"@material/dom@5.0.0-canary.b5eb51e94.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f43ff2c389f8240fbb159b982a6e1ef5f1668838","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.b5eb51e94.0.tgz","fileCount":17,"integrity":"sha512-XxPqNZolU/b/NU+2nJNsf28jE17Myfb2J7ywAJHaFLn+PwdYqyj5pEm2Y63l7P04spuIIKtO4P66+jpxgVB07g==","signatures":[{"sig":"MEYCIQDEyyCy3H5tF11L336pbMisB26q6L24J0h7MKq618xpWAIhAOFuJqf3dgZQ2ZdEt+3EetfTLNrYDrJo7MY12/uqLAev","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxGNmCRA9TVsSAnZWagAAAQsP/25YYSERdrV/9qmPQMQk\nWVu6hPChx0BpnA2Zzravs0JrH54L1q2kbX+9oh09P+t574iB+6287+vZDsMu\nTNsH1rernRZ1UsrRK4Z9jrVIvujOnqUSIk83YSP7ybnRDehEBcxhXAUFhh9j\ndlpcUgIgcXgGLjeZDYUzyouKHHLquCfQnUz2+ZUAUvA0ygXqgAN6SXknGXKb\nRcY4c/i+ONmH+tDBMoeiz2PXr2HQwR/Npv+33baPtFo+A4dXBmWE2EzuqGi/\nnx9K7etDMphHoR6BhpA3/bwgo0YW7ZdfeWv9kCthmIZNRdhnDRR68jszvQpI\n8bC9XOgF4auBKooMdECJdPECOIUenZDNwFdkFstcT3mAbxSGGirTWimeqvT4\n3ANIczrSKx7D5EJR5Y8R/Kbg2y181sW31hhScDaD6pzsTvSgJ5RbC7eJHUvU\n7IdSukiZ9kGVq+zLQ5MlS0LCIOOpQPmctVxIoTQKcJLrNoH6UazLiJYbQsBI\nPSfZAhHcjbecVeMCuc9q4Cb8udLxQj1yxsbJTaCrkXxTctG+9d9vGX+FGBL1\nY/f+fqk78Y4Rxu6aZY3SiOcvZyqtHVQb5FzmiXO+/sCfvklwQqRJDKUevm2s\nbmoM69zsJSNt15TMwB4oAf32uOilsXYUCq1vV3F7eDHktlOSXJMspIzRqm7O\nvJ/J\r\n=wVyI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"7e8d43f563cf6b162c2aed47d2a006564994e4d2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.b5eb51e94.0_1573151589936_0.4114267459075496","host":"s3://npm-registry-packages"}},"5.0.0-canary.58500806e.0":{"name":"@material/dom","version":"5.0.0-canary.58500806e.0","license":"MIT","_id":"@material/dom@5.0.0-canary.58500806e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4f6ba66c3ce673270490c56a9a5400334080347d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.58500806e.0.tgz","fileCount":17,"integrity":"sha512-g8QddaxmPf/lrw1hHbxgIoSbqkLWZjoTae7dzObFrhMCD86i4+UsphNGdyAz3hsAtPipxPrsL3HEYX3LVXj6pg==","signatures":[{"sig":"MEYCIQC01nmRTtb4Gtelwnyc3C/Hmcmoe8R1yN3LfPFyDJSHKAIhALvAL7tOcBpla/sbShwjn1B4HG/cpQAvxQpls6JG61ug","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxYsvCRA9TVsSAnZWagAADIwQAI4fKLLWIQBJEsv2K5Qb\nXpnCiZqHE54dlYLfjFvLMPbdtDg1PFW+DoWL6S3wYkvb6nXV7CUoqfZuERHS\nTJfXIPl+SY0C0ZfemnG1dCH1D4Xp1gZR0s/Y7xA8wNTBM8D7iQovszZ9yO8I\nq+g7SyD13qdIngELb3vL23GjPLiynXN3FHUcU27az+g/fWVx7Yza1ddsd0FJ\nrtWPrIYSBnskONPYRte61wxFOekl1XXbAe4tNMNFDz1mkurCT6i+CpzxGy72\nPpQkEQg3Z+icjZP6buJ6fazXLfdSaNrm3wa1P4ERK9PW2bahPUPtDJk+TASO\n1DKcyNxn3SVUWMv4+3Yz/NLBm5ZyvA4t5nRMkozXyP622EWY5qUELrq72L/Y\nuonithsak6PvQvOGcBynhSUj/PAkivIDYu3MaTwSTQFo1vlAk5OuE1vtWwot\nBXGDTUbfEdd0o5so2cDzjR2THH871zaNkNC6qnZEfUIoWjjc5h5+Uh6sG67H\npSgHeHNTU/FHRhtd/OtZoyjyC1r8RfRL4a+OH6YHmf0Efn9j/DO9rXogjGzB\nyr8zSAu+I652oGofozo1bAl6no+vibGkDZp2O0VizunG3uXYqJfDYc/pO/I4\nwA7TJDiFGk+eo1XwtATz4OtGZkBhvHfgzAvs6LeRcCR4ybdcmRsObDhlOAHl\niNmu\r\n=V9a4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"b155f26dba1f11e3c9d7d0fe036cca6da8b37a3c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.58500806e.0_1573227310855_0.40119787329988954","host":"s3://npm-registry-packages"}},"5.0.0-canary.66299b646.0":{"name":"@material/dom","version":"5.0.0-canary.66299b646.0","license":"MIT","_id":"@material/dom@5.0.0-canary.66299b646.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5e5cf7534bf0c3f6153e7093987f3a866f0803d2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.66299b646.0.tgz","fileCount":17,"integrity":"sha512-K65Z+Lk6wQJa9zIqGfUwQ9p0zgOcFYuN1k3Q9uge7meVQvlMNHbu9t2D64VCC5LqucmT1KU1NG/gMEjN/HeTmA==","signatures":[{"sig":"MEQCIBSeIuO6hQDxoejdithvd+8pmXkf783+S6NOb1O6sHzaAiBPC28eyspk9fBDxYZ6CVLYpyhXuS+XQV/xthFiAeNuYg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxdENCRA9TVsSAnZWagAAL2AP/jomSxnVuPMw76BNQH4D\nccUsbvD7lLt++V/xZDtPG98UNLmuAyKZ94FXQ4V8oG1B/fDsBHivW4h3Hd8D\n5BTKg4ZNQbEn1nS1xJ/xmQdyRHs6GVmgFC7Tk5K9wQ0vbp6K/vwohp1g2rAs\n1M50e3msAMWY1R4zDotO77BTeL588jX4MsQ7NRGZePLezDAXNqtZ/kIyzWUP\nppttO+vfGy+35C6CmuN6sYDw3QCthOUkzEfrkahnZ9DcpUNRBlRn8lDIwJ5Z\ny3GZg4wcSsSiTHu+DDA1GYLv74L5eNX5T48diuluiHm65W0VWemjvYutppmg\n/Yeikpyjom9PQUfZMO4hj9NiAGzuhnVAFBY7W1wTsxIYE+0KVVayT8tsDBu2\nxi961e5d2XJVyQhDO/RWermwyonuZBWg/M5quJwSypkfugcRzrmo2tQ4DSn5\nRks4yYWfFFsV0+GCZ4M73oHHLu0Ja6x+jF6FNj/TwjIKHV+jleG2cKECqLMk\n6FBWpUrAmvQnqN3DZBNnhL1HduqqsJwlBn51SyFG7uNKN20jQtwf4N5vCArA\nF57AaXnvNqM9Y7rNsAaueqIBDjw4ywNAUvb0V02c4nJx1XbZHTi4eTKQzjFF\nTSM1zq3FGfRGPqo0TW8Ls5YLnvC/F3r183eYd/Lo9XRdi8smkImi6e8yMn/m\n3QA1\r\n=3jvA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"4bcc7c183ed18cfdcbaf564e317231824ea91b6b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.66299b646.0_1573245196668_0.9434617356827164","host":"s3://npm-registry-packages"}},"5.0.0-canary.821871e04.0":{"name":"@material/dom","version":"5.0.0-canary.821871e04.0","license":"MIT","_id":"@material/dom@5.0.0-canary.821871e04.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"75e7f0947166faaefd6036fead7d8ce227fedaa0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.821871e04.0.tgz","fileCount":17,"integrity":"sha512-nqWIoYIDzkMe9hHnRQf3FRe22+SCBmugHtqqDUFyhXar+Fe1B5ZKyiZL7HPCeS6fcrFTehQ1v/YOvYHIf59dEw==","signatures":[{"sig":"MEUCIQDeSbpu9psHH58SVEjAwoolakxRNbqfNXxEl7yMM3jOQwIgH1E7Y7br6QTrEatTo6S/V1fAc/ZrBiiSZsM6lus017M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxd3SCRA9TVsSAnZWagAALToQAKC7FVB8SeauFmAoy3/w\nk1C3abwvyfdDyA6PbKSRzMOmbu+2tsHx1+FZX+qSQX4qTst8GOT/ENs+riFS\nXeZ4D/LJ13Epi5ijX9duykeJ7pTMV+ZQxSc3nI8N95pyTah462yL18vvkA52\nC6KEbdMeKa93NcKobRtw0yEMGA0OE+EswBWuBVjiLuBsf4/7yyKNcsr8b2kw\nmPPzZqoK6P870YbL/r04EZZ1cGBjIwWDNpX2+sZXC3r5T+G5hQCFz5jJFmqW\n0u2CTXImWXhBchH5p0kSxDF0+M7bUkQYRSD5ifZ+GyWDU169Dsh54mw8tTMm\nEc3wi8peTONSnDSCxmbZdUSjHjOYaeI4DbeOmuVjZbJc6aOEiftwBW9jV7jM\nwzfSMPgobMY1jL/xXtf1YwUfdP6AsOJRt5BdTJb9q25kCfku8qOzzig9DDMk\n+JCo8c6su6pWU/rCHuLDPtYaUrLKs3CgUPZW1l3ahceiY6g/dy9+yE+WImSn\nfTRW5FnbHm2jkC+Pr7C/C9lMFiggoZerdWzyNRq0wGXLwZHdMzYaG6MIVjKQ\n+TyBPZfYPV4JJjTZla45PT0F0akkYxd32B1YmX/U71mMm/tI7+M63dIeYgy+\nEq+kZZaMmV0F46I/4Yc0qzJuxhcR2OiRHhaliySa6LqTJx4rxTRQWatQ7CWM\nMOn4\r\n=VUPV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"20a91d4645dd0fd2db7a61459d752f390e050899","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.821871e04.0_1573248466219_0.34768697906919965","host":"s3://npm-registry-packages"}},"5.0.0-canary.491fddc31.0":{"name":"@material/dom","version":"5.0.0-canary.491fddc31.0","license":"MIT","_id":"@material/dom@5.0.0-canary.491fddc31.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d2511b947c58d0ff67c89139a7b6b2fd3118fa0b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.491fddc31.0.tgz","fileCount":17,"integrity":"sha512-nwt+nOd0ywzPZzQRGwAeTndug+Cns7R1ByRgUvmHkc3CdiiwMJZEDhhBozs3I2ExXmtWB8zb6R1ayYWl2T0qpQ==","signatures":[{"sig":"MEQCIGo+22AbORrcplGY6TqMI1wmkgcDerxcNPiws7O9QGWSAiBPnbnZFCyFoCdSezgTUgsNwLm2gglITlcrFYUd5xgnZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxeb3CRA9TVsSAnZWagAAIs8P/i/Iixm/Ep46QT/NusLK\nYmZi2JKghAX7W1VDHSq/HohAYih32SN/YjtZZTyVUJIL06r14n/cZN+fGSId\nryAGorEuPZy4pAbYgjrv+4oieezyH6fBzJkuI0t0WcWuOF9MaO12Q4whDmCy\nb5WDBSZSCPlRPOh3fKzlJbPlvd6Bxz+oLXxaXiGDVXEIGRIlT/NQjbTdKmXn\nO9sa1dD6ALD1BXEpywAwhrYRb1e/LPYo8yqBsQHoQ3U7dFBpr1cGH2Lc6aj4\nOo7ICR7BAqVaV8l7U9ju4jDc0vnv/cMhBeuqhwQQlonvn2Zjyrw0dPiRSnfZ\n1pEt7F72fplg1/YUheYwYFGDON72GxOg5el8jFEYiaBcYXG4+BQkkaL3qoso\neYzFKesFWWSW0EFOp6/FFSKTibj+RTiZ/fwiY1zUaT+9x2+j5ycrdG8n6FjJ\nfgKJbrEimZbFcwWQSXOOOToUxpn8Dubw3dC3HdGcWUIK0bHN/OeH2CYxe+35\n5UWAmzt80F1KlcD1p61Lnv6FlI3eOTGi+fsrLJ1Tn5O8vNHdcVSS1pnyyw6o\nIt6INM4XkhJQgH5moIfp3payJuwUhhkfrSrCCsJmhDQ7GGmE2ydmR8b4Xip+\nlQeYE9G0ozjPdZXmDvTs1rpLpAgt2OIwnL1YB2miMrK7+APwPDkeMXmgO2lW\nmnKN\r\n=bJzI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"36ec62985e32e24263ca2d444e04a01d98ba02eb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.491fddc31.0_1573250806718_0.4968120673062384","host":"s3://npm-registry-packages"}},"5.0.0-canary.b0cecf145.0":{"name":"@material/dom","version":"5.0.0-canary.b0cecf145.0","license":"MIT","_id":"@material/dom@5.0.0-canary.b0cecf145.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d8b3b7a096fa8c4936a3daeb3763c7db91e82462","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.b0cecf145.0.tgz","fileCount":17,"integrity":"sha512-Xv2QYgGC7ko1yhrOLItFgXUnyj//+2YpGg8cD/fzZdOwJ26s6ixSZGoXgHy/sqwhMX5Mk7UN5HC6jFS0dTIEtQ==","signatures":[{"sig":"MEUCIC5iDuZ9QF73TiouBG7FwatfYGLTcskzuqgrAqnbk036AiEAuRQI80nmPaqZPdXX/bxy5SZJosSmOqyTmcCIUbeEah0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxwh5CRA9TVsSAnZWagAAXl4P/iiN94Q/oUPL2z8hQ2Gr\nqrTr3vacvDawOOZOHkc16DNrYRz3xEaAitlBBnX2gyVnchmCD4/bUF55l9Cg\n7VoZkJE7CeOhY72rhGxdi8IhdYxyqg4RSR0eug2o65QVkXFhC52u0KP1zc+u\n5HjMVTfwSwopaKeSxJCqT8CyrKWCTyLkGVW5RNXMGJsrlfau/zcfoyLgXewB\nlhCuapuAaHzNU6FzfpOV/PeKTI4EHTCAso4n2+ZIyPl7DlItH4GQE7woOKvJ\nuJhKXUujnN5k/m2DY45ATZbDfEtaNKlfZchFVdyVeZuXa51tUKFoQaGK4MhP\nZuomzT2THALxDCvO2kywDORMDijdryjhM2mgF0futvH2631xk0uYKzKZXWNM\nBzwSCVfUnE9MXYC4+7rzs/3hyhIauo3cVwMb4Wx7/VXfZ3rSQoEB0thqax5R\n1eKCVqq7UO8a6sVIG8Rbdi4GkhKfcIDu0+ACIeOTDQ1vK8VzvK+zS2EyqGz/\nrkZfQPtz0+DJtHVST2dmopm8xJ93x9aDIeYB4JB1R2hoiQ2pgdEgbLdVm/GC\ntnD51ON0nL67hP5HQ0uQurQdl74BfnLhqgarq4lzzp4nURmpyca0qH79zMz+\n4FX7npfmu9ONwXB8qeCVl2XbtbD+Y+rMaO+0zIVjJrdf/b7viQxh2EcG+/tw\n7Vag\r\n=cZhr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"c20143ddd0d46da106e793fe5b768b628d433923","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.b0cecf145.0_1573324920960_0.7551955639476855","host":"s3://npm-registry-packages"}},"5.0.0-canary.afe0dd1bc.0":{"name":"@material/dom","version":"5.0.0-canary.afe0dd1bc.0","license":"MIT","_id":"@material/dom@5.0.0-canary.afe0dd1bc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"558067d3614f4726b92ca8a4853334ee8f051a21","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.afe0dd1bc.0.tgz","fileCount":17,"integrity":"sha512-CKqg1UElhtzDrKwsZB1/scrs6JE0M4nWldx5TXq1khsJCjWzbRPewYVnBEmaU0+w65G4zDZRH+XIMv7/eX8eSw==","signatures":[{"sig":"MEUCIQDnMfjkvL2Wyzv0jy12yw88JnL5hl+lRFEq6T5OqD6aagIgHx9hQ24GSBlmK8k3l4QiYG3CpSBUiru1WFjUEq++lTM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdyYArCRA9TVsSAnZWagAAcmAP/RDl2qfQs+5aXEpTP+H/\nXcftfeZkfIx5ztXr1xZGZC711ho/ccrrWw3WmCQODGwo8tDQpk55po4mrPSo\noozFniuFE6My3vdae+cf1S3I/5/CZviWGjb9R+MYOgL5ebiC45tSprcFUH4y\nchMYyqLrICPjeVaR4R+wF8/0bXlO221mHAwuF0XLIB00jbUbx/WwJQfD+UBP\ngHNYluAuJ+waYPU8VWdHJZSJurKIqx87E1AA0pZ1/gJOziFASA8v+0Awjt2+\n+MkRQUv8o4zI8Xntb+w2ZeWiPxA90yzMygfRCGer5uo8DjhKwrEuPbSK7ZGD\nc+4UaRI8p+Efhxx1jlo6TudB55QLepwDcBmrBtTwc9T6ju7Rxx7gt0PNylfM\ns5LDd1gBgix9Jg5nF1DvJLA/rhLjjFcwGAtgEyo5hayR2TPUxUvzxRoPEdSH\ncTDlipYAMolAXMfV7D+hZH8WLM8roMrWZ6oDMldVa4l65cokjX8cug7hUiWP\nc0OCNxEPVBO2MKr8EFijtb9MfKYiJCLVFzzcjYdJ95Pi3PretKadGTy/Pwez\nbuavsLaZD/jTbWJr3IQ5wFEQEAsbxs6oBMl9dzdAaUJK4Wc9dChbSjwk7bIW\nGA2y6zF+avON5taJIJyeW4yM5epRVQR+6q70sHKWIl0NiUySwKnQphpqjf4P\n2hFV\r\n=UWXq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"3bacd69fa765f810b8bf40608eaa3aa2df12bdce","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.afe0dd1bc.0_1573486634846_0.27776506043344296","host":"s3://npm-registry-packages"}},"5.0.0-canary.b4cfdc40b.0":{"name":"@material/dom","version":"5.0.0-canary.b4cfdc40b.0","license":"MIT","_id":"@material/dom@5.0.0-canary.b4cfdc40b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3c92d1790e9d930435c6bd92996954d0207c8f64","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.b4cfdc40b.0.tgz","fileCount":17,"integrity":"sha512-UsBeW+LdtzYv7CKwZHvpc0ZmahGIIMFcI7CA3Twli+P76ZtiVSA5HnNN0kW+XYuH+6dtP6wLYXl+caSkG4UJPw==","signatures":[{"sig":"MEYCIQDr4nflWK7u2mFaHVO6DWtCRDUGNAzOL+1VE1SyQZFN+gIhANVWrFumRN1TP9iYBIMWRdnP3KIyhEmIMM8OWeFsjNfQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzXmJCRA9TVsSAnZWagAAXCMP/iCNsBf1JpKWT2L9IB5F\nSDPlAjMb9JuQQ7AO4mfczJ1ndTXQfajcku7g53JigP16c03iiC3YdFUUlpqe\nryQj8QSFWjzS0t2fp0oOuc19G5hFt+JJk7gbpEb4A/XgWHjjhX3MAJuP9lJx\nPuJQXqVtuZTAF6CU5Ype9p0K99QIsp6q0/5MLF46Vf231Aee7AatkftHQdRv\ntKUSfIGY+TsJ4W3BiieexmhQa1+PHPv/9b6TEdlVHn3YmQDWtb4094RQ4Kp/\nsReqdPYjWJxpkb7xOKpulMO9GAB9BJpvq0zmitUro6XzPUdeD/kXI2M0VYVK\nVPnlRoshyAiJdglz9xLxOnt28ZwhEb+mTIHSff7sZ/hlyEiB1jHp8v8dN0lO\ndl2w1BTe2gTJdr24oUa27JnWvcPyoE9hbcISf1CTyi4OPOPWD7+WDJdpY10X\n8R85pswMtfF93OIiHbgFH6PUlwI5EDYK+IzDMO2m3uU1majUyD0ntGVFpuRP\nEWrPX+siyaXaEhRwC6n+/xmDJUAnfp3FA2ytf7BdwHVx5MM3hk+I+d0r9xcm\n8MMdI4BMMYU5WLP1w/d2m15XOxrd6O4ML2YVVsUvenfVsIurVeIXVHFmaOaR\nytCbqBYSILPi7WGymqO0a6SR67RyWNlpHvoM+Hi0RVwkLm3PihR3ensmhBj/\nydbf\r\n=8l2r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"2a81ebd1a573a096ffb378bd1ce7bc223a3cb54d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.b4cfdc40b.0_1573747080742_0.5279449933684135","host":"s3://npm-registry-packages"}},"5.0.0-canary.525989b5d.0":{"name":"@material/dom","version":"5.0.0-canary.525989b5d.0","license":"MIT","_id":"@material/dom@5.0.0-canary.525989b5d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a147548f4a2994709cd50ad4580b70626dc08ee3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.525989b5d.0.tgz","fileCount":17,"integrity":"sha512-zgq0KNbTH9Su7zItCjxPl5BE+6zwN0vv+lxeOrBwUf8m/9SdVsmLXyB/VX1YzAJLKsMc/Xe0hn30DdV5UJoNiw==","signatures":[{"sig":"MEUCIQDn4CrpkhpiAXMJ4FLMHnjWCKwCylVU4WrHBm4c6DwOSAIgPOSIisX0O4cig4IdKECK0CVmNzljitXdlm65GwuNPpM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzeOQCRA9TVsSAnZWagAA0b4P+gJQVhaOkyUzmfbnh744\nLdfePseDyfy14khQo3m+lyoVp8MzY2VYfY38PaCmlPOATJIk4RWLnYhucxRl\n/XaC+pZqjHo5sHgVKwsjI1WFPRKZv3i9KUHsDlognOfJ7wFLk80/excV9+a6\nU+CJRA4XqmyoTkPHc5GThjV+eW6IvbRLKX7vI2GVSaLZsMEO65bCtZ0xSg62\nylmnZa/L2q1c3qoGWkXqHHVR4a1MkuETCXhsduyG+zEKJWQzJeQsFdVRWz+z\nwhFBB2GUMLP86Nk3Wdc8L9kGvpMgWShB3YCZbEiSxy6fw8dvMqnQ3fcdvBFO\nCFepTOXOzgCTbDY6wBwhfYSwCnw1udq8E3O+V3CWSr6WFe8kyE3G+Y+F3CNg\nUzzudSBZ7QWMqruPnnbv9KDU1+6rpJ1MZtQj0G7z4TkmUn59MDlqVl7Y3wYw\nhe66XX4kzOcit0x8WRiDijtKUOfrQAD49LpYwOlu7WqMaiMKYpJDbpXPDmzQ\nY6SYkCu7+5yXTV0ttgKhx/yhy8oUlTsaEKeRKfynFaAQcEZF85Z5dEm4DrrL\noTPKfkA0yYZtV6WpaWWwRIm2e0SoyL6Omh3VkCDcoPzejm9GHGHtu9SYxlsW\nS4pgFyITAhjN5sejmk+pC1zmaWvOnuMeyXBR3mWoiAmTW/It4krbb2sgUVkw\nSS/j\r\n=ha9B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"2fcf375cfb22882468cdbfe126d349a996b450ad","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.525989b5d.0_1573774224037_0.4950254089780819","host":"s3://npm-registry-packages"}},"5.0.0-canary.7084b403a.0":{"name":"@material/dom","version":"5.0.0-canary.7084b403a.0","license":"MIT","_id":"@material/dom@5.0.0-canary.7084b403a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"229218b27516172958644704b759bd3e4807162b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.7084b403a.0.tgz","fileCount":17,"integrity":"sha512-/iVGwiYWZrWHopxmYJCVcUHheWYXMh7xL3KBWYpG1GXNtn4uPpDKj+AAoH18uJUtkB4+DgtD0wcU0Y9dgiQmoQ==","signatures":[{"sig":"MEUCIQCQBvIYBujC3g4zh/PChmixH9f4QlgLzvWRziMwl+Y8HwIgW+FKZaoi1MkhotRXx7Rr+VszMX+1f2rOFZ7g33cpr70=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzfnaCRA9TVsSAnZWagAAurMP/A99D6a9qSv7Cx9v7Sx7\nmImfSBMK/tgLrVXWgP3aOz9z3HV3f69La3jkvODHhIRhstrzPTTqz4D7mgWv\n5Z/NgGy7Wv1SMQmklkioJxotjfbWaA8kSzjTbQAKM3Sf8GOPaDwbqEqx4DgJ\nymT/le+oCAJTlXYMtsYryCwLSn/YWVsiw23ZNQPcSDKk08xZBdmH7hfNlCLI\nDy9J3ckQeXX8Oyo1v1kOJWXyx6w3HIAwlRDE0H0Pc73PBO7Kf8kLi7x11sqD\nGyXguLjggWJT+ZN5JqsOTQT6EyWcojQbHCVqNMSMlRA0C2Qd6quHaifCMVt2\ncFlOB3Gdnimb+Uqr3UPh7YYlj4ha95TMFiisbSqhMXICFaEyjE9VHhGIb0bX\nOCrREccTx9A9fk3Sp+y1hpc/JI0XO2YQRq6+CuL2amqiSAFVGQkRRtF38QUw\nNV+bOi4gHtxlVoo3eIUYVvu+utyLX+Ibev2i7DmoLtayGsA1z1k3DGCsjAjy\nYlG1soHrf/JpkDX/ZD0X4rD98gQ9xPnlhW7ky77CEUFd8pPzQkhi4Uk2Oi9s\n6EkLd2fYSCQEBFRrWz6rWkt4bD/l5OAXyGArtdcdKdgh8Hk6FpJTL7L30u0b\nekViY4K9QWrjcv414bQahHfNLt02PeK5sZhREnl/owDhKOthr+gq1nYJcMBo\nmHT0\r\n=VymN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"6a82bd7664073498cf25876314019948f3295c87","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.7084b403a.0_1573779929878_0.10583463894774692","host":"s3://npm-registry-packages"}},"5.0.0-canary.3cbee6dac.0":{"name":"@material/dom","version":"5.0.0-canary.3cbee6dac.0","license":"MIT","_id":"@material/dom@5.0.0-canary.3cbee6dac.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"777609fd0874f466c161c0268d7327ba152dbec3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.3cbee6dac.0.tgz","fileCount":17,"integrity":"sha512-/wQRM59/TdZzb3AEXzEf6P5WBSar1Lb4y+6FF16dYs5GuoU32ycxzY7foDYlMIBsKo6Nr6r8qt0OX8gte5G/RQ==","signatures":[{"sig":"MEYCIQDg7JV3gHjtv3mZapfPcB4Zrd587/zMucSfNcoqHuyYFgIhAOzVc95gAuBPLXrUieZ/+1ks4iycoekpwPh2V8Sq4VJk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzyd1CRA9TVsSAnZWagAAP0EP/3x1TarPWTNcArgUfTTc\ntTgZ1IQ597xHxjjCth2w/kc/IPKTF+Mduiq/NNwyKM7dlfQ1/alvQzmSz2qM\nyd4IdSLIUkiWt2D4J/TRJ6h3as8nk60ehzHtZdxGmrOiIw+9uJDqsmiJB3z+\nuVi4HTcvZEkpfnKxe221PiTj7t1kBBoWI3QVYF7F+VmBTvvxX+ynpiiqlEYG\niGe5F6RDbCMeBqalGk2sEXO00emXCFinzE+rpRCRIjw6QtWLIQOgPwW/YTRv\nPw9k34BX0toV0U0nzT/t2ofFn7JoMrPpjzkoYwm/EIhXxSlXFbU41tDVtxb5\nBVwVAYtYTOs42rrug7Mq4knDAOJsLKzMVxCRrLkRn44Me4aqaFM5Zy5Ow5eG\nVp2faIQqsa/+PF+hkPfuS49gUKO3T6FeknSYSzg72NzzNZYGZ16uQvDm/ZdI\nQ6mF0BxUhlbUO9GQYNK4c0llYb3+aCb8g0zq6FawcLIHyHDYeb+MYmFa93I5\nIVBsu+b6Eo5uXPz03DonOXlkPsElKp3HnWPesnc/wA0VIUNKnsD8UJSZrjlW\nrkn4YbgSpar4+b1LNxlxYxnmmD/ku/FOqzLqJADiPX3bN+5QhPKbgqbI2gyE\ntoDSzWRMf6oLN1rN/JlpAhF9gHVC6spqJjtuViP0LGeFGZfw5nkiQibqtNUc\n9dGl\r\n=obxc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"5ae37026c572ffe6707702e535533859ddc81a48","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.3cbee6dac.0_1573857141298_0.7614738190101256","host":"s3://npm-registry-packages"}},"5.0.0-canary.591a6ad44.0":{"name":"@material/dom","version":"5.0.0-canary.591a6ad44.0","license":"MIT","_id":"@material/dom@5.0.0-canary.591a6ad44.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7f835f329859b485f7691cbabfefe2ac9a10aa69","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.591a6ad44.0.tgz","fileCount":17,"integrity":"sha512-A/hWmGvbvAwidyxm7ViXG/+dgVQ11xBMxuWQ5KRxB+1Y08K1hxKl2//Srx1O/Ui0yiXCtj+Twar/NF0uv9lWRw==","signatures":[{"sig":"MEQCIFN9cr00hQsN5kRdxT/GZO1HGzBXm/1venZRRArA+cjjAiBz/D4ayxlxsiwF/jZjcPtlg7txbbkEbxMi2bYm1K2oXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0y2zCRA9TVsSAnZWagAAj74QAIZcNBQR1ad+/ZQuvHsr\n5KwSsjvtp4o0BPzaBuu9tD1jny8BOIubJtcAL08g0VnJOXJUWgOb3u62xntt\n2CQaMm5D06UHcrJ9mkBuq9XQpVtVt8Gp09ZIYV+umuSWJHUophPpuHy6ficD\n59FMyUWtGza7jKEJynCGORYIoNCLr8YO9wm79JdOCoCuXv0OeKFP30m/IfjT\nx/7xvpde7RY//inDcJC78ytFdMPZWZwI8ua23dg/b127LCAxZwpwcuau6+/M\nK4ZJbDsJiW56VE459S4K1mCt67djcHLQm8c8SR3LndONNNQNdu2A88VJEI+T\nMbXnzEmXrndITBXIvUaVBeg012Meek4lWMFhrsIrYGu8ul+UySlzmFJjj2xF\nm0aucBQE+/xtBKN8O3il5/LPZpflKy7Y93n/qdD1NlPAzHJoZXHqPy0kTOaG\n4GpCnfsbaGgWfOEXss0YWdpbZYKORaA5bmYfGkqHKOyTvk5fFlBmWi+qMT/b\nHq3h8fA1L2bqC9HLiwCO7jc3/dO+41rnEuUMBowx0aGtbZN5+48wPF33Fcr3\nDfrrYDkeXFzugf9e7LgJSxOzZ2v2XkFz8bW4H3iYIJ5ILiYDUJmigtVKHVBr\ns2lsqt0af0vkQaW9r1uFuWVQ0knOVqokWP/hmgo9Uj+fw6FbENT4pTPqyFfL\n2phL\r\n=CQku\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"b5469bc1cbdcbb7c9926006be2d2a65c3211c220","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.591a6ad44.0_1574120883181_0.2731990943210576","host":"s3://npm-registry-packages"}},"5.0.0-canary.5729943ba.0":{"name":"@material/dom","version":"5.0.0-canary.5729943ba.0","license":"MIT","_id":"@material/dom@5.0.0-canary.5729943ba.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b8d90f597ecd3ae148cf2303647ff519d4a1fe4b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.5729943ba.0.tgz","fileCount":17,"integrity":"sha512-1uRflFhBje5QQIpjTOoNS7+KzOOcfTanSiNbN5+sCJ2scRk+jy4LuF+yktMYrgjQAsmCG8BQ4obe8z0hVwNzCw==","signatures":[{"sig":"MEUCIQD0IbyMUephd2PH1qdlOhsVjobIW8Cpo1/oslzuK7OTJgIgWGXpv7IKiYF4xTD9Ff7TvtX1e+DYW51/gYPOlvhGaW0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd1MzACRA9TVsSAnZWagAA96gP/07C/b6F9GL64mRuEuV0\nX14x6cMyxBx4p55QisPS4dRQ7yO7Bdcn6khU0DYUJXpnMGV+PuYURYiHkq7Y\nsgV+B6yYDTIBFdcv2bnpWRgKQBVpEhMKMIAMvxkYBPk/+a70Yc6ViLTQr7uA\nmtdwFEBNPo1IgvMoRgNQm5aiPPVn8c36gDR/zmQyv1TYY0Mzo4BqZDCYCFm8\n3pTvvJbsB3+9IUGWQCjwUenuiiIc77e1dVwIkyB150O4ZQWre9HquWQjFLGo\nCx4kYPzU0qzQ6rrtNMiCZ6E/2TtzmU7wR5meW3QoUurdU0VfqTi/mTSJm0f+\n6yHdTmvxlMxG81bMVFkvkXJ7+Tx2P3fYJpS4D149Af3kNRR9xrn1C5Hmud77\n4hxVLdDlwIZy+NiPTHFE7MmWbjbSbRGLpjPT3bLiT2LaWgcAEhO9tDySZdmn\nfASNU/+zi4xKTPBrb8dbx0G0bftMUuFe2830NN7M8MGJMXT/PScUdkiq+rqk\nHOko/BOv4LEfSa3vCv2Xpe9QUGs02k92UEWscYr2WEqlzR/3yeUf2Hdpy7Pt\nmCu6JplkJoDKecWIqbhjGQYOijDLIHM5yg7Eu0dhjarDkb5u54t51rAKRhr8\nP7CDNq1nwylNF09W2qECYs9J57SVB3KkPIglAujgu0bgRn2QBSkyIRC1iX+E\nhsSR\r\n=enbu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"d49cf0658a3964963bb2b39b2e3a010615c815fe","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.5729943ba.0_1574227135739_0.4053779763763956","host":"s3://npm-registry-packages"}},"5.0.0-canary.e89750dc7.0":{"name":"@material/dom","version":"5.0.0-canary.e89750dc7.0","license":"MIT","_id":"@material/dom@5.0.0-canary.e89750dc7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e4b6440a1c9b729f30ce2115f1c5e79bc9639060","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.e89750dc7.0.tgz","fileCount":17,"integrity":"sha512-6n9n3KQCGvA2OcCS38jKmZdOrUN8KIG3b0NMHjhFAhXkZmqeIDYRS/NNZRSRBs1z4foihYhwItbKDALI1QCo6w==","signatures":[{"sig":"MEQCIAw5LGvCklEdj6gqvpmqP0fjQ0LrLb2xsqG9efb9DKAsAiAw7DL+Ixf4CAlXDaXmnw7hyM6LoMvt/FMFXy0nhkxdkQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3drQCRA9TVsSAnZWagAAye8P/iqWuZXeBxxlhUfMpCfI\nEGqdozqkb64lcgx/PWKmUdNjqLrGaw0Foi/bCulKkUXPvWRa2QpKoRn0DOEK\n2c9ZJcyZm5U5HpipE1PQD25w47Yj5vCPU+641QAzYgLJdj5s28MFVIal7uKp\n3M5YT7ofcA2itY39+glWDcy6uuwHH5rSZep34PsjBNIQFQL0F+kMpXZuBjz1\nHFSjMdManBi79GYNw6wmI1wArOf62Z7tgZwJfuNdAaKQnvhwgO9zzUABE0Yo\nJqpSMgvo0tMWxiZXnIPFOfiE6GP9QfC9FJfQGPyriph95nsW+FMNmm5urpQ0\n5FMsF6ShDToGoFp/xLKfELZpwi08jB+MX/+WBwtXCO+hg0pDlqcbTIo/8Zs+\nElxOdEJBF+Vnhw1mHKwamiLT6odOdYtvoHfL0uT0/qhnxyG4HuERQAEFnepw\naW9+x39sY9gPsK6SnMWKlw469n/370vSkKflAVR9dq9hox+xr63UYsraxalE\n9zyxgWOgxmu/9pz1/xp9x6dr9SscDM2hc2ZKAeiXAq1ApYS5HbOwgqy1ryGL\nCR9VDURt54JV3pJvWPXr/j/bhSeTwomH+LIoy6dlmzcKnmCOciLlHvASO85u\nfAGx+ZXmIGg6bbx8bP/RD7KOsNAsmJYqu18xIu4CmmzTwf/xbBNHZxeQpfeG\nX/d9\r\n=KqR5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"2a166b3e817207f685f4b112635eeb21f5ef0789","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.e89750dc7.0_1574820560314_0.27276686307975173","host":"s3://npm-registry-packages"}},"5.0.0-canary.3e560b33a.0":{"name":"@material/dom","version":"5.0.0-canary.3e560b33a.0","license":"MIT","_id":"@material/dom@5.0.0-canary.3e560b33a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"eaf60b850f5dd42155553707ba906ea74801b071","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.3e560b33a.0.tgz","fileCount":17,"integrity":"sha512-asUwYOPwwdx8Dm6+W6IGlXj5ey93hMwDavlIOSEtW2DEifUbPdujQeGR+sIU+AG8YT+C4Zpha9S7+ZHEHg22rw==","signatures":[{"sig":"MEUCIA2lcnvZs0u1zICi2hNiDyP7UkjLJPhz3cfUDg72Z977AiEA9MyEZJ2hCzX7Jiafqy6CQ1tXiiDVtcjeudtigjW7RCQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3dr7CRA9TVsSAnZWagAANQUP/A9voxachPVRsahyo2NB\nQE0gd2JLHuUo0+UR8cNpZbuci9HbFc77FrsaFB13vcN4erjKgwxEP8aFW6/I\nJh4d4+ru3ToRBKDaFjES9a1LHMZ+/oOhkVYfZnBlcAsLoxJzDCMPgZVPF0vd\nM37WuxjSY1BVYUgyS0S7rLRVd7fHM7CjJPTH84QMjC3rqS60jm0Tgz/GJrPJ\nOg8E4Cuh6uX1fkmOI02CVISoHShizrb+ZrDhwHJ/PKdfSiULJxKjnQI+hkId\n5KCimLr10BHfr9AJz5DrXgg5+oWEJVw6xIjWmh/DBe1KXrL+qTr90isPfjwB\niBBdfp8oxz0SBDmYx9UB2IwAlOIj/TQtiAmMClFd7RwObfrU6IWa8D9M/pdR\n+Fj0Mxvk4ytCkz9L1r2QnrSSyqN3tmsbXVek1wu83DPT9yKf1FqmFH/ysXZ+\nRfCyx35hyQLjx0Ocn+Eyxa383yvbANnVTcflAc5+33UIVgs9V0vS4ZdZuCAe\ngRGIzuU+y4h3vnSCwztmjN6CZj7fH9CJModJBNY5mcA9HUf/TAlFBxIKoB1Q\nYO8FwIkS+ZlZzvbhozzpocueodzeVtWKIbdnmixJYvo0gkevz0okmld8C/u9\nPY/M84vnJsLGy5dYFcJ6VN4HqtEziZ1Ag3CO6UrwH5KtoA1GExG95qjwgTzT\nGFH+\r\n=y+Iq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"a86efd68e1e91c0cae784ad70b0e36c13c923dba","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.3e560b33a.0_1574820603010_0.6608975731772129","host":"s3://npm-registry-packages"}},"5.0.0-canary.7fd17ce5e.0":{"name":"@material/dom","version":"5.0.0-canary.7fd17ce5e.0","license":"MIT","_id":"@material/dom@5.0.0-canary.7fd17ce5e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a4e2814c6fda0a69884f0b00ece9b4e669332ff1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.7fd17ce5e.0.tgz","fileCount":17,"integrity":"sha512-uaxkqeeKGSgIWu7/5VC98A5kwnU5fkW7bXcU+lYvPFkzau0AuL7glwMf75C7XVTd4z9KPs2q0NX4EGlABfyvQA==","signatures":[{"sig":"MEUCIQDyexDYOdDT/j2Y6kGqb1MQDNvpgs0bKB+mKnbupW1d1AIgetu8k/9CjhxmbJ5p9LNGpAmCtAss7GcwlWq9ChVD5OM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3dsICRA9TVsSAnZWagAAdUcQAJzoycO3LPWmIeelsgBM\nQv/lThstziD4lpxt4BXYBFrhcjuWaAUkTOE5ey8U3UiLr8p0jO/ZmEdg/8xW\nkUmOQlR26/Kgm0Fk/+JqFTb715pNw5c4e81yW4TYRnf086EgylkDV2NRJGIR\nNK5JpbbEBgHoskOGH1c5edUciaE+mpyUEscG8lSWK2P6bDVHe4W3qhy4l2s8\nmxXsM4cknxQf9thCYR3v1M2GRYoZfT3Fz+FmpzJHrXO7w1tojb3ZRqIX0n3J\ng2uawWkZGggVgNPdmOt/o0suCalMgZNFY6vmKiWd4vMA52ml9Dg1Uu2/HtYx\na4Gx78xfJLHjJrjQ1mJ0MYMNDncOah8VFtIZ2NshnzxR5JpCVmi2VvZib5ao\n17B69iTnpz2c8CbVSjX+aN37S79mVCdl+XfvgYYV8ykpe2TgKnutqPGc5kw8\nbdetvq+TQSCN/BM0ozVMtSs945HevJzfyMQVJm2v9efj8H9qE4FdjmqUKfBL\n6obJ32Ah0/Uuj/Jbfqma9EoMVp5uReqCdHR8hy50lTwWF91xXEVsLJRC2apq\nGRQarCAcLkyD7bfTkmDkj3lLd4Lyzp2BwLA9cNSZoyZy49E9pg1cOYnCn8FJ\nXca20MkNHTqFS5/dihaPTp0KdZXpSsDMxczS7WYmyQPwhsTCx8RUva1JCv5p\n3KP+\r\n=HyJU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"e798e5bcdab4c998c88b2bde71412b2d38dfb262","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.7fd17ce5e.0_1574820615655_0.46080307409419285","host":"s3://npm-registry-packages"}},"5.0.0-canary.ec729683b.0":{"name":"@material/dom","version":"5.0.0-canary.ec729683b.0","license":"MIT","_id":"@material/dom@5.0.0-canary.ec729683b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f15e580db38776386036949e54ba2bc17386e01d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.ec729683b.0.tgz","fileCount":17,"integrity":"sha512-NToh837/4k9yTDW9Jde2Ac4FesuMKtNORLAp2a4Zor1eAMxyGWbHe+hqVwjgNOnp8BqdkpYAxCKceTJcDOirRg==","signatures":[{"sig":"MEQCIBKFTZzVbv9U71LRrvlO87kxk7r0cmDFp/jtkacdDpy3AiBNyLmUbg9RjTBTsdNfqjoVW3KZ5lX72pfQD+y9hx4R7g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3pwuCRA9TVsSAnZWagAAHccP/0ddo6+kwLcRt1ckSLvN\nDFdZ2wVF9qZ3A9f5+viBg+fFmKMhLNX4MMHgyGwVJG5ySRJgFFZEQ3bv21hk\nkxSM3JZ03oUVGJdTwrynlq0i4wHZeaKrzZBOySURg8N0skCMv5CFHiCut4xB\nMTSERr3kNuOB/2AhJERsM/KdoYe1rNNXYLJx+kGhjrNla0vM71ov+qLIMtXM\nU9K4DbP3g0/Bwe5suWBRU/NB8vFqZ0UnOaVo+HVSsslOKe7JvwzInaFku0fE\nuiRe0Z0rKB+xzZOrgmwHenDegd3JOzBjiEE4gS8iCN+6+snGdsoELjB3MCJl\n400eGG/A1DudSxuJXUNMJKxZnUHj/20mj49feRqnJp1HvNQl9nknvj0yTtfJ\nOA2KrKHIkedVnq1aFNwmfOdjnVBzdMkrnVIhCkRr4MaKpVoaVRMEs9h+sko2\n6wrn5HEZaYbGIhppOAcaj47uS1ScLQnyuCmF57rWknRhXtLpmGUMF3tel/ew\nfxTXKvT7OkRvKW7mrnk2diPXKmbKNGh6Wk59aYn63/xwxdfISvvNtGq1KfcX\nDt1B7uG+tF5Rv+SnNFnl9MoFWo96UKpz+WDKcNZLSFzFnjo7rT2nZ3g0SyD3\n/IrFKgcJm9PqQHEGZUf9l/P2fIuXJFxYg0fa8Ijp74BSrgym0ShGjf0Ccgya\nagcl\r\n=vnol\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"919526f37cd7606c0de4cc409ed4c1ead34b60eb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.ec729683b.0_1574870061948_0.8788775047586983","host":"s3://npm-registry-packages"}},"5.0.0-canary.b8bc4a26e.0":{"name":"@material/dom","version":"5.0.0-canary.b8bc4a26e.0","license":"MIT","_id":"@material/dom@5.0.0-canary.b8bc4a26e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e9e01b9d0d2cb43d37d731981f4a2274bcaf5c13","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.b8bc4a26e.0.tgz","fileCount":17,"integrity":"sha512-z6Amv0VCdJ4TExiSf579rWXEupSjwbJGi3NKWAi3jajcJQ/capK9gHj+pVu37OA7eln4BCnZbjfRol8hRov2Pg==","signatures":[{"sig":"MEQCIGmKEqf33If870NFYTfD7LlA1QKuYtqCcrtFP4B1W2VUAiABYC8RmA9zDc2ik1QkHVZORAnCjboigYPPTjZceAuMsw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3suECRA9TVsSAnZWagAAPSkP/0c0xLAT8D2jT+Z4Ou0c\nmFly9YNZK7AOzsCcojGtu+IwNK6w83WZ0DxWB9WuauwFgZau4LXfOz5sGPFs\nve2efuA5tsVIKbEok0HRoav05Zco29MecntxgqXPoTuuYy5m6DF+tXqAABIk\nZXEjggvdULJFRpsHZ6RtOyzAGUCssm3+65xvEEGOx91UPHPCtABgJTG81k03\nSe1HCgWLih6+wIiqvhd1NLO/zH2UpoQqt+5IAd7TFy8f6F2Mff22wZsWBPHP\nNZr5jNx8+V8qbQflvzDLd9BnIdxPey6tpBZ+s3aNY1pZzRk9HxOJLY2vlKwR\nzv0MCfHu2k4h6XFvh8qHyAx+xD075EnvjBfCtMSFjB8PedhFYgt0MecnnO8x\nVeJcHd8Rya3YGBblaeT+k0XBV8tA5DhyTZ5cFBsHZGDj2DnjEx8mJ57Dv6TH\ngaVDddi9lIbS1hjyaYtE04eKQM07OOZAEmP6DtP3e6+iN5spRkLkgQBdbIQ4\nvf6OehjtxMEaSlCKgGt8+gqxSPn3UPTCI3k89Uer5cdKOs3ipSSVIgPFDpNA\ncjYpOgaag64Z1xFOl5YzAa6d+ej7Nt081ki1Gc9GiB0cMg6PH5WitOSA++SS\n6HAuws5VZKJb7TQuVpKIbprc8RWHT1v4ydpvBIXj0hiCHYy31F6xIN2GBcET\njYhs\r\n=j02O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"d04615df572bbbf2ab2eeb76ea45696d0a40563c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.b8bc4a26e.0_1574882179701_0.39852160156987426","host":"s3://npm-registry-packages"}},"5.0.0-canary.f978109c3.0":{"name":"@material/dom","version":"5.0.0-canary.f978109c3.0","license":"MIT","_id":"@material/dom@5.0.0-canary.f978109c3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"123771131b67ff230ae8d8063dd62f06c40300df","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.f978109c3.0.tgz","fileCount":17,"integrity":"sha512-BNXvhMayhWd6cSKhHVmzRNiJ+CfoVcu6nBOWhY9Qs6N1MN/0DROT5xNYw/OCgx65e/D2tV46vRpLEGCzeIz7mg==","signatures":[{"sig":"MEUCIBdOxknjn7qE1IH7aHEao18Fm/1yVjyejVy71rHI1VjxAiEA1juXNDdlvFQbw20XDzEItQuB9o1KEYOuQkaSxw21Fac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5USwCRA9TVsSAnZWagAAc80P/RwIJHRlJ0HBvMNgd4B2\nea6kMKjOVzKfk1P1dUexLSj3OGEyXk+nW3nOMOP/IV5Hp9gdmfFqSXmMGn4t\nA0mFfSWzhdOxI+aF5vVynSv14e6j0ZPXVWbZF7n4M3PQM6btbjjDAA0n7OlF\ne+Zm1Oi5Nvj3z46Qdbw0ljUrm4e1GEQ/4z6E2PiOx7l1dab5nrNkwYm9v31k\nyVDA7JO1BulLNVPxROWMOCjTKqoaiJ4QcZ753EqapOEngYrxYecIMb0bnRzt\nkgdQ2bymJnl5P/GgkZ+1nvET0J6GgPBsQndUEvrmcYnTVThZI0hzmh/cSpOp\ngLBn6rhpDgFUXzIok5MXLCQoG30/pF5Asx5sN6iAA/Dxi/tkxXRyE419AmKl\n0TIl1LckXuQHQ8m+UZ/2t7fLTHhHnHOsUrVjqFoxYDj7QNaPGP4Eq0WX76ts\nNGKaPlhBqRrPXH0V+iALWrJQz0QTn19wZkaPMY1AYF6ZErtspUkNAOC2f1pa\nD9LUdV/ur2B1iXM31LQXu3DCs3L1eCqC34In5MRONI89OU1exfzBq9+0eeHk\nalmrms3soCKTrlhX0uIPmxVOmZnjqj63eZYwCHL3z28DBxBvMfZLYX64Lgk6\nkz3s/n9E9oFaRhZyvbJB8QODOmRk/YwLj5PpUtWLW3GefwC5r7EVUm1L7ZwJ\n81MA\r\n=7Is1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"27bb2072dd0bc0aec40da3282431f7513467bbd8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.f978109c3.0_1575306416473_0.6382210799419179","host":"s3://npm-registry-packages"}},"5.0.0-canary.ad9dfe706.0":{"name":"@material/dom","version":"5.0.0-canary.ad9dfe706.0","license":"MIT","_id":"@material/dom@5.0.0-canary.ad9dfe706.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"09ce964151bc257b0012925dee820ef6b60051e2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.ad9dfe706.0.tgz","fileCount":17,"integrity":"sha512-Tcd6D7G0ML2o4pJo9TUz7tq4eG6XOF2LGh1WsTGYN3aNAMqctQhgR3a2ikjUpBvtobEIsNVPrdkDtri5qfe1oA==","signatures":[{"sig":"MEYCIQDQgI3DeYOkVEnE6yIr6UmZYgaIQJqn/kSgHJ/so84R3wIhAOQzc3uOqb2hFIi3YXKLz7+/GxQSUVqt/0SwAahLTIO/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5u0MCRA9TVsSAnZWagAANmsP/34gvprb39gw9e8H5ieo\nk1qinIsjFzo537glB/8iT7fua/kEIxIb3ZRwjsqdLMTxmTW/gtU1gTmGqcGz\nTUwx1dDlV9IXMgY/gr01LTi9wCl8CWeZWdYR07oXdfT+WttziAJgJ27luwey\noJJ8q+kWRAXS+byitnYfaHfeZLXtW0MkT3idaS4vXseTNZGXBSnqYl9402HO\n/7+DoWMsxzUNc7drppw7hodZ0yPK77Oqnog1aggUOeIWyvfrXVrDaqwCPLS7\nkz5ttW7eZXEQtY+jdmFuivUIZiS4AAw5GNISXpseldFAMH8zUguJGFZjo1I2\nsDK6ixdd6UVPJ/NvbhzdhFtZzOVKqhpqJ2apv+ORLTtWbT3aP7243Z1WGcex\nr+WGp55grKFoIJSbL5tKKP8heNygADauP8Bim0y1tdbfly6Nrc5zkpsPgtZC\nKqQ8+3RKIFYerBWNzQcKg/ggu1Xaew0m1DFBdG8szM19svvSYYylZTDSI2HA\n6iiY8WkBaxhTbLNDz8+EiyXEH1/EtloEe6bEJrGE23tPRZ+yhOzgCo5aAw7U\nmuwzUzc7YrNWagYhmRXxt+eAfRX/pju7ijC4lHDxNwmrPJ+gCkZNDKz5YmId\nqdHBxzCs8XcKFGj8yHS5R9Gs2+JoVBI+RNRXzPW81CYTA7+f6k6nhxQoVpLz\n6bLV\r\n=f8M8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"ded1665c7a532bca8466d5bc100026f56ea99715","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.ad9dfe706.0_1575415052380_0.5039912346517683","host":"s3://npm-registry-packages"}},"5.0.0-canary.5e45d77f3.0":{"name":"@material/dom","version":"5.0.0-canary.5e45d77f3.0","license":"MIT","_id":"@material/dom@5.0.0-canary.5e45d77f3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0e5f132904106e46fa0afb76d75849bad0922f9e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.5e45d77f3.0.tgz","fileCount":17,"integrity":"sha512-S9Jd4d6sxJNcBGq78FrRBWQDDVt7KdEMcfYnFTdxVnf6jefzRf16szAONwS0zeshAdoONk8U4C0AT+QRqc3XXA==","signatures":[{"sig":"MEYCIQDFj11TI3Dd8+DIZyONU1hakeAU21vfcnEFBk3y0/qySQIhAIoNbncoFw8PAlLJWTtgB/1q3xkRuMu3rUCZkl2A2jFG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5u1PCRA9TVsSAnZWagAAMpAP/iqA1/cnM3f049+dM2dV\nrsnU101EDrLQqt2+PZ82X2uvKKJkNfBJRPaCxvei1UJPiakY506HFN7jODX2\nmcW+ojS/zFyskEzXiQBBHuD+MAlhSBQcoItiZPlv18ULrprgMx8obwlFHvrD\nsNwUGLffXH7ByPy190kMvdHSYJcrDKxQvfuuF4wJ1RF70nMe4b/Jv/HzM+Dz\nXi30k8WBNLBHvvGI+DyKMaKeahSg8vN84082KPwsZEweU50i2B3IYelqNc1H\nPR59OgZBSEzINEG6xrZO3hbBlrQCnTLUKCzR+wXtcmNDXs+PpltEdoRJC8xF\n7mwKZHJ0rshJ2qYaFKCSy54KjXt4szjFWyJ4Hp2ae4BzzvRXEoI3+XfrSbkc\nQbkhvF4KISvaW2TxX2vQYe8BLf1LDPOgME3PZkyHzF9RvRB1peGkdAt3jG8b\nXzBM67XOdhiiQIDQXty9uAiB0Z7Ii4YuPhE1MZOTFDWfL0iqXFp63Fwn+4xp\n0SYIKuWyyTcx5isIZ/ao5e6SQBxm65cSRw4g9ln10hRhZFHjubFW2SdY/gIN\nLDD3FS1wzbCu3t/ywSL63M9GsA0rcH5w9wdI8WiVTlHSfl9J1124NaIQ0N6G\nLibIjGdvLpWW4p2SiNsjGw+fANpJWnOAFAs2ZhQwqynH/ivT+5MCIJtLZ23n\nUi7r\r\n=Q5EZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"d7a20a5fb792fe297fffc09187b6dd3859babcd2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.5e45d77f3.0_1575415119275_0.574112920945514","host":"s3://npm-registry-packages"}},"5.0.0-canary.d10e8cdf3.0":{"name":"@material/dom","version":"5.0.0-canary.d10e8cdf3.0","license":"MIT","_id":"@material/dom@5.0.0-canary.d10e8cdf3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8a46e60ac9d3441aa5b6d8bc03e37dfc86f67686","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.d10e8cdf3.0.tgz","fileCount":17,"integrity":"sha512-r5KOqTLbsLw0si2NdKFp09p1ldyCOdpSSs12DRgNKXWNaY/SkJsHkrxflDiZtKMGxaaZPIF9nNOb6kUBNPgpXQ==","signatures":[{"sig":"MEQCIBI3Y8nZv7YkPkh/R4+Nlqahl3xyj3qjCAGZGCuQoJTJAiAETc+Qi0aGWnas+AWeQRE5+zHkzxVYt7aRaSOGqToprQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5u17CRA9TVsSAnZWagAAKT0QAJd84szxzmUtR3yfdLgg\nCHAUI8Vd2ZIiuYHx2KPpdhVP+mdxJISFHFPVw76ZKQDao2BxJMzHvVm8NtKv\n0fiBcrlNBmJeCCmvqBF/n7a8+v/243N3l121tyzLfObxqlGAqanyZEsnw5My\nLDdRVmLMr6MaH7jewKXVe2JYWWfozkbBLdVj5zGq22ieYy4X6ihgFwsbnZ9O\nrzITpVbzd9GbI8b9rbohZfaCww3BguOZcCNXdbH3y8yxhhNNOs4y9HJZSpe3\n4icSH2IqeHg8tcFt3Y5H195E8vAHawOo3LxBxRaOVCWfCZQ6XANWZcxxzhT6\nrStYLdggk1mTc4V+m02PCI4j5598QFoZx0oBa4V3jWW8A4XV4SdUscr321JW\nwbymKkd6E0q2S1xds3yazX+NsaZ3PpV3zWUlQR2dPQDQtyGsm5jEk3DbDqkc\nNviV5ufJlLIx1OUAyXNXi9gyRd3Ms/dZS5OAgU4iWfGkGswQpGhktTtZgQro\n45I77zU+pU6aCYdXEa/MAQ/ROGhYNSmJJVmQYiqRTUH7Qi+3vn6JR2B/CQ8m\nmtSSZRYDsp7tWxgDawnpsD5p07ZTFacIIbZUVAuxq8S/J5rj3W8wYvj3wZED\nDb1UHC75u2pojO7fpUusDQw3vayQSoCZHp1cwdd8k256KNvNvtaP0nOEHJMP\nR3JN\r\n=gJqn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"855cf0e11682e4f0f44f50292556ce39ae2824a3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.d10e8cdf3.0_1575415162880_0.42023975680052916","host":"s3://npm-registry-packages"}},"5.0.0-canary.a5dbd8a2a.0":{"name":"@material/dom","version":"5.0.0-canary.a5dbd8a2a.0","license":"MIT","_id":"@material/dom@5.0.0-canary.a5dbd8a2a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"df5fa71f9d13fdd9c3155aa0d657805dacc2f9a6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.a5dbd8a2a.0.tgz","fileCount":17,"integrity":"sha512-m6gshwS89tsoKjdh24xn/k6jF1o7g00myI+l8cYFNz0BPtbVQjF2+nf9HkSRFs4dJSVMxFK5mcV/ctHFBNYyEA==","signatures":[{"sig":"MEQCIDRyVfv/0zt2xxeIJyxe7W8nGEE22lsUGJlVVsdNxmYHAiA+V2QfUDjCaIn4hOPfJyRdqxe0sL4j05xK4whnebvY6w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5vW3CRA9TVsSAnZWagAAyGwP/R1GtIr1m21c8OGSjDW2\n11q9zOSqw2thTbTmROcYg+3yL1ijh+JEJm4yQ31Ofd539J0MWwMsOKtn4hU6\n9yFf4HuaLkA2Y9mpPutyBP+Wr3XWwoWriLWik/G+7gpZ+CyTTKbarje/541Z\nlMYg6SYlu3l7jnHdSouVIs+Ria+/rbeqCIIReb8eFOsJxbqtaToJSmkTDzLM\nrPdCiL5x6U0y0ATYuLoKskrRa+G7IN1RFVAI/LcralTPtVfYl7MtkFkQeHJ4\nRNAidJsIt8Q3NeDsxID9EZbhdeOaSHQblYYqjVvTgC+8EAWP0xBF/WujaCw4\nOaAHlnJmB66oB5OsARWZfHnV8zNYqgImgL+6SVC42z1qr2tBpw0QzjhL8S61\nouq/2L5N4jTp5Cs9ievwqwQZ14l6eZHkzhs/35U11imA5xy6sBLshvOXMNDT\nWEgXe2fnjfIlv//Z/t/BPPuRkEn0sfvQNDyF5cZLFcfRd0401Gt3yTR+/H/N\njozOD5XR6y8JucAJADIyqdJ4vAiE3KzkTy7PgKYIgX+WfQcgw+aQqWZ2fwCp\nke1kqLqHVfJ68EKx3JrC9zlopCHLlzmAsxMio66YlGMIYDCdU54KkAe9wSGb\nfW4D4V+5ooU2T/tWHjSp3dDTrpX+VNJm+tBx6Sez5sDZ7oR4ypJ1kA3klsos\nvL0L\r\n=SuXA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"8a67c95c393a733414be4fc008baf7637a9509b2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.a5dbd8a2a.0_1575417271422_0.22920753187637666","host":"s3://npm-registry-packages"}},"5.0.0-canary.ba879b68b.0":{"name":"@material/dom","version":"5.0.0-canary.ba879b68b.0","license":"MIT","_id":"@material/dom@5.0.0-canary.ba879b68b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"89eafb0bc5f3957bdec5f02e31d6523accd8004f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.ba879b68b.0.tgz","fileCount":17,"integrity":"sha512-SYme56gIX18kri8lrZQTgFefuqM/nIrhjxTcmNPHpZVCGJWskzXeGtnOanKWIk44jQOH5H9tWiARQULYlRatKg==","signatures":[{"sig":"MEYCIQC9usX+4fEfDPidZ0UOCoBThm7LrNH+ZWVFF1OQr4i1agIhALX332f9y/yS+uVLIuaYDuEXsp9flhAEyYet4qAH2Ssw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6BV0CRA9TVsSAnZWagAAxyoQAJ8sMgBMoARAGgDk8bjw\nnn0pY3h0+vv8uaDCcF5/4PunfGKBOVjINnH3EKEUkEKZRZt7oI39nqDaRDWf\n+Nand4lBypVQXMFf7ZW2i/W0qD1HuXwuWGtaSQmL7h/WRyKyK+m6xKbgucSP\nWBnAAlTs+2dmnfW1KD9i1AYb3q9lZY5myv1neZBz04o1+29OPlJRH0PkpIgy\ngpm9fCfyqDWX9twNaEQUdU7g1KhkTMYctjJjG0WYlZXvQn/JSfqq5GbSnNBP\nBniIiCzcN49jSkbTjVYN9Bx0yrDlc3S4BsST4nOOFvg3wwuGkgu+C3S4d47G\n23j50yOukCOJrTeYeaYdu95AV+q/48cc0fwNxeuzyJkqmHcgNfJyE/NWwajp\nL4LsE41rh1D+Uhs4fpMk5hcB1COAhGq45XpbL5u+EU32hpAHXoJltioK2tpr\nJ5Cn1+3JtUDfITZUbTHPtKy9lUgmNPIto+k9w3pza88BiioFTFIcBlcXpK7Z\nGvaM2eJcl73UCD3ZfRqWyvPSzA/RHCWK96dj+EI5cfFtjHSyYTZG+ZcmjZ3g\nmSLSlQ6eC4UgnxlHzkT6acFPXpmNRFyoX+VJmIkJGFOFh7tqP5lZHi/GNHyT\npDueQjbIP+7cp9aNzILCuvFQ0+lCu7/4U2W6D4Eoh8kzotY5ckieqGOKNEo4\nbv3o\r\n=u1Ki\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"83bad042ea5d5cc8b93df88a1d4730099550bc6d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.ba879b68b.0_1575490932438_0.49112710914557023","host":"s3://npm-registry-packages"}},"5.0.0-canary.aa0eba489.0":{"name":"@material/dom","version":"5.0.0-canary.aa0eba489.0","license":"MIT","_id":"@material/dom@5.0.0-canary.aa0eba489.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b330486e952bd49f95b334ad93f93bdcde898cc7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.aa0eba489.0.tgz","fileCount":17,"integrity":"sha512-K+INUHgLcljaJ3zYiMH/286QoVi21yImnX6Jh9VuTjNdYGOjyZYLX6QqZ6l+EJQcCY2Jlai/WNczasQ5Cjnw0A==","signatures":[{"sig":"MEQCIAy/aJwxP8t3UddAkWIaMGnxjs1e1uDKA8aqaOMX5biyAiB3C1Bq9G24FvQQCqu8WZgz9QEfgqcENbOC9+tB8TN9Xg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6bXTCRA9TVsSAnZWagAAEEMP/iuWmj8OGRP64r+DYiIG\nU/8FFVqJXTZt0BWe7bI4uRLCaMIKyESWuk560o/Ev+FaROB/3lKc5PX8LRAf\nLW2VbyR723FtBsNqnyZIFip9ZWQJADwZ8TvDOJNfnZk5dw6cNH4UNPyHSdYJ\noXphsm/SlOvCza6DBOr0+fP59mJGlTBRupvxtu2ISqW9UyyyAg5l7jIbty7s\nFJmA8nLinZInu7RAbAc7W2fPTRgCLizt5xQOY98L3Qf/XRMqyUVu0pYFVXsP\nTsUJcpeY/3bMrruFIl9XI9LB32Z00c2Fs/wEKCGyjliKYOBF3AfJthoFB1JC\n1D1HEv1ajrLnsgFygoFZ6ZJcS3keh+pVD0oTAf8C1W36wTslEuog8cdO4dHz\ncWKkdg4lElynfvaoQmEKMUOkPRMmyyAR9W8Ti9oSGg1Sqw2ooCEPMnlokKWx\niBy9edzAqqmGg70dKbs3X/yaBZu0t6KWGh6R4rkRrbF6tWKzcSfOgPB8g2jP\ntPU4J7IwFdtaI1LZZzYcq3gUkz8OL7zz/QnWmjbT6gXrtdayesTMTMYnEMaM\n96x5hv+slqcr7whUo14NFqNTQa8QBHcFwpPUIgSwL3Nzv8BpVkxBwurXE3Z2\nrnaFP+/xbwvrAMrIv2rvFxjfZ95p3JUEZbkvCDS35EVwYRG5GwJU0VtLfEYc\nyrbO\r\n=fQRm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"50ef06854f8319df2975cafcb0b8c94fc399f155","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.aa0eba489.0_1575597523243_0.9929028537439846","host":"s3://npm-registry-packages"}},"5.0.0-canary.cb7b71a86.0":{"name":"@material/dom","version":"5.0.0-canary.cb7b71a86.0","license":"MIT","_id":"@material/dom@5.0.0-canary.cb7b71a86.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ad708b4288ec38c83a90cd079625a4ec8d252f54","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.cb7b71a86.0.tgz","fileCount":17,"integrity":"sha512-OOAYFFvimpe6gqqemPxcCUtaRq6JjsML+euZo6DvjlsGpbEh8R2de2wEnjS+MbmPfAtGIxGbe5u0MAyc9gad/A==","signatures":[{"sig":"MEYCIQD69bXEGSAb3QKYEfl7QwJ1cEeFKBui++Re6Xg2uT/zjwIhAJVpqSy9tkdABL1GmIa95eUrWFVgGw9VzNcneMNYIMxV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6upuCRA9TVsSAnZWagAAjYAP/jSpF4hqy6Opwn7ZZttQ\ndo8RdCUyJ9qunuPylAhUJ8a4Pf+7Y1xrWw8OutvaKcX5PGi88wEFLzynJMRn\nzPPq9B15ItoHIhfVu+3tY9cqZdr/C8GYRZkmHZfd1cF4w1al4RBe1TyeTSPb\nsNmPeAlooA0i4DQmGUIBBS307i1vzZTbqG358urY8n6llZHsklMb+hnHV4SO\nqO33MX0I5ZG223Mj8PRN5RMNKoiubeb1K8Gl2VdKS8AJ6e5Ex/V+iUxJ11a1\nBsp+6nf2nPQVdMHz8oX0HUb/RvY4dfAXESDvHq85jmC1dAoiFZAIWBH+03h8\nqQajc0JeqTvOSb1N25eSAJsZY7Pce1/hliUCBv/NAyJDype6BoWFbXqePk9A\nI7gnub3TopHIuDBwy/URkApaLyzMcrBhmaTEVc3LibaL/TbyzQQMUSa/4KZv\nwznAArqMRJ9tZzP4q0NN2xWbxSgPmc3brXKBZFRM8HAyzdpWqPE87n3TSy5E\nwY/eUiKl/dtdLo2KaOzcYynYzLlnax6R5QeAtY24R4NVjOtMM5zEbkGUjPCb\n9t3Jp7ABV9S5J43U4YtvY4xUu9ZWNKnSCr7j1dW6qi9mZgA4yKiNCxs/U+8/\ngw6s2mo0GHGPDtAWvhnhW73ToIvyQkNzrEXM1YGi4wDLB+nLabdCYzql7ZrJ\ndC8E\r\n=UfQj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"2866cdc43c0ae69bc09927b490f0805ca21adfcb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.cb7b71a86.0_1575676526315_0.0042214272183918045","host":"s3://npm-registry-packages"}},"5.0.0-canary.50f110a6c.0":{"name":"@material/dom","version":"5.0.0-canary.50f110a6c.0","license":"MIT","_id":"@material/dom@5.0.0-canary.50f110a6c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"75e2c1ad32f04437b745eb6a8e10f6be612cdfaf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.50f110a6c.0.tgz","fileCount":17,"integrity":"sha512-wlmZZZzUfTeHhsZDYLXwqkYvDLquiO4FZ6ETvNJAvz24McmRhBagZSSWYlHSK+dHAJKIfHo0Wt4JJ2VZsEjKnw==","signatures":[{"sig":"MEUCIQDojxylItgrx80JXHaNI0TJYG7IJjJ7hQlki+EiVpZMlQIgJqjyPGyPoyV3a82vDHPUjTkWSvf7S5BJA2zaF6DGSzY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd787bCRA9TVsSAnZWagAAYrEQAKCgqjZveHZ5wSyIGF14\nWKPzck9P44BXj/mCJMH8W3bf2jW68rh3c2AWoD9oyM1zGsc15KAqbKLYF0BA\nqFowbHGj/BBx4xdy9v3HIGPy6taBYRFm3IG8+QS9ihTN/78lgqh2aWfRC1KL\njNATlWzBjH/mnKw/mTbJkdOwQoHOXTc9yKva4YP0KFCaWWGgMSUtY6lkGI1g\nQY9XznN//ohqhBZlV6pCemsWLQLqgRirVLISB5TIGUT5UpuHIic+i8Hwjl5D\n3oBCLq4IgGJgfoCdfhP+UeRT8WP2dOpJHKaaN5MJMMdgyxwG6jUxC6c9JcLX\nzyZMezkijYhA3XaH777q/hEe+3Fj33dUAYoMlUeL9aKkk03hQUDa+qdKssgJ\nkpZvOzXGZgHRC1VizQstKal6HwdkOCGVZFvqiFK8+0BOrc9FnsMD7pxXgQ4/\nkMMRMl+JFxbpXG0uXXnA9J4X4GOA59zK2ALO6HPg2bwtepx5DES+Pe1YkJ02\nl5m9zMb1QnjrnPUPeZosEjRvkvp2w3zwFafTipvksbuE7Hl0Nzm3F2vfqIwR\nQnwac90cW+pgCBjnbcniPL45WFADra5r9L2xZf/6j5vDZNXKpuUIL55A5U4h\nrHOer+hCQw0ccyhNs3XFFALzwkVhYlsiDfOgQlMt+wbodxcN+ximBH9ISc9Z\npdev\r\n=trRR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"84e9b8113e75730b3079c429f751cf857a866b51","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.50f110a6c.0_1575997146696_0.36028385679334596","host":"s3://npm-registry-packages"}},"5.0.0-canary.878a08b7c.0":{"name":"@material/dom","version":"5.0.0-canary.878a08b7c.0","license":"MIT","_id":"@material/dom@5.0.0-canary.878a08b7c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cce5002cc3f507a0493e8ee80de1b1903005a401","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.878a08b7c.0.tgz","fileCount":17,"integrity":"sha512-tRaiQwYGxOGid6YAUgMan/mbesb7cgCvAV4x4nLiONjG0ztY3AQVPdktYfoSnhM1vUX4pQl7k/lO/ezarPdvhA==","signatures":[{"sig":"MEUCIGNEgQN2HB68XI7sNjxffHntBvD6eeLFNF5PsrWEZX83AiEAvpcLKeqM47U8kss8JIc/ccmEF4Nv6GvVfO5maTxw1sk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8U54CRA9TVsSAnZWagAAfd4P/jDA9eVK0xT8cwc2Jo0F\n2/B9SJKDJfmgNuR7fu48F/1p0kBO2XUoIZeECWL9S2irwXspKFTOZjeYuiQG\nz8VsUVrMSZ7nak+7SyXNMx+1UKXibxdtQOgaac5uCfUrrs+fII3QZj+v6Ce7\nZ+US2ZdHhyOpmQF70hvyW6JALznH071UvHBld4qqLEsdOl+LSXbxwjFy9eyj\nOLCXXaLyeI3KhAVJ4ues9NkV10SH4PnX+zXHwasRiOe5yBNcqbiu6QnBpQDF\nWgxNc27cVjGK+1CJzQCbLmqrNc0t7MM5QzGxfZJc1JFAyIlCWUUUnVhLJe7m\nkcxdWlFb05fUYrGf1lmb6v1ZdmOtmAjedz+g2CNW61LkQLlsgPvZPVFGKooq\n8sqKevtzsEfGO14WJGGiPJ809Amh+3jd5lXdkug0jvAbIMqHhwBZVKoY4xiI\nLf7p25bvslxZliZqaiCBafAslwFSVj5oudrxKwP+vOsNGsY3uYDup3saRB7M\nC/2pnwE489Xew5fT+XeOOp98x5xF5LyB8PM1mbZbWORtyvYO7MBIAQvWycA3\nuOvGrn/rpSQbI+wWo+vb4xk+TDOGdv8zyCsZvGEherjzL1/0RKAKpKmJTG6e\nJ5AI8UNP92Om5V5NeBZdgMMU/jApqdl8bwpfqPr9LoovCLw6IRT+R5YxTdZ7\nsqwb\r\n=U9Wq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"13bdf58f09c0e231663da8e8e9856d7a442efad5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.878a08b7c.0_1576095351619_0.6032776363727632","host":"s3://npm-registry-packages"}},"5.0.0-canary.397905b4e.0":{"name":"@material/dom","version":"5.0.0-canary.397905b4e.0","license":"MIT","_id":"@material/dom@5.0.0-canary.397905b4e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"af52142861c7137eb858df645f08abe2e37ba651","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.397905b4e.0.tgz","fileCount":17,"integrity":"sha512-gNg0NyLmw9NOyLMx7BoPPpFndqFU4JZXwbGLuobI/dZ+D5Q88xtExEbyGfcD18EqrCKet8l/R0gUqvIy2/qFPw==","signatures":[{"sig":"MEUCIBB/mNwe2SGGjUV1vmczAJL+L9N8W8aE4X7gI53Mu7mjAiEAkrurxjRAgRg+eSp3k8vjeRdOoWtyd0XeaNZILKBMH58=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8aoYCRA9TVsSAnZWagAArqAP/AlsJbpH/ylMg8gX2F79\nh+hhgFkzjvz8gF7rQK//opj8FVuhqs8jjPvr60WOzURrQT6gnOOXWBioR5uY\n36JfE7c8yTLt+5DUNqOgKGH9pNUfelxz5VSVp7FW5QWaE+aybAUOJhx2okXE\nNhTrFwmjlzLtc4klhHZaMgI1IP1KuaTFGuO4qxVJ3UZA1L9uMUmN8MvJa+Jt\nS79N0oQVBEvHUyWR4bvKs9hg5wC+I+E3dW5Ve4Xk+fgSPnaRuyoz2URQBHvF\n+MzPVcE7MbmQ1UQh7quWDopgS9dD5kiXB/ZiilabEJh5BJxIWiY+xQY4xNmT\njueng7bjarAetjjvhrFPpFjkxSkpDJf6Xz40IGUtBFMLSKjS1LB+LhNhwk73\ngVVlYcFBzUsc+rNwaF8L51SX0tsvDRi9NezDKjae1802GtYR91GlD8cQjuK5\nhaqxrle7hX3kP2u0RrQnIQXxCFGziQyyyAJhQ3Taw+DzaBb3w72Q3TQZobP0\nBvBYTwLOuxReZz+aFGTk7pcPRH2rdIreUza8QL7e6pya7j4uppPDPY3MUCX/\nuMlV3Cn2b9PsLpUrXBgNTN+F0nYUuOsf3KaZvulf8tvFYJvrIF6169fuNoiX\nx6nAfMbAmp4ygW6SKpEcbG1OIJJg/xog7IVRXwTVxUCs6vr3GYp3bMhhrFln\nMkXa\r\n=bI+x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"43ff8b8aaa48d3a31fc6835290f1ea1822301146","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.397905b4e.0_1576118808171_0.23213368664221812","host":"s3://npm-registry-packages"}},"5.0.0-canary.1fbf5bd1d.0":{"name":"@material/dom","version":"5.0.0-canary.1fbf5bd1d.0","license":"MIT","_id":"@material/dom@5.0.0-canary.1fbf5bd1d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9d016489b4ac6c65e4cd351fa6be16615081a7fc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.1fbf5bd1d.0.tgz","fileCount":17,"integrity":"sha512-5rh2Kgm1C65JTNwdrSSj//kbfV3ikB1wsZwrJRZmH7aZJaPa0Zb58+m1NaJyH9NB3GF0gNxIdYhOlvAN2yf8pg==","signatures":[{"sig":"MEQCIAVNNSsXXyoRrWvFRXvIgHgs8khqZQHyRdHJ4xYZFUypAiBomLTqxK4EcN/l525vS/yhRN8NRORZhOLjLl9/WEmkgA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8o3qCRA9TVsSAnZWagAAMkcP/jDXIoCDA0Jr3tS8vmjt\nL15KhuhZ6quNqtzJhnCVsuCdaATLWlnDYSYsQuEGmcYyX9sbVV7SA2nwFrK9\nfsFM8Pklgtb6Teib/xHGfRxCT0/ZWWUjuDlKoIfmYrGDGLvSbSJgPYCbruFI\nub0OU16ek3S+ckuNnWUpbJ7KxWB8wBECVuaEjG41BKt77vNl72Z9/9IsXpZa\nFeb6ccQ0iYxfMoRibsJ7yFlQQv3aLa4Wp3Cqa8WTAd+bBHk5ewFLVamsXMsl\n5clLBqf4EIIdUhUCZPrYGRt/8c+7qiyD74DvAAK1JnjbqiN0e/0RkXKvtbBS\ntD9kHQRX4iSarZn6MefMBv/UG/7LvWMVvarg2ndT5UeULXoH+3hV7zMuK0Ea\nEvq8V+6C/v6dHt+hiYg2FBh8aDATJub76i732S5nG3D7q8S2QkWnwL3NZbwM\n5lnhMX+rOzTHCLDg86sfeqC2nMryBgEMldVFse2iUmfPaxs1TsGqpZ8O8gGa\nr5UzY4AWf7y+/NBQ8VjtcD1xxTZH28RnTFYFdC8bQYR3TGovlJkltWw4r6IT\nkPqmB98irHS0SH6ZnXVTu52jJVsXwuVnDVdtzX2cs8YpC7/JzXrMY8WZwGng\nzwDTUjbrYp7M1bCgrT3aK1fGWWjl/FcJ41QDsBzshLYZPK+5luodL8sd4jPP\nttdO\r\n=0LNz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"d1aaf5edd2a8bfd34d05df3e3c52dec6affd6812","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.1fbf5bd1d.0_1576177129832_0.9413018163245412","host":"s3://npm-registry-packages"}},"5.0.0-canary.b723dfa78.0":{"name":"@material/dom","version":"5.0.0-canary.b723dfa78.0","license":"MIT","_id":"@material/dom@5.0.0-canary.b723dfa78.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ce2ffe0af539a6b21104e44ffa6c3e3675109049","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.b723dfa78.0.tgz","fileCount":17,"integrity":"sha512-X3Em3121g5IXpCDmGKEZMHlIt8Wyo3K3zB/Uv8fWAeZc2oIjasFWD53yEz44gGjC/FXsBcyJcDLiT7D6Wi2x1Q==","signatures":[{"sig":"MEYCIQDU+P5Rb0Kg/6V5o4RvBGldlRP6t15EJx/vqhBbRoHZPQIhAMBW9eqD+HxOpwVAb0vQvs30sEKbwyq82d4hLcIv4Xhp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8p5rCRA9TVsSAnZWagAANcIP/iAGO6zkCcTM6jW8XuUk\n4JdBzXcF5zTnBo9IITYNJ5p4dfKXr0s34xphMIzX4+LZi4YQU9aKy2qJmnc5\ncUvL/eAGEvxkEfSgIHNMFn5bR0tYzruvXI6M4uMuIwx01xF67j9gAINwilXq\n/DfOIV3LIo1akIEdxHCFD/zSf3g3UECVs2sdWGSMMSf+jhE9nDE2XL+Ys9bQ\ncL4ye7KHQ3UYBMlsIBbry8i5Yj99Elk2vQGv/88fEk4ZICl4rn0pp0BTFicJ\ngwp+cIr+TIqnXG9m+eLAS/WUkJDdqpdjwn1Psb4jDGV+efxQIChwz/AbwBTl\nO8/iYBq8ISKVzjBeS4hDrzL7fagOvBZHlf7LwM8IH8CzpKd1Sw/kWvzA8Xem\n4AZrlm60pQtiG0fIs9/NyWBlxWNojvLokDPhG3eq5a+Vx6GG7EDcO4xLETum\nQuyPhB6asBG6VJvawaZ+1FggerseAwiUACNSwE1knk09fliKhLIK8xe+0rFZ\nyjzy0CyeUKc9eRJGI7iIWjJ7T+7uSBI2WNRSD0OKr9dlhI1kt4xU2CsRJ9bR\nzuAjm/T+hSrYHrRIFasEQpfZoOWtSQZEdvNfMF/izN/hLSfeTDSbEjN0WgvV\nERjCvsgOhpY3ZRskeb3hRLiDLOb0gIk+3h+UEscIgdMOanD9FroMlh6GIeB+\nt44L\r\n=b3e6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"643046d4c1ac458ec8eb1623c5951b3c9a17d2d0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.b723dfa78.0_1576181355541_0.391675284771992","host":"s3://npm-registry-packages"}},"5.0.0-canary.1c494e567.0":{"name":"@material/dom","version":"5.0.0-canary.1c494e567.0","license":"MIT","_id":"@material/dom@5.0.0-canary.1c494e567.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0f208bbfc28b5132a952b0373ba2495847cc86e4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.1c494e567.0.tgz","fileCount":17,"integrity":"sha512-O4GDLRXFA9PJbTfkqEhuI+Yow6dKHiDLdDDNX366rLpbpPyOXrblOW7WVRhLE+L/iuocdPqNYs9sUKQMiW75UQ==","signatures":[{"sig":"MEYCIQCqDoUF6bCoR0LX5OHIKqKXrZBFw3NxFj+sN5XbhZDhdQIhAOrrUjDkNU2aBRYO2jvHMnBduN25TtUO43J8UNiXLGS6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8s7sCRA9TVsSAnZWagAAm+wP/0jwqXVuhHryr1NgPKF/\nkXONTsQnPSRcBE/TppfjT7q7CczZUANPPaTlNMgbpxfXjnyIYoelhs0Z44kq\n0Qcsc48lgm+5LVsjVEKcC5DZShavoDSV3TbGQ+mYvdv55UWXSTTZkqb0jt70\nXww9FHNdKf/Vi2q02i+YcTVBpleP0xRcCY9ynXPEG6iD7062wBc1Gv8HsOGA\n9kaHXXHYNne2oXlq2Y6BIf2xffxKlzxvY0vsdSt/bLpVoKIt8SY0ohhCKjvS\nr8GKwqPdeIAGJVsGPo59WpHryyv7UuUkQJ+9JwwlVmhGhxq9oaymDoul38ZG\nOP42N++UMte3ZhPznJhO41nHSuwPVemIRTapD1jNZSdpSkrrCXz1LFr35ZaL\nMVFG/O7peauXNdPHWdgCvHqGkoapNbg9xZhsdooeECbQPAy2yREZGLlgSfcw\nPrjLocz1RYPxOKNCKsuiTIk2GEbp+Qp4ckEAmS/3HANWqjWqlt76uEpm4v3X\nVMXLc1U+Zz+NlpHnu9cPAjwqKaSquApJ22q/n+VWJcgQVtxE89M6Fn2cgWD/\nJx+P/yVdj+4OYFY0pK/Y/OA6NhAGG5FyE6CF3dPLL7IYwuTO5c/ievZLrTZx\nUpJV3T9RcsxGYPZnOP2jb44LhIzAxfinEImIxUQyu7ReIL+KsrU8KPhBheep\njtTV\r\n=TwZt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"d7e01eeb35d8a54be431b39b46b389f3b26262e7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.1c494e567.0_1576193771956_0.5085769927243187","host":"s3://npm-registry-packages"}},"5.0.0-canary.c9e98a125.0":{"name":"@material/dom","version":"5.0.0-canary.c9e98a125.0","license":"MIT","_id":"@material/dom@5.0.0-canary.c9e98a125.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9dbe82ef40f4fd08b8935fd4c93c29beac607fd9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.c9e98a125.0.tgz","fileCount":17,"integrity":"sha512-daYBkJad2AgRZPOKcToQWEl9xPZI5zHUxhTTs//jDNjv3asN/9mX8V5hKGoRg04EQ0Bdv7BZ9pRCiF99fec9Kg==","signatures":[{"sig":"MEQCIH8dR5TwuU57plHwuwLgxgtbccHaqIx/7XVzqutU+uogAiAB4EstERUFu/QFn+LmRUKXs0Qv8Aw7ORn2t29WDO8/TA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+RnLCRA9TVsSAnZWagAAPFQP/2ZwqWBQAisSm+ZnwGb4\nwaDgREUY3LVOW10t3MjPZSyP7NLudV91gE4xgPdZUNy9+gu3x4JfU2OGf78x\n3gCtAG+OXVjDd8EVtEaRVT09hHeR2/L3NSw2Z90PwbtssooDbxe/EuXP08N9\n6s529rv2ndJIFbslOyLKJxVRQA03QtHoD/Os/aG/ExdG+v379k+Wx8F2x4OG\nSzrYR7XmeF6Qlg/HH/0w8bzo432aXujbr+5DSbQvBYlqNbpSPtdrmpbq39lC\nUW4bVv4NLkkWKYI2D0BVkK5i0eRPvlOo4+wiLVa3sAmZfsLyGyf+jSjcOtyC\nbXMkLWaegXPvmPhsi6iEQdVTxuYcLSn8RC+nxgN5gvz0kBNJA31Fy0BvCR/4\nqlysjVHQE8VDCSlq4IWjVUI2doAa2a8nwTWsQmX9xaDpOtZZShjBUVKJQPox\nfVh8x4nr1NyQIOOJEAUIUgwp5MyF3VsfPM5jYMW4dweVo3ODldr5v6soGVwh\neEs8YgU26C4ufpZ4XpxtHoseF/Mq7Ueam6pR3N7NdDOduGrvpddeLQDMSnGZ\n+8io6g3tg6maRqkbLaKdhknWgGYiXsBAQF890360pNY1nJyd5yIfQc1J5JrB\nC+wAqPmdBnVeq144Swyu6TkmZLxGu5TcymAlG+JY33MJpVjBTchpfFJsUuEg\nnmnQ\r\n=kqyv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"34b4d9d0fdd6b65308344880ca9abcb67a41ec58","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.17.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.c9e98a125.0_1576606155220_0.7565982381759366","host":"s3://npm-registry-packages"}},"5.0.0-canary.5ffe8f7e3.0":{"name":"@material/dom","version":"5.0.0-canary.5ffe8f7e3.0","license":"MIT","_id":"@material/dom@5.0.0-canary.5ffe8f7e3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b2f73de11bc06913de633294671c1110f699ce3f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.5ffe8f7e3.0.tgz","fileCount":17,"integrity":"sha512-WkYbqgNRgAi1Gezs3goKszmnmQIksXHFc5xnOepoKNLBmVXCP7+2B2RNnp9N9DiRgPsa7IUzc5eEEzXrPOdN9g==","signatures":[{"sig":"MEQCIHVdubB3GZpJZJbNqgQDEPftXTBv2pcKXTmx6TPAfXBgAiBk2tDCqoqe2UlIHEQitNYjcqmu7Lgz0uEpqsn1yHHdOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+VeUCRA9TVsSAnZWagAAjzEP/1gySc8wcyeoUDtd8WN6\nNma8/GFOrKva/O2kPpcZMG1f2z63dCgUCG3WEkyUtJF1wfAllKtei4uAD2fH\nPxRQFsFs2kJ1UC4izPqYRGBPV1o3WEN2PX1SzKVDAHO3Vek7XgBQtPXxY/y2\nr68l/SBD7nMKWdt/81x3li7vZBsKpXpHG+CcPEwzy+JMohHGxOQ8wG0eKxN1\nWLkAjSUo8r8DIajTi2gRia3iaInx0AjtV0CkuCBeB2AccALvWXIH36mVobJp\nVd5RY8CFvW6WkG0o89aA9F93M1IF+l+4e+e1uW9R7sla1pJ7e2VpcISvFrSf\n18pz/zHtKCwBdMVHfUFIUeTSeldIImbdtLVAK7TGyc88/qjXBr1Lo+syGoU9\nrp8b3YPN0wu15vQyOZo6Xgs4Hapj3KZs45XDySNbJdLlklwmygsaZjq7A2dw\npywK8hFAGgSL1hKEJcx6vC6TE/qcXwy9/7bqb/cjzN+gLwGtl5JV/XjUHXnR\nPLpGUoXg5aptaL9JsZ8KqSWSdnavMRl1Yh8SMgsQEhpfCg1mtOPlzeSJf6mV\nGsFCJ6uFiCqS8mWw1JSoA9Afw+kxW5UFIU/bP83AI02dudPabDQ7nz1BffhN\nKlXIlikCwTi6n4/oELSEMCq+4ZVKtCESd57iYivcQgLLkeihtjbXNYnVIs75\n4Mji\r\n=YRCm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"21e7c11057bb3bfef94ff10e24676b9da6f427b4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.5ffe8f7e3.0_1576621971676_0.3553143332874058","host":"s3://npm-registry-packages"}},"5.0.0-canary.47949b08e.0":{"name":"@material/dom","version":"5.0.0-canary.47949b08e.0","license":"MIT","_id":"@material/dom@5.0.0-canary.47949b08e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f96c7703f2f0d582b4cebca02a417eb123c1de0a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.47949b08e.0.tgz","fileCount":17,"integrity":"sha512-iJGfAGZkle4wSdwi6i9aqB9JJgY2V0YrhXGXR6UMOpZxHDey+k6UN8iLye2lCXwCMCkp3UruRNt9CteDX5lKkA==","signatures":[{"sig":"MEUCIE4IARX/eqlOpSmrBsaVVVktmv6b7/HVTgOT5diV8gzLAiEA//4Oa3UmTjUBt6FuXr6pvNyhMmCRTHIwcQfz7hXn3Es=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+mR4CRA9TVsSAnZWagAARQgP/0Bec2kT0XmVyes81CBA\njdv0fhOFQ3pivQj4tiztnEiKGNk5i0gXqqpVI8I8MXiIEmPojrnCSUfsdwak\nCXW05KXKWAEq3EiLmfDGGw3ukRKpwDupevmGA1ezYb9qaCxhS1KqmaLhdOqj\nfe57Eo+tldYN+vBznCvCgnPaW7+mnxQzgTX0T/g3iF2skHYnpS3FdEHRbvzM\n3K9wAuil3r82vHouWAqqWwB6RiY8QQXDXEXApDdBSx2L+rV+VQC3s0CeWjdN\n+hswPSVqn40r0L8kRDb+qhyVFKt8lXXd3I6dAUWv0eSeeOUH64W6JMcuHald\n2niULDFs+GAYthTx2HzyMBPpYv/rRP2rw4PB4L4yvId8GRebCcOFytYWk6AZ\nndyKHiGfMNpbppZv/LFigcHN5VIsxZwll/yFgKpVnsRunjK0ZjB6QP73TZrd\nwRnAMfqlX0o0bCm/7mbrYMiGgJPbyGAR8ZDE+AleEFZPxSfMQT2xdKLjzwUf\n/YJm+bvt2jycjWYlaRvxcmoBthb4GVZCU7ohaypVkeakofinDieOOUURlc+M\n0vLqBfs0JmavLNgBAhKpjdy6LCqtf3qMKi7ah6Zr5ISkk3yxwpN9o00ptLJ0\nvmZ1nlNO1NgTiWGZd6EcRIOo4GTi/1v5yg6WbjkqaFUIXWxZj2C1P6Jqj2vs\n+YyB\r\n=ZxVa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"dc8ea470b79b9134800af9e8866b99949c575024","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.47949b08e.0_1576690807600_0.3573850842052746","host":"s3://npm-registry-packages"}},"5.0.0-canary.b240bcc1b.0":{"name":"@material/dom","version":"5.0.0-canary.b240bcc1b.0","license":"MIT","_id":"@material/dom@5.0.0-canary.b240bcc1b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ee5f2fa9806da592e271a5c6c6345f4292b824e3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.b240bcc1b.0.tgz","fileCount":17,"integrity":"sha512-CLcUWuf0eTB7TUpiIaJS8bo/geUiDt1SIv+JK0dP8lPxQRCUcSpvTI811Yy0Cmwcdq7HwKGKG3WRqVc1RcK4jQ==","signatures":[{"sig":"MEUCIGeenODua5EfUWuMwVboqET7uvcIYYd2vGVIAuSpWpBjAiEAi9YyBl/AZ+USdjVxj9/tXH3KBNbAiSEaa9LnDrCS1pI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+nr+CRA9TVsSAnZWagAAtjUP/RekLQ3nRRSC0ERNq1xt\nNtHpgJ+b4Qt5H19me+d1hHv+UqmfOqBSrX4Rsc64lOkHSpr3nvdb+quXQjJP\nPvs5icvssxk0J/vE5+H5VPk9G9oGeotzmsZ+oJtnWbeCZb/3M57JhkCuww8B\nsp5ny6JMuvq8s9DOBLxYH4Bq7qJC7fAc46oFa1f2hH6w22ccrYLkbxCc5GYa\no3ZQojNAiiEvgof5RX+2TsYshxC7Hz/1umZrXLLNk97WicTka6HkneK+jjPw\npdz05Z0J/rJgjpYLMSPOYSFnalf6QT4zEoL9BNnCyinGXSxf+Kqrfb/U5ZzT\nXc4TO79su3XU+yaiz5i/9gc9msgt60keNun6c5I+8rQ4YkUNu4V4192t/S/9\nvtBJP3qDyBRbxDuQnYnhm/CP6H/5ZZCvh33v6i8/vhTffxh5f4nGLoOlv5i+\nu2Q8g09JuhdHaEpth7RwOAGaiMaH08cSywXc9ytBpma9a2ndCpqS5EIc4RyB\nm0MHAaRkIhuBuETSwfQk9/dBgOR+XMdkqLFhXXw16m/A+MIq9RezTdxRyfXk\nmOTFjw/HavJfqxTEZSgL0VbYQnTGOoWy5BiwccRwKFjQHlT2xfx5YAsiokF1\n85fzNHZKdaqC4bH7miwYE5pl9VGsdbe1l3nfumDoTaYeHCNyADyUrCQPS/z0\nxGQH\r\n=GkRM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"9915c413ced383747e1ca7f2069e170e38517b46","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.b240bcc1b.0_1576696573638_0.6499663278277339","host":"s3://npm-registry-packages"}},"5.0.0-canary.391674a26.0":{"name":"@material/dom","version":"5.0.0-canary.391674a26.0","license":"MIT","_id":"@material/dom@5.0.0-canary.391674a26.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9a83396390767961b1b1c5085f4be64b9f8bfa01","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.391674a26.0.tgz","fileCount":17,"integrity":"sha512-EdmytaDdHE4ce4byziEuXBxl/D5OcbnIlM0bz/iit20rBVmRGGTZQjuDShjaQxCVOZEpu++zLHL7kLFZWMtXRw==","signatures":[{"sig":"MEYCIQC2MOPtN2bxA7P1cbnWW1bLn7sfasMVNnr4mVMJstwPVAIhAP8SHCKsuTZsUCPiLIubOUfe/E27twCKNEtBuYerIprV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+nsGCRA9TVsSAnZWagAArAEP/1YIKasbC7pWpdtx//tI\n5fCbipSZ3VoVP9NRHB/2lcQiARBfKl/jdy8j6tzXaRHB55oADsEkSoKvk/Q6\nE10rRTz46biUDRRri/an0DKTfkOQxKQrRW0KGraX5q7wQ9Gqh8BqMH91exny\nF7Kbv29XOxjYHjllvQ5kiiJgcBN/CCrrI273I+QLj9jV9+T2tPRM74PLgvSi\nme1cOPeF5VeE4kjDFHDy6iZi5mXCcb0RMSgG8oe+rVFHlRPlYVxgJS/x2n0k\nnBxduqVkI7dVWiDdV8wJzV73E/1+pF3mLqwrBsKFQRhtpympd+v8BOuFlxlq\n4nR4FvnIAjUgrFXUPQyz4PKTgHlR1uFbzeKIBNOpx3UfYYjBv0mawMbtZ4MK\nxHgLtRozBtZr5OUjFaFFBy23Idt/wVbOVHrp1og7rwojGXbN/Vy1xY7TtEUV\nNfIoCwm6XCL1IFxCMMyaV2pnqhMwDJW4vk+8HKKVnlPdY3F9+W50wlO9BWVL\nRl3fPnkMpQZ0qNgHBJunOd5Ph7JbnOXXsTbJ0XidETnerDF2XNBsFM11o19D\npg4ClvpsImUlbVMeCMTSQVwPNEkwLtN1MJjU+KTkjtu8Kz5Iy7gNBEDr5Pc6\n+6Uzp+Ll/9Vav7Td4HgED+u3C3H1VjRkIHAf6Y9VqfdcZTEFs9HjOdkZlDGW\nCfPh\r\n=ovE7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"aa67ddaa5956be1096b1d442788cd4a5565d7598","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.391674a26.0_1576696582018_0.18357194266754928","host":"s3://npm-registry-packages"}},"5.0.0-canary.c4837746c.0":{"name":"@material/dom","version":"5.0.0-canary.c4837746c.0","license":"MIT","_id":"@material/dom@5.0.0-canary.c4837746c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a41d137eed66e5aa0794818e1bcab2bef8fb45ea","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.c4837746c.0.tgz","fileCount":17,"integrity":"sha512-DqOj/yTOUNA/zSFSzKh+9FHWKJN/Hf1ob78HRlG4lbAKRkFsjGD+HnIad1/4hog52ROdBeAURnPzWrqx81VKKg==","signatures":[{"sig":"MEYCIQDt8Sarb2U5z9N2ROKiuU/bpxOanFM2Z1ZPqVzU0L9KIQIhAOZ/31IOoPjJzWblELVDT1sJosAKYLcMD3gxWncz83Xv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+n8/CRA9TVsSAnZWagAAGQ8QAJ4nH61+bA+AXuM4pM2Y\nvLKB9ugWSpnoGDlLVtAmE+3FawfvGNU1U5Bp6ES/Eg0l2FBnEAxbSzuwFHAn\n6dncFOELPY38mxzn7nHyQ5fAR5Nd9HlNtHL4s3LOBuix3v6m6cV5MGq1kbRg\nyDdTTVN0UzsJ8haUK/lgzyETJ8Oi6yntYrsBv1RkoTG0ChVw3N1F1/J0u50a\nh82aAXo9fA2LpC3zilN5xX5fsFMOZgMz2KkTDRDaZhLAfUVjoGSrak8F0PYz\nJh8CJC3HeaAsSrdZffoKNzmB9ZHsK4aEC22Zpz1wuAp4zEWNCIM91UQxaSXn\nBTndhgMjp/p6j+TqqmLtk+sv2POcB5ALfCkMTafE1IMP920o/Uoock4rznhm\n6Bp92KRsLgZNqjgLXMLvuaf8pyFP6vY3HQmFJpE+pwh1MIfL0vFDW1cC70Lh\nCPweiMGRuJHw68T+kUICGtuBTWDRX7c2KUEmaUmsTxAElI2GSGIxufIVog3p\nYEE1vRhKrw3rG+3XODWXXvANfdYWixA8Kuik+x7GQiEp7T4WqF/ymM4YSCN2\nVosI0X6M4VqNrqXcXl6SVOjiEDsAMFlJz/87GTxTeRx87oKCfKF51beuyWNI\nHxGeV0+yLD+4+7wjq7cKl+ftR931ZgenCtLIkCQy7j4NA4sCwd+XpdNG/pGY\n+txt\r\n=IsiL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"44ccab29aa0b806ec249d5f5117ac9f5d82fc7ba","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.c4837746c.0_1576697663274_0.21101131384443694","host":"s3://npm-registry-packages"}},"5.0.0-canary.e41a70425.0":{"name":"@material/dom","version":"5.0.0-canary.e41a70425.0","license":"MIT","_id":"@material/dom@5.0.0-canary.e41a70425.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f380d352ea9c1c67eeb947af8839a335b52d5aa2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.e41a70425.0.tgz","fileCount":17,"integrity":"sha512-ci8gF3yY/pbIyf3ZJFYcczU5YkddHOs7JlqNV9u2eKxO1YhAPi8Qr0HhiB+Ui0yhCuqwyj4rFITelxiR6mBeYQ==","signatures":[{"sig":"MEUCIFJXcdgju4bC5j2Wu0tL/hrgHXWHvBziTVnSaU8TQqLHAiEAjWu8lWFqIjtpyB5MhTbnSU7wjq24GumZJWtjqlM2m14=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+rQGCRA9TVsSAnZWagAAlNAQAJESXeT1Larc6CrGnzMM\nWeMpPi27poR+IPNk7NMYNnEinLV6zJpqe3lHovlZg6LTlZHB2YzTUzRPi/xl\nF+XOp0Phlz0wl4k5DzStuInjMwuoyKx6kyUr9DqVkJRYhsqs9CEQZ2C5EgBP\nHkqVmxWEFHEtiSC7X1IIIjx8L1gwKl9EFsFR8rhgTB8WLRRSrARk7xz98sG4\nFh0aXCm94A+XbNKtEqdcH2/WTvXqqw1MI2rzTCGdNEREuB2XftcrGNUXSyNa\nY2uRnmbM/kXUaEpvTrr3wCopEkCbAjXX5aquk8/wi7kQ27igvc1bx+cAmNvY\nES96OX05Up8NcAMkTNzfX3tmrEJMB4DWR6/Qm+lf+kn7Tj1YVj4L5uAY7M9p\nVzZaXcdL2G0PQt3SweSpDIgwfJ2F8ooqknLd4DmWVI/6ox7i7pvoXihn+EwV\nH7Ot4r0D0P/+rcjYbQKO/rgzOv7JFMax4pZC4QQn0eGZsfmhKBOEyHDLHGud\nnkI2qq+b1XQ8XvkPmgXVDZFDEgioQ4HCLmNFuLoPhdBum35xfWWHifttMTPI\nwoUhgGEYrAVbg7z825bdYDclJZmcioLs7JkaHuTmACA70zBsY26uT74qLC2C\n9hHtt7Ie23HTxO6XuFvTfTjXvq+hM917wCFPuXKoVoeMTtHsILw0j9qUcauv\nlaEw\r\n=Yx+N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"2e938a63bb3297bc73cdf8f1f206885e2ec84a6c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.e41a70425.0_1576711174111_0.07499016836136119","host":"s3://npm-registry-packages"}},"5.0.0-canary.bac43eb43.0":{"name":"@material/dom","version":"5.0.0-canary.bac43eb43.0","license":"MIT","_id":"@material/dom@5.0.0-canary.bac43eb43.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2c5d5e1b4bd6ae3eedef8e310fc721cbc93f1dbc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.bac43eb43.0.tgz","fileCount":17,"integrity":"sha512-RAqcbAa4E0XVAGg0WbFM7v4nz4rqV8w33zg+kseG9HldVPnp7AdicUDeRBWqkdMZ65jxtIRQyf2lpuDdLIR8rg==","signatures":[{"sig":"MEUCIHezV5eQcwfnS9ap/IoW/0F3j+flc8IDgSmnUeSVbqW8AiEA8mrZY28/115+Jsc0kDWgOJJB+JLwGXR5tQFXDAohNMA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+rTmCRA9TVsSAnZWagAARZkP+QH7oxQUOKzqFuK6MicJ\n5wWwHiwBFqAZgBA42bPxWPJBnV0zGImTDCFotu1ZUq6zCbwxyXwx2yDUYthn\nnyz3TWmeaQ1VvSLCacIzHf1I0D8AItRc6Azp63jxZYH9KIPq1UecxT/loQt5\nwexRGNHZznjKemV40Pqb+iNtdvlswdJR6tKJyLaa8jIozVUhULx3cXDwvYvx\nQb+W3jaGs4AR2X0xOVc+Xe+Bn6oQzNzzrZgE6aEDVaKYNPuDeNK5qvxsS+Zq\nBoltWclMaGpoojl+qIIpySD49GqKAwzjz/KhpNZgKvEV2PNPjogsDd3ZXFM6\nVsUZ6UiRfsJrbCXHPIp7qSVd5fNMFzZZbPAkWXp9ooogRDB7oANbmA3OWKss\nfNB21PJDwPkaviZCLJLuuh5Fcm6rl/TTJc5Vdezt1dlV2/RaaD3MtSsUnyKo\n8olmJITYQworGZ1PPPGI2TLPVDZo8S04qvF7cJ0evjZFmdwqUWPQJEQ27JhR\nzQkdIFB76DxnLrSOSZ1uwqJC2Q5VAQeFw1WheXnsFwVNWBZqNuEz4Q0yYGJN\n4MOSoS1j71sgWPtO3hmdG8lbE//jeYEthAyvYtydCkEWNuC5iDuwVhdkAvlu\nyuiZ8cCWV9pUvzcS1Ke/6KUNaJelFskuBakLB2qB/lqOYRlH5hqgSMrTytrv\nkEX2\r\n=Wa74\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"7035dfa39edc06f1b58f72c5e285bd2998747232","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.bac43eb43.0_1576711397908_0.9266739192849429","host":"s3://npm-registry-packages"}},"5.0.0-canary.2e491de55.0":{"name":"@material/dom","version":"5.0.0-canary.2e491de55.0","license":"MIT","_id":"@material/dom@5.0.0-canary.2e491de55.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c32c781759a33f3bbdcbe6296b7f0c3b5fc76b8c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.2e491de55.0.tgz","fileCount":17,"integrity":"sha512-vf/eLgiyO+wvvzm1hdoQ0GOZQYqhOHh+p+P77u+IFMOrqFddlxQO5/O/q5tPuS0+sifLaMYJNIVPeq2imw9RwQ==","signatures":[{"sig":"MEQCIAIr6RKr3rTj5DqZrKKKPmM6PmWt1eDjPgQN/s23GOtkAiBJZz8AqkIqZX1fpkkhdtVBkmVGdQln6NjJzb8VIJU6RA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+1WnCRA9TVsSAnZWagAAmPoP/jIoVlbk8wbJq5+/F48I\n7eNYUBdowxaiI98Lty5aV6n/DRg6o9iQ8jOt3zW2KNrjBuZ0b3XKmyDTsphn\nQEiOuUMJx2VCeY5FPa01HFrauzgxxqQp58eYxAiyKzpurZXryqxUfWf546LR\nckSbifsB806PfAHheLSduxme+t5WxCE8UM8HZD5jVB+bpZ/BKgUjkP30A4lV\nxuV5P1Skb/PR35y23eCBSXwzeHBOOjO3yYg1blXRHIe1QNo319h8wQcJD6vS\nKdzVjyrWkJcspwfqooOIxA9lUdsfhFtANAX+61ktouyki0kdpy1rlcZOa7Yp\n11qZsAnpnDo1t5SzJA/yXwWw/cuq7fwEGcgLu4KpaG6F/XYRDgLBm8AGU86H\nqUub0BC3c36dPF90LfYhAQwUKOKDLPVaHMEQlm99nGmk3QSNDTFnf7Ko+6eH\nRRWErMD3kw0u0Yb0wFWwkekz6bFM3p5/psmtR0BCWtH0kR0nHcjfSiYqDO4K\nsuoSmCO/F/IMwCqowV5qLLb7gCw7wcrXGpBV8mHx7q0iGEZMQkkZASf45gDn\nCDaPaQaQCNtoIM0pbBpg0XyMAvaupLaru033arcKftqmMx9jnDYeaRN3948w\nBPqXqLRRtNENbLgVCpD8TEXb3zFRB5BSXHT10qty7z03pD5vXDrDVX9hS6+Z\nB7JC\r\n=P9u5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"731b98f2f9caf1251d3a82a3abe09828a92eb434","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.2e491de55.0_1576752550630_0.6139183565765212","host":"s3://npm-registry-packages"}},"5.0.0-canary.ae101c144.0":{"name":"@material/dom","version":"5.0.0-canary.ae101c144.0","license":"MIT","_id":"@material/dom@5.0.0-canary.ae101c144.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2b046072a226f3a42d8880e053f66aa26979dd25","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.ae101c144.0.tgz","fileCount":17,"integrity":"sha512-TlyVpH3s10+XV6KTnYgpn47Ud1wFdvIJ4F4YTHd7umzstpGh1hZGhNrVcwCpMqFvwgpezgItfrcUnLKycSvc4w==","signatures":[{"sig":"MEQCIBQ+JjkCdxCydGvc7aEgMFmImcjcKs8rmOqAlVfxNzikAiAlRg/Iz4B/Y4F4n+vIxcTzPnyFpGqRvqTYXD9uxlw6Fg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+6QwCRA9TVsSAnZWagAAhkMP/22g+OASSt9twx6ffXmB\nf2ur5aKvJBQ0KgEgCVyuBptxsDADWQcXCFcB2Bs78ZpBtObUdHFtcQhxlXcH\nj41quZijzuhbCwh9TvQ7Skgetdn8PzdMiFAMXn09+BAI3z83gtevxK6OaYRf\nLY4fl6T87TqgXpp5rdyuPhfwEEe5UJ39D0rrH94F9wMKqPTqc/9WmXnAs5jv\n0REGLyhB5io4cYc4aQjSwvMVM0Era/HFT6/n2IyRsKOTs8FGCio6LLABoKPT\n/CWgotKKIw/SXpwWa7GMiNpAxxaWFJIkAy7LHLybOkYuSETt9vqfuSIidbXB\nCffJF5ulqfMe99JHbEnjZPOooAVclvWEmqonBs0OvFAit/U/ZZ/Jc04t6nU9\nEFeUsXW6UQ8gwgVqDqDT/ucl9ZxrU84krueRNq0dY8e/7NssolmVbJ062vUw\nnk+j3anE4eaevarod+8bs6sdj+CwuWc0f1X9Od+6QouO3fd5VQ2WdvC69sL5\nSnPTyin69eynb6PfwkD1kEUGSNBVIu2CrdKNSWld8d9WodtPUjxSaoRSeiTW\nN/yBWGZRkEU9ocDLYsD4kp9nWPFFVkHjQgrJLf//kDFYrEDU66l+H4Q9qHRY\n6FagCbVWS6WrCyPkb8/AGNcSvgN0zsh9/x0lnckVRNs/3kaVOavU47yh5/9J\ncI1w\r\n=ND0K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"d11f348d85fc15df510c3e33822ce23f44ee661c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.ae101c144.0_1576772655612_0.303574874349573","host":"s3://npm-registry-packages"}},"5.0.0-canary.a51c31f26.0":{"name":"@material/dom","version":"5.0.0-canary.a51c31f26.0","license":"MIT","_id":"@material/dom@5.0.0-canary.a51c31f26.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f1f6650af9181748192d295739c0f647d4185881","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.a51c31f26.0.tgz","fileCount":17,"integrity":"sha512-I11jJbzpZ/dAmEXE7+3nqK9qmb1VF1dp1eDcoE0rFhwo8q6bihkUKdy2SvKIJYBAPFhnA3q4nx1IAV7vQMdcMg==","signatures":[{"sig":"MEQCIHRVMDHue4QmTkwx3srOrHcqgb7yfRnggpPhyzQt+3FJAiAz1tGSItWk3VsaxcD7HMbidNO3J1+uuSVD7dGbWpXf/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+6/NCRA9TVsSAnZWagAAvukP/36UZl38opwZ56p/YLZ9\nc1MTB7prL0/JS/0ZDfqGyFf0hI2muMnyl/bnB6iuYRuVylom3pV99zGLElxB\nD4+A4bP7tHD/+jk3BPyNshQ2kOA3YPEYy3KKZH8ihXzZ21kwniCcFYWY/QEV\nxsItNonYseygGV//XYXj1+t4pB/Ru+4E7ezD5tiL8iCiNDhkWoOZrMf/5r9I\n+w52mWzpD8hjkOxvorJWeiTt16mnqyHAh5DnooYvUMW2slE60+LaNJNxM1pW\n9ewCPUoARSwvcZKTznTgWCnX89B/fxpvlycQtGTADJWxKv5dnHEONWGm3LEH\nzePy+sbJPefFKdYaxbKmop3+NGZ3U3OyEfsbXDK0ScHERJJy9OYG10hzt4Ve\nOfU81ie8hpA7idInT0SPjV2PGX3JggqfMyUqWWPTyFKtYw3fwoQVo7R3Qw0h\nynXFwmF6Blp7bdNRCjdz5S7XPmMKsnnL9kuFlBT/6THsr56tZTI3L3JwrYA6\nDs4OLI6OUfmRxdA95zCzBR7Pg2E3+ukpGYjUVAAWiYDcnPqKSmPsKKCHpv9Z\nadlKf9idRboS101P9EqA6mVCWM51dEe/00iqvl0kYrudzz5mTYd341dYSMiT\njkquPybNfelgLNqUBOp2XleSeL1wdoimngJPOGKSU7d5TbfgUPwCXVevWyQ6\nI3YG\r\n=aLqo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"e2dd52b70a7e3cd011647222c15955dd4535cd6d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.a51c31f26.0_1576775628676_0.9348046296208821","host":"s3://npm-registry-packages"}},"5.0.0-canary.21fc4e13b.0":{"name":"@material/dom","version":"5.0.0-canary.21fc4e13b.0","license":"MIT","_id":"@material/dom@5.0.0-canary.21fc4e13b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"326e45b8997d9f4c534c57070e9ad50b60dc2c18","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.21fc4e13b.0.tgz","fileCount":17,"integrity":"sha512-TAbmqriZnbwCssYZRxVbWE3PHDpQGx4nNQ04IvC1vXV/s6SZI1wloCUXJKjA0FdE9o3gGTzduJKIDbDf1RUwfQ==","signatures":[{"sig":"MEYCIQCGm4gAQrUuSkAt8T5u/oQlzd/DDzdzd3rJCuHZ9dHdrAIhAO7OY3LQmMKT/uIskY4fhsuA6OAuTEW4Kzdda0EUcPiX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd++sNCRA9TVsSAnZWagAAiF0P/1quwD8JrcjgSn3bAtoo\nrSngJisCUgoGl2c9o58RXQA6TKhVQfJ3Mm7yLG1a8AR4ViM3mdxJxJJrOcVt\ntKklLc7dox9TRuNx5MMyGU2iO8L0rcYwYKfcU5iUsbzZ9fBSS/lbpxunxH4X\n3azD5QjmXjgCaKFK2ynWOtE63g2xFGdsY3FFTA08RXe1OjHFCHKQ8xeZ/o1A\ni3UVqG0rqQrPzR/D9NKYvJiujPx65JLIGfsGR5qc3zTfLA+mAg0RsFluupnh\n+E0mWIQwKdMFCl4vTeOytLWrIoyTiF7j3FIbT0GlFdCeoJiF0I9hioApuzzm\n4jX3RkFFDyK8ofbZ6ZABLjfTrQ2v40leyzKPgvQijdufI7VQBa6PNwWSg/1n\neUxlRLdmyf+ri+kBkhC6VLSVHtFyWhyMchxzyKp+MdqiWQGqernU4kHl3TwX\nogMT3zO+5+KnidH+lBvAXM9VjOE6tNzquPgsYE/xHylGzxmhmX2Hm3I4qX+5\nws/DIrKsu9lzTAjBAD67hNEm9e13YdsrrwSPT8F9GIek4CIpNvN2AL+8Mamg\nUWA/6YbnvukwM7HZRnGb54Z7Jajds6bGTbf4RHHfHh2/nVU3m7CLGMjQK9Rv\nPdhKBwDMiWgV4v9BeKtzkpslJUFvXPhN5itwZufyLudF4BsXyq4A7LFRPc33\noQ7D\r\n=3GG3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"ca71d599c2aed234cb9376ced1aadb512b071fb8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.21fc4e13b.0_1576790797330_0.8224227656739003","host":"s3://npm-registry-packages"}},"5.0.0-canary.d2ae6e17d.0":{"name":"@material/dom","version":"5.0.0-canary.d2ae6e17d.0","license":"MIT","_id":"@material/dom@5.0.0-canary.d2ae6e17d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"727b41c0d4b736b9afc240024841def1b296de7c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.d2ae6e17d.0.tgz","fileCount":17,"integrity":"sha512-ngTEHUtdihR9fQwKO/3tbHDWERdsAaOEXLq08YQBRq8chU/ngBHIL0yllNpXpNdSEBIKgKbx48Z5XUxaj+ISwA==","signatures":[{"sig":"MEUCIQCrnggCdHG4B5APRFJjXVC/wDstsfFka8APH6RCROFG0wIgG13rYR9cGRk89vHcEIFktBg4ymMLrzGG2k47p5P4JjU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+/hrCRA9TVsSAnZWagAAOHkQAJig3KxuDjSKM9Ty586j\nw+AQwZmiLP629rc7ZovfWLPKKVHCy+3f07sOQoFe1lvWojfxb4DBeKQXgfx4\n9vKpXjWNjVTv5XFpfP/lGWhskoUegi2Mkc7sgxn0odeoA3YCk2FwHFaMJQuw\n8D9KY8kwQRCKLXVEvEsGuEBlmRbZYCYjlZhbIlmvxiAMP6Ss96xqk3QliAx+\nNvlJQV8AteuMM5BZOrT0ObcgsD/qq6jkv7Rp7tTIFLKqUJa4B5KIFG/5VXGr\nB/phKoAIQRYbFQAlaFPEXqYEBSsMBSa3/xgL/tUiaiNHZGEi4l568c4Qp9S6\nEqTdDD4QVLJMt1dpUj4BsxajduuTAjP23I2Dlupb37gH4ivH3ArU3Pd9Xh8G\ns7IQ73c9uuv3Js2768bbBRY7pzCXhpuRu3eyzQlBY4o7PqZvjVR+D5uCbvuW\n8eIvVyFQGzt0T8EUVoqXEG8v1jKj/49ue20YHkHCA+q8kEkuWTO2gRx7J4l9\nB/rwHB951DDsZxGfdZEfdW2TurIZJmXRLNmYpMOwRdlHarnEfBNOGd8WLJJb\ne/nzT8GYX/fXuaX33cwqnYK1SPR2dIKNuBdaxUyCP+Z5R9z7qfEzj0crHTDM\nYp8/ytCpPhaTa+oMNZpqhPqE79NJdAGy712PVHMzl5gDIGIXrA7W14Pk9Fp0\nbtQo\r\n=0WnS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"aeb622d14d533f70c26396fb7db6c8bc48eaf8e5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.d2ae6e17d.0_1576794219555_0.46907656628711636","host":"s3://npm-registry-packages"}},"5.0.0-canary.ba30399ad.0":{"name":"@material/dom","version":"5.0.0-canary.ba30399ad.0","license":"MIT","_id":"@material/dom@5.0.0-canary.ba30399ad.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"43bf60d19fca0b60bb1295acf6df95e15ba05e65","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.ba30399ad.0.tgz","fileCount":17,"integrity":"sha512-VXvfkmMLV9KocekLY6DOhwFvB0L3OqPm4eeNbZ2wkTMK/07VoV6G2yF+gl/2w7Viq6ybL6jlh7wishk0j5P0dA==","signatures":[{"sig":"MEYCIQCRvu46LDpkywFhtCV/FgH1/+hSYVEdi/OPi9qUYkFKtQIhAOkaQwakYDn+2gxnUbD2beaIhINRZnpaqKW+LMD81qPZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd/B85CRA9TVsSAnZWagAAi78P/0ClHTaj3Bkz6nckvPJu\nOf3DPfckQ0HeSaKy3s3mkq5oXJsMHWe01UlQvMOmUhYPmiLyRPFon9vUbKQ+\n55Lv4BQIElKhYa6Mm8bQKSwigd14E8oGTdcixt6MiBzgdN32qQGC8rytM7xS\nZYoY7QkGfjX+BaF8GBxWzW6mC3URYeXJt5GZRqeV3i5FCkLfmP9PLSlG9+hf\n6cO8N2XglnXHlTDZi6RpWAak3yLcv2b4qJW+IEKHIYwWuHLNk1CD2c7WWdaQ\nRxkjTuwUqIE2Anq4uahBbGeV3uafUkmzwLpQwJWG/esH0Qk83NrgtZ6uYz7i\n7mGUBoc1WUHiq6NSmwTNnSJJcyNvSd+SusFbuFv+uoGP9YmyWJ9GoxmCxnzU\nsJdBIY8kXSDLSdt4jnCGvj2B0G/M/lJ6wLTaUk+STf+AHgglZTUpXYGcc7nM\n5F07fEzvNeCJUwMEX24XCRDTre0AlM48C+HX6L3VMH0Gg9YuLo+xGxQP6DrW\nKtIR/dvD1+826aZNqMDKmrVUaIo//IvV7GWHsAXg4lH6f/y96cVFSKpPAiNR\noKEWDkhP3ZzN+zIsatfeAW7fZBs7RrebaXPBmAx+n4YgKhtzcqhNEt1whRI1\nA7BLA3QeK4C6g7QENiuIWiTyIbjSupa630wMk3smOkHrWDKMvb30M4I2fBLm\nb4mJ\r\n=GgPp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"75ab7f122d8d469963211d9f9591a84602711f72","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.ba30399ad.0_1576804152577_0.979044624293905","host":"s3://npm-registry-packages"}},"5.0.0-canary.a08ccec35.0":{"name":"@material/dom","version":"5.0.0-canary.a08ccec35.0","license":"MIT","_id":"@material/dom@5.0.0-canary.a08ccec35.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9446ccc8c90308ce7f480af9db842a2607837728","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.a08ccec35.0.tgz","fileCount":17,"integrity":"sha512-EiuqcqoQUwrpeSWPK4jdBv2zIu+v0kuCn6xBk7UjIerRTmaG/Yca0OxQSi3qAaRt0wsB0DNyg1ugXljgTB+aNg==","signatures":[{"sig":"MEUCIQDI+4PdArQQ31aQGDgJEqD0QkGxwZaapPkpu++Z/rNv0AIgb/rsPlmlxJX/T+m3cr6+mg/JGhN1mK6VkK2zn505YnY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd/ViaCRA9TVsSAnZWagAAevUP+QBbVc/6f7VqkPYH6qxw\np0v6tucpdGIgtSC2DdCWX1vcO7XY/bI9JvTY/XF7QL8sjNk3jfKTBjrTv6l5\nNecgLxiasg5c+VJF2LW6ZDI53lGxQqZnpQuzlKYQ/WJ3B8gQo9kJjFvkrxXe\n5ADd+BFp/vRfnnTExNRzSezFHRr4OlcMQupcGtLC/I8MDxhhyBe2S0hEgexM\n/BaTtGe4SsVDE2ZuM3V3Lv3PYeh2H0LRuf5iNmD2bYbddptIH9dBvU9+4nVI\nkgC6Jmej/zDDiNYRfC23coxXGicWV78cQmcG5+uDHfRewq6l1YVK3kce5Gjr\n92dzHMd9s8x1cDy7JXFZ+u1PHmMCefji/fe/mCKCeWmxv5qmoYHSGIl+7dhf\nxZwErzgy8ZU3o3AqA20OWPDIhnWjPyLpTx5silHUYReujOoAPZ5jrAKiySqD\nyOM7pTySmZparWvgZOybrN/boJ685fuwsh47qJF6vzjvc11mRW57fyCXC366\nmDSUIHi7v0cB5FnIl+RrwkKTAaBk1SIEWh+aW6n68mBoDto+9wtbPZdSZpMV\nM8E87+L82x+cJkcBOeszO7L0HvDCAUUp6AHDrr6OL7vJh7s+GOKnw4svmHFQ\nsbv41Pf7FXfkZ0n88lRbJjfmKEo3rIOtAAb9QiaFidtGDRzgAAstE/jv6VLv\ntI3+\r\n=6E5w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"121f2cfbbcf425b2c92760a0fcf0301dafb14636","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.a08ccec35.0_1576884378281_0.8648755984667202","host":"s3://npm-registry-packages"}},"5.0.0-canary.a2f75105e.0":{"name":"@material/dom","version":"5.0.0-canary.a2f75105e.0","license":"MIT","_id":"@material/dom@5.0.0-canary.a2f75105e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"607aa69e6652a69ad5d290b9635ba69a165165b2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.a2f75105e.0.tgz","fileCount":17,"integrity":"sha512-LrMuDRGNJ1ZFC7hgE0BEl7oNHcDlqaj/4pCVwgX3dqOmd/4sCVrhZiVLjxIfVxL1LXxcPT8fjCkJOXbYi+M1NQ==","signatures":[{"sig":"MEUCIQCxC4++IoM2x4VqSi6zUtbMd9II2ToODCapxxodp/mAbwIgSQJ5cJlyuMRnZ2bDtfqWVldSPuw+Y35GHBndqamu1ow=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeARm5CRA9TVsSAnZWagAASmoP/jOdjRP3Dt+FjdZ6pqtv\n2V++CPSXBnQ3OELRAZwxzDIl6j0DnZBkukBb0WOtxRRI1lTEFCTH1i4Oshuw\nBeFInYDLppLVv5vt8uU+dDVALl4jhGsoeDAQyCOQuwkoROYe2QaYxFDDcPwO\nu4LItYJiGb2t4CimlHasmwZy6U6nTRV3hmWnOMRabCD+CxcOooE2pVaqtLOK\nrPkfOY6HSZYez/zWwr4kbzQ2Wd2Lr20OsBmyZijF2oy2NXXPztSdSCQb1LAH\nqwAmcDcTdQ1w25OEyWVTbJ8Gqsu+3hDPhZ9O4jYCs5/GnNEK5iyIqllImtkE\nbkTyKDvM/3rzkwXq2xKODZAqpLYV7aC9rC2S0rmrqhPJnpjPExGWhMI2QU3E\nCDxcnqOmXCZ+ouxCETC6pJp8P67dHhaFv1XYzRrl1wRv1w/O1q11MUwGfpTW\n62rbU9+AcJGMT4FaKqxA//lTNqVLdR/8VKl7XFhwPCRgLAm8g21Aln2YeNVe\n2yXwXsR24zFfAjA8dehntJuILhgVeF5gcMk2s8EAkTFCj0gC1U+S6H8nztaX\ndRCFEsPEeX9aFbMbNTw3nl12NnhLrKBBSEiicuvnJGB+3WU2/Hoa2BboVaiU\nhuyYrMwuJU0n2Rnhbcnr/qaCgStNKkcHAhcrcXpFnjCjhHE0ClTqOSNHK3Qn\n1ygV\r\n=cbrQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"7b2f4b595ae59e3e680ef1151ab400a3855144d5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.a2f75105e.0_1577130425118_0.2544559423422492","host":"s3://npm-registry-packages"}},"5.0.0-canary.c054a24c7.0":{"name":"@material/dom","version":"5.0.0-canary.c054a24c7.0","license":"MIT","_id":"@material/dom@5.0.0-canary.c054a24c7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bf0deaab72cc392cb4f532457e3d6e2cb3b9c67d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.c054a24c7.0.tgz","fileCount":17,"integrity":"sha512-8WY2Kce/WuIAtqPeDTWoH5TA04RqRoD9t//feWna7C3KzFINLu06GqyZoHfg9I8S8BuiG1rePDMEtBdCWkMpvw==","signatures":[{"sig":"MEUCIQCU1ZquiM8kFt4iqGdjH8WNxJEYQ3AW7cscl+7VCSj68QIgJ903yZWjX8PADDzUCg49aq+fw6sZHsxYaamVUpGpYAk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeATZqCRA9TVsSAnZWagAAg4cP/if5JKeyGNCSl8jPLk6p\nVdFObmVyKeIBSEh7FbcXsSQ+R9B7fVG78SS0Loy42vcI3llKRzzAPHEuXsLa\nHO9ipNOhzYd3HP2QjnbBIioZJO4rHPyTktfTPnQNv2LwLOckk6x4aXfbXY9R\nHV3i0fXsccyYGvMNfNB7TtofL2iC+FetM+gHcGisrqgxh9QwL8PnPX8ARe4j\n0SoqiNBvKnuZdLR9gFMAFo07Kpkpyl+c5od8TpBPIQn4MRqn6GsSJPKrA7lh\nm5p9VJXrwFMQIwvnsBJ554ZvZ3gj9C//5G/edNVEB6M/O2Cs/hrLoNvCozKk\nxz2Iz6WOFE9Kc9/0r6HDeHn7zRJq/z1mxwlwsyFsnqbbzDyA0vx0+t6Ewbv5\nm8doC/kvDrOCIwtSxzN9pBQofk6+BEcBqqNG4JN3GhAADPzZRj64ATBVGdLk\nFbhZ1Df0eexKVp2InHQ236YwG3wrE7U3OFfzVffDOFTYr81a3l+NY+hmlfui\nTOtgxxJ77nMQ14T6XywQhigxczMNdqBg/j5ZsmW0y6kn+VbpW2GHQS/JlqMC\nrC9Sa2xJRLH1TQCSx8esxx3x70meGyDNYqA9YwFUsLgsd4o8gA7o4rtIQH9n\nPbkumEP+qoiCXZuT6JLMBWD4IfIWYbaQXSEWrLYWSB5sf7WC6HcK8UDKRr9W\nxfjj\r\n=djX0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"4e2a3c12859a131938df8918a9f43b9146056488","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.c054a24c7.0_1577137770194_0.11177199434107798","host":"s3://npm-registry-packages"}},"5.0.0-canary.c6808c51c.0":{"name":"@material/dom","version":"5.0.0-canary.c6808c51c.0","license":"MIT","_id":"@material/dom@5.0.0-canary.c6808c51c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"379a35d3a94d329da7e4368427a7b6bc4295e019","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.c6808c51c.0.tgz","fileCount":17,"integrity":"sha512-/KlSYmsr+rs7Uc6nMhU9Rp1XlGVVlgYAoZpXcacVn0/BK30KNRCSi62sZLxFD7hxoW1hkHzm90i+rhjaVDC9ew==","signatures":[{"sig":"MEUCIEt+TyTWzee2SS+uONYrMkBN4JYRvPyIKmiLR7S1JXKMAiEAujVNs9Zwo6S3/sF/SgAcsrJFxR0YW9bU83gx2y8wLVo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeATeECRA9TVsSAnZWagAA1qMP/jyZI8W1yEDkrWJbF5qd\nHIVOkf+RS9Kjg30PDAOudMv8P9XcOSH8i3tPwmq2G+X3Y/OdEt0XrJn0wBEL\nXbI/PIbAVckU2WV3CUwyneu59XTIObisO5gTO4v1PZo6DH3QkRlp72X5izsZ\n/bm7eBUHSPgbuVlGo0OIxn88OKMBzNi0ux+ONwy387FHjPcwdYPxe8wNCQSC\ntbBcBZjgEfDlHwT+/tA6izUa73FQ2HsTC9TFQPJhbMYFe1jCEs54Y4aqnq5T\nM00oezxpUaevNZMzC2M/bZ1NG4tYNInIKPFS9m7RfAR9hZofx1lrfrt6dCiP\n+oux+ou4BvK/VdeKpaz4yEWECw9wlSFvcdhBnEaGu3ul51e7hGmxqo7O3ie4\nz9s+bk3x75ZHttyHchqu/lNxReY1CARAS99okz2gbSBpM2zJ13a9u8TVWkJ4\nVMyVEdiCeYCjYdZLZvMgDqIwfOqKdYsFj4jnbFKbuAdqyXLjdHExYv92tFdo\n79CUb4EVQCjPEuVkp+kCmS/jf9F9wzhunfFu17K5fuggtNQy2e0kvd968dBq\nqWaRSLl/pkq+JI9pqIfBuKyhvXVQOjN5BWv+XGeZq4N8qw2xPp0xv76wykpV\nNVOuThF6e0E8AtvwpY3qn+vGpzNXjlDYDTc0ZliLTUUEqMaksZvZb/JqpVnk\npw9w\r\n=Epib\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"02ee460be616b30da3c6d5daa7eddbc5f29d2500","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.c6808c51c.0_1577138052382_0.7090133673373145","host":"s3://npm-registry-packages"}},"5.0.0-canary.7bce9cf77.0":{"name":"@material/dom","version":"5.0.0-canary.7bce9cf77.0","license":"MIT","_id":"@material/dom@5.0.0-canary.7bce9cf77.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"503f666554d4ef1a6612b5578d9f7492739b19f8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.7bce9cf77.0.tgz","fileCount":17,"integrity":"sha512-IylGbHQQXjIk30J1LKcmHdANpa3iUDJs9NKfn8UdzWgbpUFWbllK+rXaalcwpw36k6icYCbA0vmgB+v4X3KQRQ==","signatures":[{"sig":"MEQCIHJ/dcJ1ViX+5obWmL7xJ0uuTplxIOnU8yDSA+ToLSacAiBDqRcUgetj0jUfOic+a6s4hGtPxA4OJDjCapyqKD+sTQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeBP+vCRA9TVsSAnZWagAA0icP/RFKkxWD+Zq/WeI+9WGY\nxkF5RAsG1ugxqjI8jTxsRbxQe7vpnNIB10h7zPVhSBbDg3a9v7g/aATSNJ+a\n5rceb0N5842lP+XKBWZifWjOYoE9/gT9SGHRQ7P3B4iKCsfImeAAgmGhMoIx\npEXBO9s069AxKgWeQxYv7+qIdDtUKnJK7MwtKQaulfD9QpZyT7Zd/k/5UBpL\nJGUytMvdugQ45za0cA7h+BOhrL/Uq/IQLecYmna25DhhgLr/nv55W3hG1knQ\nGvRrcl+wynLIYBbmX9Wx4keFnXb29yTFL6btpkJF5J9YuYEyMh6upEv4rY8f\n9wDD8tA6A/ZCABG7NUUaNaVEktQ6+HM2FMsqtKoVv2JbIlnSJnnEE4oH/fWR\nNvnPP/Twa6kifklbK8bLfTENUBRnm+Zi7VwdRSeDIlqkz2mlvQdB8TRHwSIc\nsha8F4uz8T5Z5S//jfjKDMXii1slAbIzp3TXZaoAcjewNuhxroXrhQZTTSuE\nja0bihtFvmneWAtV0yZsA2Cu9IxCKxNpQs9GnJYZeigrPjiN0psH5lNogTtZ\nY18um+SAccwmy01lcPD4HGAjTHA+4sq9J20+dIhHjMvzNKiOEWBLyCZ9CbcV\nkjE49VcRf8oj55Fl02oH/4J2g+URK+PBI5TV3Ikd9W4clzuV/iwctuyCvLee\n2Xfn\r\n=neXj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"1f5c1996d2328a53d1fc5cffe847b04aad48432d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.7bce9cf77.0_1577385903178_0.7849673453165944","host":"s3://npm-registry-packages"}},"5.0.0-canary.c92f038c3.0":{"name":"@material/dom","version":"5.0.0-canary.c92f038c3.0","license":"MIT","_id":"@material/dom@5.0.0-canary.c92f038c3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f17fbbb644e7b9d250f5858d52c8ee16435026fc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.c92f038c3.0.tgz","fileCount":17,"integrity":"sha512-6HjAdFSQViTQrA4u+6M9SZic8yvMbZGfOBctZM0J3/2rRxLb7LQF/IpepmoafAkK7PuQR8tYB86DfLo+55868Q==","signatures":[{"sig":"MEUCIQDkvo8JUTp4fQI6yDc/bYyrTPfsd7tclfHcPM0w/UwXfwIgawzYFSLvCydbp5kFCffevGuMc3TcGKfrnXCav1YDA/Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeCnP2CRA9TVsSAnZWagAA6+wP/0AbU4A3Wn02OCOYKuy/\nawfzxdvrvEaMtKpJttJXvJHd1dUC+iuk3R8Faxwj6W3QVmOWDXxKm1qYBP2b\nNL4FsSZcz9SnPWKILhWod9jPrqGsGKkhJZvaCYrkYb6mU0/hCyTCv04+TH4x\n4gH15dAvaK++TQn4W6PzjlrWx1eq/AFvVzYV+RGeKDEwFI8cbHwwPKMLYasu\noT55rGQfcIFho61TZiuL4Qz/vUuCyGsDxkMgkmvW+iKkuVWKvulItI6LitTI\nCns0l2zCd2AGXPkGX2MixFOUE/TEZS5bP1vdzVmLD0kqR0h32u1JHso8Ypxm\ntubYq/hkl5JnMPuLqmrXLGEzjnnYN5HK0tDBgoX788++6CDyr2QjfIprmu5I\njJP7JSkV+mCNfHxp0vCqr/XUeZ7KfjZymJQIR3YV5nYwQChACTIdz8HA+OKT\n0hVG7FqLmBbmiwTIQZgdNUyJIY1ZEuev2CLQB59RubBdM8TP8xIVOPDMy/Aa\nBMirW3E9bSjoaNPl8iHs1gVMPkRzr/sVjG0ou8/Ng/n94aP5lV4pGFLXvK8X\nXQ7LgfUu44kVdM6kALiiQ8+gQIMum9HRenLA82Wxqe9U7wOgkEgXOWh2z04v\nzuBlMy98v1FlROdl6QsipZBbyTRRslpsOGezX0GDMMkyLluQ3bX6OCO8la92\nJizf\r\n=LPiT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"823f4f89b39f86d10ed69fa8a943c050c2d83a6f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.c92f038c3.0_1577743350281_0.5690560428206806","host":"s3://npm-registry-packages"}},"5.0.0-canary.1f1ac7558.0":{"name":"@material/dom","version":"5.0.0-canary.1f1ac7558.0","license":"MIT","_id":"@material/dom@5.0.0-canary.1f1ac7558.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"16ad6889ecfa4021945c26679da396fe770398ec","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.1f1ac7558.0.tgz","fileCount":17,"integrity":"sha512-k/lrFxal3o2/IYV3cj3DaxyEbbLLq4h91PQxlPRnjFAfeypy/Z4R9HeT4Jhv606nbqa3f3WpwcHo9Gvfs4PsgA==","signatures":[{"sig":"MEUCIQColQfv4AQWvQXLNaKpMkPrwItLUAigIRHGA86wa4zV4gIgdJ8BNctoVncEbK+1R8s9A6b5SMaaPC/jZHvpfKuX39E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeDlhMCRA9TVsSAnZWagAAML0P/R53Ag0RkWXa6o2Xu+ho\nohFi+/VreoZ4KvV3opW7HLVKW91IcGDx0y5ljBVYejc9394er3j6JZM4Hmh5\ngPbil3pCIo6KwN8rQ8Q4czCBw0yMqtqDmNXxahQWggksQ88sKMmm4od7NkOb\nOj0aon6MfIKzvC41cpOgoDW1VmumrzAsgWVLIN/osO2fOYfP8BqVOkc0hLXC\nn1ppLYeBdkvPbbqp5QdXo30JXSdIGKhInFHXoCeDs+8oGtbvotqyw+5gLifH\nTFRs7rVrmrpZsLter4JtGvvRjigXifT9JDrKThmIdmdi+TYimQQ63J7JBX94\nbGkbxHglSu/zzlVcMBHCuip48LwqAbbyAIlSSmkRtWgw+xyS5dx4VRBfbOHd\nHJRoBwCe7nn0zEeiNkHbb/K+FgQloswigmSIdtfG3ZEwo/pVyyY0gbauaEDd\nqrNPputHAwBjRj8/8M2FMD8bwtH25kHU5oZEW37qwb8//IjTsjOTTk/ce3Bt\nF6D6Se1rcoubXLK8zNdXr6J8XoN5pn1BX+sw+PHbuKuwlGzpk7cvMZZH2Yxy\nGfF8Cp36fEQa+NCOCMkz6V3XPymQvjMb4HVpXI+l+RlYJ8o09dABD8GCtA8K\n96Edb7ZERK15opDwot8ssCTX9nby9LtJzlFtFS1yDfbbJVU1vg1oNjpyAVDS\n4eCZ\r\n=xLof\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"698a9278145ef0b4e06e9c33d51051b9650c5b11","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.1f1ac7558.0_1577998412059_0.40148054114441156","host":"s3://npm-registry-packages"}},"5.0.0-canary.ec26e799c.0":{"name":"@material/dom","version":"5.0.0-canary.ec26e799c.0","license":"MIT","_id":"@material/dom@5.0.0-canary.ec26e799c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"566311bf3e62d4ea246b8de2c26aa4d7fed38227","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.ec26e799c.0.tgz","fileCount":17,"integrity":"sha512-cjmnijxoy4vhKo8340XRFO3BpsMx2Ms10CQCSj9F0pedR8RGJTct8fGf3HQaMMTBHbPZLBuBTsMT8I4L+jPDAw==","signatures":[{"sig":"MEUCIG3K4ahp6TdPTc85L5U5eAs1MiWouEYzR2NLKKJJRaTNAiEAuZ3PJPV1AMRS6jZrY645DfXnHQNxRWd4ADyS6xev0qE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeDmOjCRA9TVsSAnZWagAAtpQP/3ul0oFY9ROYvF2YFVYs\nFpB1QOMQg6XW1Mltq9WoO1e6kRL9b2TymHSB/CYpJz2IdDvW13fjFSwhXe2F\nxOb1GJaVy79iCof8PtbL85zF0jRneWfQMzEti/Devs2cwEagxK+zwv+B6w9A\nrMJ4nTgfOa0Vl8w7ObQ9yGWDKVP0KzBG1roARior7EJYPhxUeivJlZ2p+a5r\n+leo8rIe/TI1hJzMpyaKmkidTMJFbiRQV47bOs+qyHe7KyAICbKdPNkLMG8V\nssc+Uqos7tFsDBQ6z3kWBX+IqM2x9whqjBVI2mX+DC/ruhSC1aEklbLyL78H\n5e+ymc5C8j4mBeUBa0g3F9RxWC3lIgafm0bC6q3kxQvB/yANK9J9l4rSHmra\n+d5pkPb5Ozoqw70H1oN2wlkKwJBn19eAKdv4NLiiXq7e/oyA/ZvjcNWS6XU4\nZaQ6ovk6yVfoNPiekgG2oY62gFZN/qW4RtPZrH1RsWUWyFtOqtQyDMCoHTkb\n36AOBuXi31GxE2a/RtYs2M58zNarken22KICcw3XyQZGREThwj8ZjTs+PpGX\n8wq+tj1z75L3pLtEy3rp9YJ+76VPVeQJYjXCLtoUJ+87d8q0YBvimvvLNVSO\nccrVL09C3aksEmDL7EW1twK0y9qmCSZOmnC6GsTSstn9tNc9Cl6QT2OD94cP\nkkuB\r\n=yStL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"813829c13087aa9fccac08bcbdda0ffddacaebeb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.ec26e799c.0_1578001315577_0.6517611785063138","host":"s3://npm-registry-packages"}},"5.0.0-canary.0a40ced40.0":{"name":"@material/dom","version":"5.0.0-canary.0a40ced40.0","license":"MIT","_id":"@material/dom@5.0.0-canary.0a40ced40.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d7f2ec0c41c4070efefc4e10fc983b21bd45422d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.0a40ced40.0.tgz","fileCount":17,"integrity":"sha512-2fuM1I+9ByzC0g+eW9WMMhXvHMMbnB+K8JkrjHw46bSu4JK/wrg/Wd45/uW8FDMVDxNjRQEQiSaU9T/aGI+X6A==","signatures":[{"sig":"MEYCIQDPlMZt/4OFtrGZ46TE3j4ZHxuGXYsK0C+0y2FHOIAtTAIhAO9nE5bC2tBMH41vRJBKl5yx+yJOjo9XWAY8gxOttpAJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeD3UlCRA9TVsSAnZWagAA8ioP/AsHYRnK4hSJf/8kU4PV\n478I6RwfCu786HVTlUe0wv1PDDAPfuVQIQSo4hOFQC/VeThzBG4Q8kaJVUEQ\nh+h3ftyKx2Wvnvl1ItFSOQNDIhcso3EBN+ciEryvPLSE8BbDq08xJx0cdSpc\nJjuu1/70Pah1g96UuWuztowdXzCoK1hV6R57t5eLr7FeowgsSLMDfq2Gfm9h\nF848N/JqhtIcuyu7YO3pi+CUSGWKjEG8+FbkxWStYzf9MXooAeuUitopzjS3\nPFpVuzCtrDOr8j/iCNQWqLwKnJGOWkrZs3hYKFVCmPt3t7cEY6aSZhyYxjOL\nkLbkNn185/krcBk46d+OH6ldyNgGYhHXadJ3YCl3aufUbcRj3AM7DVjw1QXh\nP9THHbtz47QgIE1et4QKuNxcOv6O/RZP/60NQoyjJaG7eyHMROiCNfrU/Z3M\nctaUOdBsN37EXoXqV59QXkgXJg+bqb547OhmE7tDqjCp1lmMKs6o/m8oD+fa\nfUSKTzsu69Yz2G5Aw113LAg9JkJXmIbTuDqb32P2kduQoVSOpVhuPTszAj0i\nk1GBjL0dXjCViz2upSTyR+GvnyJa+66ujvqk81ZgRQNuWMmupEA5F292Vq2+\noR/5pWxFls38+hp76I/iZYMXfo4uGDwr9VHcLSuWjxSgRpWnQPkbetLwJsX/\n9qj7\r\n=xvC2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"dcddd5ac583b29d0fffe1a54b6f634f6b90fa44c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.0a40ced40.0_1578071333302_0.4486990276425775","host":"s3://npm-registry-packages"}},"5.0.0-canary.3adf84899.0":{"name":"@material/dom","version":"5.0.0-canary.3adf84899.0","license":"MIT","_id":"@material/dom@5.0.0-canary.3adf84899.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c2e56b61141af89994e09766bdeac46a258e58d5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.3adf84899.0.tgz","fileCount":17,"integrity":"sha512-iTNxa2H8fVHJXcMGXErgJ7Khq/CdseheVobokKKxOn+YErd7rvoqZwe7Y77hGPp12Xnq/VEJbIThyd9tOtKcpw==","signatures":[{"sig":"MEYCIQDlry5IAIKdBuuqJhX32+jz3cn3Ulm0nhjnTAn/xvPbQwIhAPP8anGx8h0bFky4i6o+t9mScrKlkYsJWtVftt/svwXr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeD4ZBCRA9TVsSAnZWagAAg4wP/RcSH/pU+nUvGu91SVkT\n54A5Jzew7EMsvVoSKl0BQwrSblF+Bgz6hBeY70STsQcy+tv9w9RNulGWd/RS\n0j/kTzLjRRbV/tF8OgPtOi02tdU80bV6qTHQTKZRlgTNqNrglUeZ7hNrpkSx\n2Yo15EW/3TIEf3EqCGZHlLMWzU+WzyWR70eiKStI0o2qUROmlLrhiPYmHQjr\n++EboIRvwcrtyGZhodgaxfha4vbI9c38oH0Muw2iTJBuB81EkMgzzZ1ZaDQU\n2jp1/zaXzhVhkHP6TwUW9W7agAv3z7PMYIdQ4VETqZegZkFMaGao4Yljen0e\nGhxy4Aq4fif5QHr3Xfq60Pi2MD3qhvh19vCFISHzkSbHJ65/61D+XiikRkKU\nBt6SWCiEN/TGkQWNcbNdxXIIi2+E9c1ro8gMUACAXuYJ0uQHEwvMxxLHrwwY\na0He/j6Lo8w9mwmYmx2xwk5ni+tT8o8oeNkbvha7ZG33EEE7WqAmbnY7bHzL\n3uIy4dqAJejoUA5L6jqw071q7KuXIpCc1Yfpuyo58o/1WP5us0PpL2gmnN9+\nHrWQ6aoLjWSJVA7iMrOEbQRJqjPB/NSFl2UAUzNyWveIO7x71OHoR9Z8ptuO\nAJ9CYd8DmMeO6fuEcwl951qOFZghLJSgZbCGYeT0dQOTNu7nAhDGgc9PO7Yz\n1x+K\r\n=2Jgq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"9f20ea5e081bb781aeb0d66d6db6a0ea7a0f5619","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.3adf84899.0_1578075712610_0.7980131115022722","host":"s3://npm-registry-packages"}},"5.0.0-canary.0d42ee650.0":{"name":"@material/dom","version":"5.0.0-canary.0d42ee650.0","license":"MIT","_id":"@material/dom@5.0.0-canary.0d42ee650.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fdbc03e39dcebcac37cecb3e35e9c9917466e2b4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.0d42ee650.0.tgz","fileCount":17,"integrity":"sha512-GKSbp/JD1pyWwAs2VnxdWMhBUt3M9lz2Hsya3sFi8LOr+hfndZhNv6blEenWcOxNXj28DYL/ILFbnc6drAWKow==","signatures":[{"sig":"MEYCIQDog2BXEqA88bo7o8IIpRq73ribS4Nh8CVUo1zbNQfkHAIhALvrPPCr44yPZCxOSKCgAf7mq6tgQBePp4GtDE3qKK7r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeD7PcCRA9TVsSAnZWagAAsZUP/3xLk2j26+Lreh9RbFy9\nHc3VG2qmmB6N9xvFBOTz7/ztyOJP/8IFqZBmPlIvHnZ+b0/C03RaJixJLT+z\nu5lJCZYG0igj1Iw68dv8EtT4wO3+HmoKe9O2KMHxCUjAMJ/vKZdMWtRaRqV8\nG24wTK4toq9OUHtS7vjvw1OYL4a/6P1xiLaU6VfhP9yqWUbLKPBI8jbxuYuj\nZ4dR9jyCi4mQm5sadnnVsFUNFgvn5F4LAneGG0BHtCGAFdxE+/nM0PYM1Pb8\nxKJXx8bUhSZ70V+Sj+qJSBOfvV08HPM+pPw4strcEhsXKxkhXFLQDy4hMvWS\nhn0ckU/PLiwcH/0541Iw1YgVJ9FYvyBsGxXzik3KemgZaxmSJi0Hma3KZsI3\nXwB5UTkimtcyBKu/vFTem+r3RohAsm5hw6NnPs0Ie2s604CCnhhUWAhQUrcb\nltQeFFAXvoSJBK0/gnYzC7f3HfzkQD4jT7MrMIhkwJtJ2Xc62OxD0CmlY2zX\ntgioC4x3Jx+rG6fH5Xt+c7MksONHKgJ9dyn6FfydcEs302vk21bXg+ZNaTjG\nrJlIicjsbNPnkpi48iEOxCZ+XMN0DJ2DNtceY8TvjSg5Okoq7VOOJCycEL76\n1kL9tjG8HAxh+lVw/OSDHz6m2J0xnqZ9jt9vGyXgxzzBP63UM0QYYsLcLihE\ndhn7\r\n=ibSO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"184f253632333982c2b642e450e6e98c9703fe85","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.0d42ee650.0_1578087388437_0.47017002598880486","host":"s3://npm-registry-packages"}},"5.0.0-canary.7be9e4a04.0":{"name":"@material/dom","version":"5.0.0-canary.7be9e4a04.0","license":"MIT","_id":"@material/dom@5.0.0-canary.7be9e4a04.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cbdbe04cca130df231740ff6c3fbc2419dff64e4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.7be9e4a04.0.tgz","fileCount":17,"integrity":"sha512-kebZETRerWJnvy7SVswq5u+vtaB9dHGyB5uNZ5X7i9Z1q6/UmEeF+yg/lgc0bBsfax76DXeJEdVkvcwlVoPO4w==","signatures":[{"sig":"MEUCIQCuy/iSOJwaNvmHkHcp9/5yrY78Jv4LZ3nBf1B0VWx/DAIgWkjDe+7tjn3IOKshW3SJIGniakWJcQFbTQNxZjbDSZ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeE2h2CRA9TVsSAnZWagAA5R4P/2JNyRqvhnq3dMwHCIYk\nGLfI22r2qj+GkLVLQkYDJZV2+XdC+WvBag5ywA0mLa9l8XXs2SjF1qcIhdsr\nBmqzbP7FNuCE+9p7CxvIo49JIeTd3PI+pwWdYodjWHZhESbVlwBGyPSpJ7LF\niO5/vSDelrbJjXJC3KMJ+5xl2BEdovmquwSS4LrB/pOCTw5Wb4tztZjU5Ylx\nTwIL4VYtFKR1MUB3/zDTBbmOdhf2PeEFjY+sBT/H1/eE2DgWXXFmkmQ5XEzo\nI2MFv7hF6fMwASc3VJ1BZJWj3Hg1mpeE1S6pVXLt9lq+kexcw396wyaHvuMy\nYBhSgwx3nMoc0AE7bHRu7BGp4V4uR4e48ZJWdR3Kqk6QVmUKp88yY1jIlD/f\npHPV/p8GwSLJRCiy8goHtbaI0KSX6yMnYQ2UblM0ae0o59mxIEQ405flhmql\nnJZ3D22NbNmNds6dfsGsbnagXwXx/JpNK4RZzPE6xg5yDYnCkIYHSe63HTCQ\nkwIq6qkakSFfEWirevLBebJMm2UqxTcaSbhJcNo/hACyfvFG1+5PfmeLrX6c\ncTVWwbQ7yN2VkSUrvaXurOmLlNKFAD0yRLt51VRGRYELKZDMtpAdfpEpxrVv\n2WT9Y6ITX5WZ7tfXgDScKpUr/x9ZEaRQgtt7FjpxPB7wBm2x8EwBQqa7/2T6\nSIK0\r\n=851N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"7675b02e76469ef82297d4232a252b678b22d1ee","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.7be9e4a04.0_1578330230491_0.7976460499049198","host":"s3://npm-registry-packages"}},"5.0.0-canary.847dd1ada.0":{"name":"@material/dom","version":"5.0.0-canary.847dd1ada.0","license":"MIT","_id":"@material/dom@5.0.0-canary.847dd1ada.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bece667fcd6e3208879126dc65e1c6cc9471835b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.847dd1ada.0.tgz","fileCount":17,"integrity":"sha512-D7RwR1F+6OvnrKKpFbyzWI7GSVWKXKgT9crRRGXl+OCsR/zWaoyPr/fXUVqkR1xLWPF9hnGXrcrVzYJcKe5nUQ==","signatures":[{"sig":"MEQCIBPKIMcYkxPf+g7lEQ8YiHjyoGQjXJHeNC/GMqd1+j2ZAiAVVmEO3d+1GgPT+gKunOQ5Kv3/9+4VXZKjN5FzFy//fQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeE4m4CRA9TVsSAnZWagAA3xsP/1Xwshg7ZgADgcKvE2pd\nndvVSR8xrrRMnTBKLD35MURZt9/gRXaxK4Sux0d3mcUo5Jd6GW1cjHRNWPcu\n4zN6Hga4SiQR9XIA0wMIVC6xHS1y7kZ9+xRcPnR/n6GhWzGQttfzt0wwbyrT\nMWQR/m7aSrlMczTuIWg1WnTaRDsJUKxDv3qG76rX8QU/KU+UBSgn0BNayxoD\nX8ZIE6gjWjWPKCMaWZfl9TwF8lRI4rNQaiY9kI5NThMZCjKjMqKIoUHmtsX5\nPjoNnbohdeHVVaEVgM8iGyaCCtPsFzLfeWrgNYc9gnAq9BQi41+SfP88aM18\nPpzLi+CEln0urO2r/E2ra2GusrZfLJVUnBVuujW3VpTAqkEKqfwScGCvQYQr\nADI1of4Ys4MRw3LsM57BDiSDxLy7BHxO4DWIgJylgOzieB6s0pmbNaokC9Fd\nQWF9hW3kWM/CgOiHQB4A6UNf47oE3rT7mN61f/s+kXDcYnL9ZQsI/9bxVtZZ\nLiGuCYI5lNNmKhWYYkkgKQ5u2sSMmwa2NVd71gOn6szQMA8BcavoWLwWGiNM\n48pZ5L3U/d4kOX4EPKU42McohrNM3FuC/evPzseIJ31o8bUjkpS5QS72cjM8\nJgQnZiA+sitegkaPuZ7SSFj+CbgCo1mH+PWtiR17zGOOcI1YWrXTKyR+BG9L\nSZtV\r\n=XUl9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"cccb6b13f05f64e22210548991ad471df3de97f4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.847dd1ada.0_1578338743841_0.7694059457047417","host":"s3://npm-registry-packages"}},"5.0.0-canary.39df7e5df.0":{"name":"@material/dom","version":"5.0.0-canary.39df7e5df.0","license":"MIT","_id":"@material/dom@5.0.0-canary.39df7e5df.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"94734731a8fefc22037008511775da154a752b99","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.39df7e5df.0.tgz","fileCount":17,"integrity":"sha512-PUgpA9KiLdwGRmh4WWbbDy7iYuSo6wiAbmnv8ZQMN5WCKTJYDFFxfETVbnUMmhyp3nRC6C+R+U+uGpM4OfGc3A==","signatures":[{"sig":"MEUCIGXptBXcWdroInSiZ3kv2y7OjqoOFq1j8chII9NRWctsAiEA8it3dDAKabx7ydco8h03X76cLavdBWIY2OkazJe7KeY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeE9bhCRA9TVsSAnZWagAA1NQP/2+GOXvtLCGZ9vDgiiW3\npNWgmpK2QvHRQ3uGPEzqaNZsWXLEFoMVk/cLuP9vAHzdtSMO351bVa4EQr5W\n9W1L4JJNdbNfZTC5eYenOgYF6QT6GFybVQ5mdouESI1KGulI6FGhrZNsqtDA\nRfC3nv9PuPbV47GI1wETpcXhFU5xcK9OajbGCtzqWQQISuWA3DhTV646if50\n7SVkoDOaecvznErdMkPz7s8OrKNZuAhfBZDpM+6mRs/ZSijhkwM5WGd1zCOn\nvBtWq/C1zbc31OhiwuIGq/rWuMptS8LZWw4iFe3dSuy8dwtHjCa5cw+3mEf+\nCH+IlgDD2aFmJPaI/+peJYzdHP+yGWT8GuT9cZEQpJnIDlJH/iNAY7kMqC2s\nfcxAnqx+jEweLS0ahUdn0dA5imz6fowaJ+2KmtQTudmT9+3oNWkzO1elSYmU\nRbH7jYNspUoHOt1TCBuHrykb3Di9/gGnpEuCDI6RiAScXYMxvnLYrHZ9eMKd\nU2Y16tKBmTAE9+JxNcmblBM9QhBLdNeEY6oESbO9YVD1V8jeuQNpj/2qJkDN\n7OeWTY7RjoyJtpROQqaBFgazjpwqCouJ7bhyV8XvgRlpAo7OlRI4B9rpo1x7\ntKXMBVXoX4Zx4pgWuLWk7+F7lULgn4ARMN+4yT396/zI/5FgwT94Fx28nicM\nxgFz\r\n=ME2Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"a6995715f8fc80d9a20e6b8ea90e80f4906ca595","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.39df7e5df.0_1578358497501_0.14395629279100586","host":"s3://npm-registry-packages"}},"5.0.0-canary.f1a2581ab.0":{"name":"@material/dom","version":"5.0.0-canary.f1a2581ab.0","license":"MIT","_id":"@material/dom@5.0.0-canary.f1a2581ab.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fb899a05442ddce4ca0f378cf1874f37aee74b5b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.f1a2581ab.0.tgz","fileCount":17,"integrity":"sha512-bkAK7yFrCcwriI2Nqms9+/uEzZmotVP9bjUMCvlA8WFvGSP3smvcVQT/PtqAxzJ9BEDNXzUClO5+4w7fjtvoAw==","signatures":[{"sig":"MEUCIBRT0VTSRt3vXkC0bUkIc8seTyhBSQHAnSzb8XWEX3YIAiEA0Ifojlyqw9IpMe16mcyGG0b/Zjx/CBqkDZqDiMaTQ0U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFJy0CRA9TVsSAnZWagAAIyYQAIFQrGsZjjbRozekEKLp\nDo2sw+UjfglR/FE9aHwCIWjK4HM5HCkQxVnPCADDnomn3txzkhWc0kTwGgYF\nbMaY211aLN4cwt8cQ7RwdQmOizZ/EJ8j3lFBBCiJB/L3whVsBsW42FttCipa\n71u4Tb593ZK9EDP1TmUMpuECJZo6DVHcCwnQUkJowu88zbFiEtK8xUGi/tKl\naA74dlFnmAATJuCIBqjVTFHeENsI6gPVoh4nfRKwuUIpnDYF/p93jgmWHOE8\nnzTq/m6XA9ql1Wl5yZ+iN1qzFyUz/k3BbiI4Jjx3UOwEggC4zb1gbvOZjhI1\n94qnWPvicRzgYtUQ0w69tYrdTVhF2PXJ9EHThZiipkebK0xeT3iwTLVwldnv\n0Nlql2dhLGEO1mxw+Z81RrpV2+/jgQA7HbKRucJhuPSH9hBCF+FIAn+Tersj\n8wuU/pmChoVibiAUVzrQGxTLGNiAFnI+wJz2hxxgHg3nmruHOvg7npk3AW1B\nJ66S55bp4COEB7GuhwmJG5I+sS3M+z6+WQAXcxm9khku55eQBqGV2axPVdBm\no1YN1D0WmHGAyf/gTmAv+whGXh8r0qYDpDINBWQkU1/m6L1DX4So4HgC1wA0\nwx8TNY9EDgJ/Vpj9VRMeOmK94atYqid0iL2Exoah9SeZOh4Kp92iomgUQhz9\nuVJ/\r\n=P95F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"ae69ee79a4a22a7695be055fc67e5b974c2b989f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.f1a2581ab.0_1578409140401_0.772719346793517","host":"s3://npm-registry-packages"}},"5.0.0-canary.7c7ddf347.0":{"name":"@material/dom","version":"5.0.0-canary.7c7ddf347.0","license":"MIT","_id":"@material/dom@5.0.0-canary.7c7ddf347.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5f68d7515b931c88e4954411eaa2dec50a0a8bb6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.7c7ddf347.0.tgz","fileCount":17,"integrity":"sha512-LH2JrfjvJ9t1jJkU2OuoXC5hxTJo9pZi+pHAxJPVLKkDPRyD8h/tQ1Ou1m0d3FjonkSxkN7F+WSIZ197dtSVgw==","signatures":[{"sig":"MEYCIQCvkhRl8RrwHyiw6V5L6V3mvUN2GF7SO9P+EEESFekFjwIhAIoUe/HB9vXtohKtlRB2rCU3pAKeFd5AMLrsrpTVK9In","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFKBsCRA9TVsSAnZWagAAb94P/RWES2WWkVhpBsh0L/fq\nFHDQ5tP2WJgEaBBjpQYWRWEcrR9i8Rarv7li6nHQ0sZrM8GHTy5oFx3FQ510\nMvT3EsX73b4oh4ts73eV81eg5pL6JQt/87vrKcUm/UPP5YkYNs7CFF9B3hRp\nlwT/IeLb+94KbddKxvRBydPGL1ykiiSj7Mqgp9z2GI4CdNfbwHerbJi+1qmG\n1vl/JIpm9Xlxh8OALnZHkYAqXUSJxbakxMguWWz8meYgB7gA/LV47wIYNOyv\njqtVVj/JuUiOlyFVtff0T684XSSGSB2f1uqjqooEs4xfG6busIrfRGU1+e9S\nUOIYkiOqUQTkJpaC5mjUqPPfaI29Ts6I0vlADYWrMx4+DMVpsgZ03v/lh+Ss\nA07uKDh5cy9XPbWx0VeN8OTcNDHNAOk2P9cvNzLtztcW7IfqmMivqIwU8LRH\nKr2XHNkCQb8UAygqWUXho9LhiqIo2ju5x7nM3/uEPVfYfP0KAF7dt4OYdc3a\nWJt7aVp3BU50ngK53tKdlohfMCpoJgDPuyGr/F519OAb7plofTdOQPyRsQqZ\ngp6ql5kadT1DOytcOjf0JGWPyM5LLLVZ6Kp1yaoRfVI06yIi04W7HBgM2GxX\naBIel2inmrchXEHeJc68xrhAHl3mHow5rA/7+zFlPyDp1vKDLSUrC64Ltite\nQiEC\r\n=yYdg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"940ae7448647ebd59a16a94b84c479f3f7bba9b6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.7c7ddf347.0_1578410091631_0.843559656463233","host":"s3://npm-registry-packages"}},"5.0.0-canary.a1c84d4b5.0":{"name":"@material/dom","version":"5.0.0-canary.a1c84d4b5.0","license":"MIT","_id":"@material/dom@5.0.0-canary.a1c84d4b5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dd225602f52d7d97502cad3b71bbd98e342751a0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.a1c84d4b5.0.tgz","fileCount":17,"integrity":"sha512-RpnmkkYyVm+dzpc7bTDhBzFm29RWDzOXk+oxb2ItfSRY+I0cl/JwpBZDhpsuEMbYzos/V7Uv6ZBGf2hqshka3w==","signatures":[{"sig":"MEQCIHcH7IKn0eOZaMI121y9WwuDSNNFi3w5GNDKClLRklxSAiA5Yd5mpHmXILCpLI9QFGQ0t+yMePhPMo1e6eiGVAcgaQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFMlaCRA9TVsSAnZWagAAAxgP/37/s7TGqYrfc11uczU6\nHNUvh+RpLYFaK00A20n1P5WCLQMGN1sFrnZN62RRbZVXWU8UJMXQuRHzy/jw\nse5nelnxeTEMA3IbWZhYkueWeTe6Fc9qDuPuxdLOvEYk3C+WL3DYsEIUyWlG\nMBszQF7GTZcYaeD7yXRpvivh0dzhJ/Zri8vc+90vjYNFcGlp7Ogcj6FX8xDu\nHHoD9dAqNFbKTkyW7Zzl14NH/bYioPA7+0Owg7KjWWdt7PwWi2M2M7sereRJ\nbIBZ6v6fGNUI4oqYrmPRW1w1I5zLLwe4ejZpEb+dSMsQnGBl9mEYGMZldAW6\nIuY/raJxxeXjuGcJzdMxPhtUMkWC8ZXkgFHAHiobyqWGwrFntAFmryIhHaMR\nu09ZzwoJOjKII0Q2claC+WumGkbcpnsLqtRGu1FQ33ZHhOuRhcvIEwOevAM9\ngdONpAZNUOkEPpRcpE3PqU1qSyNbTDr0HP8GXMsMDL9QHb3DOb03boXrmJn8\ncBZy5/FyuZG4OTwzBPXt08rRQ2e+E408T2+dVx7wNN1A/KrRZK+On727EXXS\nYS4Nv/R6HP5owAlUqO07D9H9v31asTwyd2Qfoham++AkV9UByPhkGqf4tHFZ\nQwzWeviPe6TZGaUJ8YmGWOi6g3V4X686MhG3VxcJN13H7hgl99h3Ik91r06V\ngPQQ\r\n=T26s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"5ec624a1b571d87d94d5187056a0b6db214d229f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.a1c84d4b5.0_1578420570020_0.2718092727999981","host":"s3://npm-registry-packages"}},"5.0.0-canary.ec9f16578.0":{"name":"@material/dom","version":"5.0.0-canary.ec9f16578.0","license":"MIT","_id":"@material/dom@5.0.0-canary.ec9f16578.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1eda6c3b1136f0d2d67b30874a3f95fe32ed0485","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.ec9f16578.0.tgz","fileCount":17,"integrity":"sha512-WK365XRRzW+GSmJkQdxfsGRHEq4WW3TJ++kFuHfKD1k5h5w2Ues6sslhY99iUgPcfN1rB6yqncLdDCgrty3Wdg==","signatures":[{"sig":"MEYCIQCcpSGU69K8nv7Fe2Z0mL/Ng6A2xi0k+yL0ad8mtjOVMQIhANLzuSzNh2hsIja96TtgQ/h1BATiT3zSUuKUYZ1rpCHr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFN5VCRA9TVsSAnZWagAAtUgP/3CFEW54jilrX36XYuo+\nwY0hc+PVkaXFugfHlRoK6uvthdhRnrBzItU9TgOQaf2j7w/e+fzIFrA+jnTt\nB802hJGwMcRnjlNi7nyWFH2E03ogDK0iFstapapNoNkFd6khkMqO2gcqGqX8\nz8wMULV+qyimnqmdvplGqLm3VU/edC27hdhOEwmQPIVY3/p3QUd1Lmx7f4mW\nkBNaRNHWiQtcrXeXeSg/MLO1BRP0Se7mvxVOm3e9w/aIkHpsaRCiNK1Nt/DN\nP830vlcW5kb4IjrpTeEpIUv+kapMF1WVGvkjJTWSC5sJ8r/l0+sRLeHaOO01\no0yUhLJ2evv+/bjJ4O/Yh8VWpEkERPDWmqZjcUebLI2CE5pxYrayKPals5+G\njHcky3UH0+J/exh7A5Yrwmo4MlinWBFsaVxItor+xVHWAVJjD2J0jmhDenFh\nnH5P6AqD6Ow2ICOI7/Blkz0un6/4/aAauIGNdgCpbag5ywgJaQzsJIu6POiU\nXYH3hqWFNmZcwqndZCx7gCi3RY3ioL4Vmr4+4/+cC9PAm40A3OtA1/h5WAUR\nFGIJ1liDYS4cCuhNvpYGp9ar00yvB43/GVA37qwGGyBMvJo4CS32CjLoA9n6\nOCzV4P97lxHio5u9P5KkQ8W0pOdqE7YEmPmnJFmPh6+rvTNkn0Cj8KNYpD4U\nC/TF\r\n=bt+e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"23103621e66342865b8700c5948ef9134fa8d1fb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.ec9f16578.0_1578425940746_0.1354236071871453","host":"s3://npm-registry-packages"}},"5.0.0-canary.b602226ce.0":{"name":"@material/dom","version":"5.0.0-canary.b602226ce.0","license":"MIT","_id":"@material/dom@5.0.0-canary.b602226ce.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"64d9d2191d5047a6a5baaf9b3251e350f2cf11c2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.b602226ce.0.tgz","fileCount":17,"integrity":"sha512-2k62o5PLEH5fI5Oe46MZ3eX5vR021EnWTcLKAkgwm3T0GIGxUeizHnkrJMyBI2QECAS4EjpOvlytGTCvMbiBkA==","signatures":[{"sig":"MEUCIQD1saizzCo50kLZVZKm2+ogqit64G3nSfvZKRVJYXmGhwIgMONZ4ey0jQL77pO/DgvxdjHEBfjnih62FS+mTOTQ0K0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFOa0CRA9TVsSAnZWagAAqXkQAIEIZ3y5LXVFspG9vpoQ\n+UnEy3ZCCEFwLGRjlNgAnNGpAVdoypXWYlv90sjIZWGDttBnCXa9vVEb6tXE\nRfjQpAOcuLOwe4Ke8GVXjzwygW3V214eNbETizxnsiUo2teifD3jvdcn7yU4\n/xnULDHKcOKfDYw7sCCm/W3lornDEzs9lOaX8F8pnHRPB7aZBdkUT+54qlYn\nVPLzC90/i6xE1Yzu6pU6JSIlQSdjXv2f9YMIh6A2Xkr7DfL8JKdYfee/tC+n\nDyMDI0y7aDQzs+bRKtaPJpz0zVqRZwI/hL/Zu1hX/6Bv55jTJaeYTLLo0fOw\nFQQxTN5ncQgEgIJuiESPrmzPi6QJ7kqujjc6QTqxtlmVbbtUNoXwEp/cQl9O\nVsO0dsFxrbvOIO1oVhk8vXkLlq963wrvyQxhDVAFUudmfamiwp8AwZ0CJnvV\nYecN2Hbpc4reRa2mQAOh609FWtDcnNRkaiBf5DVKbngMIPqI/xtAX00aGsLj\nJqRpznXO0tBD4/zX5Ahw2bb8Ov4GgbVNvknxoMSei2tl0yQwNmNi1gPC/nMu\nxgh1XWFQG5CPWaXmSLtqzkXDdqG1cOZXvwvVsx6K68xrxyVS26cECHKPr5D3\n6M3ICKs2nuJVzUFj7t41QYBxpqXNaZ8jagZn4y592/CSlnnC7KBahFONd13I\nl0Os\r\n=y+e1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"de0d35ec6a5285ea0c12a54a6e35051ccd0aac1e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.b602226ce.0_1578428084120_0.11213224384447917","host":"s3://npm-registry-packages"}},"5.0.0-canary.b2d2dc08c.0":{"name":"@material/dom","version":"5.0.0-canary.b2d2dc08c.0","license":"MIT","_id":"@material/dom@5.0.0-canary.b2d2dc08c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a3e498d21dc097f7f7b79e476af99223574509dd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.b2d2dc08c.0.tgz","fileCount":17,"integrity":"sha512-VYTQuC9kiRP6fwFWazGfAsIxQe/s5wIM+u/gjf28RCgZqxPZMTxDgzSBHEg24hWXcWzZ203IooVMvNBO5SLW2w==","signatures":[{"sig":"MEUCIFlZJQ/dL6jXfDEJExA/VOS8sBUHDvF5Vpbi5kNav4aaAiEAuQ15ht7IpQiNbb4iCt5L+wyUKljtzM39DqyY87PB0tw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFPdJCRA9TVsSAnZWagAAslkP/Ah0+ysyn0aPkA78D3te\nwY8OlYei9uDFfS0V2SiOcvgsAor9czti2YwZDFje5hDA88BWu4lnxOcIR+YO\nIGU9veZRl6Jdsx6UWtgwSBpZb4VV0hGyi3kXZJEoFdJk6YmUSRsANlJAwtP2\nyTqjBKyHq/dLOz5iHkPA8oAN72sJOTx5bFNgrNjhGpReadfxHar4cggknO+T\njjT0rHAAUxspkqWRx9CqUXFGqqS/zA9Lhh2SVA1ow9m99Tsz6A5vC5cMSFKW\nm53syntUm47Nok7SrV/0JgZSfulqVmq+oDEr9JQyCH0zsP4/Mp8c3FuHigAJ\nrWp9oaobFycRgh7BT029KJa8nC4o8VvLsok/djK9r/oo9aK0fxmotqweD4U/\nmeDwUGyP7t9Bc6qxE3Ru+C73xEIMmNLDmR3vnRWtnG/ixRODROjtwzW/QMnR\n8tpaRZJ/8vhdaJkxwSnsNh+/Z4tU+8vViEvwiilvoRHcKmmRCMHAPhh5GTZ3\nPp834WgcHK3aHOTHmvj95HLPGkP3hngdRZYbk8J9aHPxVyoyQlNwr2AaJVrQ\nswgkiqggwLl/k/X02pYQT/xBkuTH5CrOW5A6OnVRQLOHzmR2mogyctPmxuk3\nUrb5SREUEQOwxB3SklVk8EjU2oDn/4sRe1sqTxwLoL5K+g3/9w1bgCd6x2rV\nsmYd\r\n=n+1t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"ec9aa1966e1f2e307207d815ccbe3f16750af94c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.b2d2dc08c.0_1578432328834_0.3648414883429649","host":"s3://npm-registry-packages"}},"5.0.0-canary.61f2d7580.0":{"name":"@material/dom","version":"5.0.0-canary.61f2d7580.0","license":"MIT","_id":"@material/dom@5.0.0-canary.61f2d7580.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e43a6709ffb12c879c69048cfc017ab43d07a9ce","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.61f2d7580.0.tgz","fileCount":17,"integrity":"sha512-gr9+a5t3gG592diTfK0A6V8SDOYgSM0vrQWSexP6o+7A/QGW72sClEcZ6WVO1SzXenuRQFFzqCa5U3B1osbdVw==","signatures":[{"sig":"MEUCID9Jy53m8PsiKNBKcgMvpefyLfhawKVxPYnJbE0tkXDIAiEA66hMTr9MT+Pd3XuAdLMkDObwUkF1juGW+hY8AmGqoBQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFPp8CRA9TVsSAnZWagAAAxEP/i+prTSIssuI54FngPrR\nqd/r79YU7qzT/XAQqN0U5NAoghm94UExcBfoWrv+BRS3Qn77+m3VT4bz7dU0\nqAwUwRVhvIwPXzKXIc42c8IAD3mnc7a7X6PjwG8ut3ReS8x7n/WPoSNJCpFP\nbIcU59gCXHU6k1CuxOrREMpvket1yEfW/skmxd6N9050ItrhMBiD4A082ogq\nu61UnnWG+hWy9838HIfly7on35dLqA/T4XBWlnelcshYmx9m97ONk5L5TTUX\nYaONftG885P6n/HB1juXVraoHHwKCRPCg2uY7kwt0NAYdlvtdOuNhFO9cySH\nBW40WjogfZR7dKe0nZLkynz/vUZiMFUU4V02DpmCGqojtXrvIUyD2KGMl+YM\nCxfii3d3xpy7sQ2XcKLa1gmErxRGNC2TlKRse8FuvW9hTn3jjY8S4Y+QSlK9\nvXaHMEjX5J7Mi0bl/IOYBnk/T5G7lMbYBF53qA5Jrg0iI0KhAl3Raein6++H\nd40kP9g+GN56dTvs7XnDKsFEOHSN4JALSwt6ycszLkWlwhi10BcTuiHAHmq0\nh0jjSk62+MTrlgxkOr9DmBDgjw1+JdtHy4WK2HIvVfITqyDaNHgftNddElty\nEjHoaa4HI+W+R/Xda49U1vkiTz99VsKCtkKRCZwtvr/WEozszdIUV7+qhAbB\nq1GL\r\n=hf4q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"a826fac64c34ef89005bede280cad29c76346e55","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.61f2d7580.0_1578433148489_0.8054629001354701","host":"s3://npm-registry-packages"}},"5.0.0-canary.d1be53a2e.0":{"name":"@material/dom","version":"5.0.0-canary.d1be53a2e.0","license":"MIT","_id":"@material/dom@5.0.0-canary.d1be53a2e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"661f368a828ac94d6999ec8a0304dd773a4924bf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.d1be53a2e.0.tgz","fileCount":17,"integrity":"sha512-qsKTVAKQuRWVuveafn69beMtT00gPeqWzJxQ0gMtLCIPDS/sc+4zq9XRIkrYFX0nrXfkTyXpNqWTCii0xqoDhw==","signatures":[{"sig":"MEQCIQDII1AYFNOng/DUFEw6tv6xjMd2C/sS1BZkhf4A9g3LKwIfSu58tGteybEFjhILIzxCByhCMkkprVa+dBoxbDglIw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFQM0CRA9TVsSAnZWagAAGjQP/235EaKJuYF2tMJTRL7G\nFL3hN5zM06pLaZzzSVyJyRbCaJ1draLUwfkGvtjc8UU065hLCu811Cm05Pdf\n1iOLPn/VOk3kUQWfJK+UXqr1unUufwbXuLagFQSKVMFRrrLkY1VYlaQQr5v1\ns5FfBF0awMQI+pB1I+6T/HpDq/ZNWPM/2+E+85khdQcYeT0mknbjwnaw5X2I\nJUjKq7ojwF7HMq1eOkPlS7tDXYpe9RSSRdIx9/dgiAeKwOTfBbxB7+ClWYmx\nRiADw89yETJvs+Bkuz+LEchYXZABrKpL10Zc3sgyN2YN5JryQmjholb+AGta\nOZ3wl45Ydnw9PgM97GO8I7BbU6YZ4ijBG36E75m/nHVqpwjs48eoLL8+UPaT\nZ3GwMTCDmhlt40IQB/HQWRigtwrEfcIH6f95SsY1V/lLIcbOlkPs7AAsLYFd\nVCxZeTKttSA7IOHsR5Ud4roYxHk5OB6OIrhflASQkzVzY5JHexCEk2tMpPj5\nRaaXyhMQX9V06tikU1JzUZCj0WEeml2dRbQUv2F/9aEFFBZPdRWwqmT/QD3R\nGn2u4erSXElcgoVv7pV7JBL6FX3XlunUD9kaepB7z0KmVdgfmwOe2RXcWQfQ\nj0tCowwCZNyUuWzCJpjy7kdLMFUaOkoMStjue0Y5SLaWInoProVonSgqLCsl\nrlA0\r\n=K6bx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"5053f71f9a35d62630821c2c4084794f7bedf258","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.d1be53a2e.0_1578435379828_0.5735241711006311","host":"s3://npm-registry-packages"}},"5.0.0-canary.9b0d06e32.0":{"name":"@material/dom","version":"5.0.0-canary.9b0d06e32.0","license":"MIT","_id":"@material/dom@5.0.0-canary.9b0d06e32.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3fee8a57076e7e8c2f1a6588397c1e7cec2a4c3e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.9b0d06e32.0.tgz","fileCount":17,"integrity":"sha512-5cG6VywirmOg3mEe0CnecryOjZP81f+ftxd/LDwfkNXXFomDo62GPx6XvkiyJHRAvsKX4Wri1nc+O/3O3pvJAA==","signatures":[{"sig":"MEUCIQDR1ncer5+Rz3AJxJyyf8hjy0XyQfq7EMLjftuySgvJQwIgXxAbvftHswts1D5CIVqVaZrc662by4TZdZoO/2kx6Pc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFQPJCRA9TVsSAnZWagAAnrMP/jiIyqi2bZCN5F3rE55r\n+eAa1WHtANxPeuCiEo6Ny5T4CCizm1HH2JBSdCm6aNUKEGcMw4acoHNsrkS8\nm0+tDCo6HoKFDvxUnuq0ia1Gz3bbjScSHojlNbJtVlhIF+qL4RW1FWNeHqPe\nNx9aUr8g2O1Z5HDTzyjGHYfQ8JKvMNli8SGvN0SFmwTlrJZlc9+1b+2sLy0m\n3nGhVqvvi22pG7a4gvMFX2VF7U+lO4JdRlMTHjtHUEHejdPu6fxOV55gt8vJ\ncyQrdRvWVcfcGTC0TRNtt0SwadtvYIJnj1CYL5AUokmnC18LWem21BAkllZk\n6wlaDljrlHyGEMHDqERbXSivqsIQUthGGYZ0cYV091CYsc1y2yYP9jdVh8E6\num7zQiCKHSyk6tjjsY3HCNPAW5nSuIaKWaZ3RY2Oi/pT9MAVk6PlLB4C7sxd\n1IXz6uRRYIDOq/xzNmO1OgZ4wFbLEDByW3sNXPVonKJWx6sm3AvtVK1ThFc6\nEriNJidt7cYnGaScW/i1UPAJkM4+ZTazmSXU65A9KGHegcJYAwRJCBF/N1qt\nw92YOFWaIk8ONToHyR7a0fRlWtbCvu7ACbpZ4BHCgkXROGcqgem9XbSf5NtJ\nFjeTfqgnAopw7Mf0GEj2KL1RlnD2Z9cJYal+rk6cPg2dtJ48w80EAS9ZAlx+\naBp1\r\n=tx42\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"485fa4920288a2a37995f4c736a1d429de15e53e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.9b0d06e32.0_1578435528631_0.15679003401682223","host":"s3://npm-registry-packages"}},"5.0.0-canary.730c807a0.0":{"name":"@material/dom","version":"5.0.0-canary.730c807a0.0","license":"MIT","_id":"@material/dom@5.0.0-canary.730c807a0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e254201092ed1c5fc740998b8a4d3e95fdae668a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.730c807a0.0.tgz","fileCount":17,"integrity":"sha512-5FnE9KIq/Ou9BoJMP533Yb20PR2uwXDBuqEjHDOv7CLl6lbISi4EACSBAnwmWSmptYg/W0ysSpiXqsXabwYZwA==","signatures":[{"sig":"MEYCIQD2IfJfG1HevPRkfI2noEOqHyzTU/Yw0EUNEYBvyW48IQIhANrswxVH7CkbO6vqvGPauTl5sxa04rP4v+rkR8emrXXC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFQQpCRA9TVsSAnZWagAAdBYP+QGaAPz5quTHHfT5JVIe\nyWKRDlR28wTOG9AsSqEj+U27ZEd74z1g28gnq9K3CjvvasFX/jMXChKgmFEx\nmGtKGT3v9QBSIq2c2Rza9d64+aZbptqvIfMzSFpN+DL9lmfLlqe1KT017bgL\nhUjYZtuKIszmP1/HEW8he4l7lSDLTfnr5ln6TLvMRJrMN4sqMOMNOYoFQ+KZ\nb+tyhcGbqh7LqqeqQt7/+2lhJWhey5RYbCaYQCxAlsb8GtQ27BGLLx4+8Stk\nfg+UOZ+qJmSEIXNKsbGT5x9rFDC2HcUmUecZGoeDGlIVF3y/ha4gSCLHPVyA\npATMCVGY8kQQwEQgH9vqNhymrQZv5eDSIBTg4ePfljku8nKG7v8hqFm8aXcj\naWVUMhfnlN6czWCOWfCB4uRPQxVml/jfjHZSZQ8Z6edjrrNG/m469ugZRFfG\nulhHXWoJdwpvYpHPMPaJtaJNwA2lvXjo5ZVMfnh3LvYaoDv2Inb04jgY2Z3a\nZtd/d3ojSp3gbV5+A1C+JcNWhCxpcgWKrpq3uYUVeqevc8PuC/ORO2x67L46\ncPvH1LGmvX5wQ4NgJKdbDEDGRFQ1XnYmQfvx7Hgw1gANHmW+Y51ukp01I/9B\ngQWea+K8DOnU/rD6M9L2YlxnzEDioqvV4oMb3a+x7KO+KA5xe2E3HD7khCy1\nGhsO\r\n=ai0n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"8860f1c513146b0f8c59a8c70750d1353e61feaf","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.730c807a0.0_1578435625523_0.4539383897377607","host":"s3://npm-registry-packages"}},"5.0.0-canary.2213152cd.0":{"name":"@material/dom","version":"5.0.0-canary.2213152cd.0","license":"MIT","_id":"@material/dom@5.0.0-canary.2213152cd.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ca30dfac591e1361732d6c2462bc26049cac0100","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.2213152cd.0.tgz","fileCount":17,"integrity":"sha512-xgt0Xy237AR+eYptRyGLOBSQrL5ts/eHOvLZxpzStOWONV1ReWJmzDkdQm6y19an0jgNwvM67whFt2nCUdg6Ew==","signatures":[{"sig":"MEQCIC+po0g1fWDOH/G7KGYKdFCWCDjd3Bx+StWxA4OBFwUYAiBsYZAkAiv5o11QuXIO9wJm2vQviWadr8fbKHAJMfu/ZA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFg+jCRA9TVsSAnZWagAAv6YP/3/akpDLupbYd1BYo+WD\njyoz5EivmcctpJU9br8s2SVYNRNwvQhe4Ci3a/2+SeTqqf3RGh/MiNyQFIlF\nE5iIk0luGFypuK3bKOq0WJgNDBjrVpvzCAakjcoYwVj5fSNwhH5KLpilHN/w\nyjSGNEqLK61VuRxBdAjBvuswSjuX0QXPth45sig/h98ol2lBvpsfzQMDRm+2\npxyDJGOwOvQmZ8c9Pgo3qjuVENRBjhDZ+WGDzD6Zg7YkvuDDPtpUACta+G6D\nhzSGdJWpP0YewQX66nCyNIhL6SEdF/2xoSZSW1WG2SEyeeCzvSoGpOK3YGLU\niUEv96F809z5vRTZsbzemPDQV6xHJBLI0+AYRx5g8WEYSFJZOwp7hXS8kFKB\nxwOIHXhDN53wTUSeeUyzrnR+iaWg8Fpo+eIsv3YrVGIfsJ+OK+YXqI8pg9mo\nevWLuAZPIZASwSB6SEmGdyiku2fAewQEilUHOz52HX3xxoMx8M2T8j0+onLo\nNoVPws10eIY0m4p9UcN0Kut7X+ihfaIW3SecmQ+rD3GrWH8zYgwR0weQ/iod\nemLQosk2t/jb8HddCg9Vvyr+Nljde+CmX5oSIutYXWHvV+UpohAGWGMpwzZG\nV8rcS1C1Fz/yRBmLJrka5sO4y7VldJlxyKbmURAS3KKwV63X/bNMgKmOYKhM\n4BYr\r\n=0iDR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"0a3677a82eb2000c085d0cab420c907dca8cf13a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.2213152cd.0_1578504099089_0.48353197430394235","host":"s3://npm-registry-packages"}},"5.0.0-canary.5750f7169.0":{"name":"@material/dom","version":"5.0.0-canary.5750f7169.0","license":"MIT","_id":"@material/dom@5.0.0-canary.5750f7169.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d4f781b6f45756a35ea1280e64169e790b7bc9c3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.5750f7169.0.tgz","fileCount":17,"integrity":"sha512-lIxxitXH4vg4qI9l2fpjnIvBDK7n4m8X5XyGLrZPUs2YT9om3cXQZwm0NUSazpzy1IEc6Z3Vv3FXNEIfSTtZOQ==","signatures":[{"sig":"MEUCICSxoiRX1xPuZTUMduv4jkaWNOjih2j3vRNWmBYdqIADAiEAlM98oC+GQ9JkjY9HjyFYf/1ewbJvHRfcdZZdrGmPNMU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFhe+CRA9TVsSAnZWagAALqoP+wWnhs4Chk+AtLoWtmqe\nCZ4sICyokba8tkYR9swat8u/9vIXN2PT3rUah0PH0EzYRqNaNZk3V6io4N6x\nebcbU/QiiKYH7qn+XVD3e/Oq4OzROucm5F1HTvmhxf0sbQ548KNVED/ptSNG\nl5h8xLlhohi1YMEZ0ureUeVAEqHhN8RDI232IENVSOzWWkvCg8KqIHlyNoU8\nezTCoISHoxXYTe1wHEuA8EpgFAaxUPDv9vyFNEqiYnI5iV91SnnB/V2e0PKT\nZ3tMArT9PMFHmENhzGWmabf4ca5oC+vjDP01lqH/r/N9pCrjnuCjrsRZ7Xze\nNjqu5dMwXY4hp14wWclWPFKCjXEBXpmn2/Zdwm9FW/VjpwglUfjzivQLyoJQ\nnJfMuz91XiljcGhG7vGKacX+bZcnqW3b3Wh6G8xiiFQkmBScCZ7DKucIY+8b\nqUfSaFHZKgXgFIHtKQG9q+0yVBfjkRTJ/YAMtI88bS+p7AhE1pvfVPh9grGK\nrViwWnK5WQ6bqJHIXXVOg9zn2qaFtRdnNuoU8yqFlEuAnLz3uvsFnf/XaYFQ\n9heAe6xE3l4iPXRiAewD8cKkXMqdmJna1kE0GOi0gnHwey1D+5Hh7V4x9fek\nFEUoGYjf6dV+ohM+orqFhNAFFCB+fIrOP6Z7fnY7UWDwYPV80t0JGkq275XK\nH729\r\n=uWDt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"394a48c85aa714b74edbf6f2b4172e4b066f604f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.5750f7169.0_1578506173932_0.25765379414993816","host":"s3://npm-registry-packages"}},"5.0.0-canary.f7abc7a43.0":{"name":"@material/dom","version":"5.0.0-canary.f7abc7a43.0","license":"MIT","_id":"@material/dom@5.0.0-canary.f7abc7a43.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"89a479af0cd15aa5c165fc97d4fd258362b510db","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.f7abc7a43.0.tgz","fileCount":17,"integrity":"sha512-koQoES+jbskg6RRJuh3NxPUDfMlh+IZDZTNk2i+pVJehpYqAWsAM2ZuSTlVoH7bn/hvrzPftQfOjtWV/JCWbBw==","signatures":[{"sig":"MEUCIQDMlCHAuFpVoGdzGo8S0rG5qaWQH+uYVdajflVqU6aCuQIgW56+SsCslVCqQ4DxndwKJYzYQuboSOKeprl68B4bZ78=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFh79CRA9TVsSAnZWagAA9IsP/2Vx6QcwIxYMMGyrhj0Q\nKRJzz+Cte3JcYfeqX7clq5jCQ6MtCnZN4jviERn8Br+gYyB6XraQcnc5jV6P\np3yYtUHJ/Ei5RpqrfK16qwiyMDJ5o4AK/pB+RrtCR/1+FaiF2S/wOrPQdrH6\nB6PEuK6ts+IGmPEaXrOurKduuj1vDqGM/1TFLO8h1yN/ITCBYD//coXaFu8J\n0ieVY5F2+p6NwjS72PF9uS0aJEbqzjv+aaU980Pcp7yy08SOOCQ968ZTS5FG\nHLQF8z+bWrG5CSuhAvWQ75RMWMf8Uid+M+ioUQ4QtV6tmYJ5md6Lotq7wVrr\nvERoL+HWO4/0jVoMGgjsPxQ1xxFbP99NgABvSroK4oFRAFkvAWQENu/sTNLZ\ni1uCvE04D2ZC36Zpn7jcH3f+YBdSIuG93Cyvoa6+iDFVUIiQ1TzVha9JUAjR\njiTh0seCoNt/1r1GIbUCB9nSpQH52QA4sEz+esUgUSXBrcINKqkN6HfCk/7Z\nKdqo4W+20dzeodXzmBE6FYDK6jGvW/ccy90RUCtPHnvGZnuFCN2LQSwyuwSS\nDMI886+m03RM2sHiblfiTBSOffFTNV1L7A58Qpwshgts58GK6IYqBPSoeOfu\nDXBBkbRndBBqTGy+DMUowqYUcwoQJgHM70kh+5d2UC3HsnwjjVuZG1hWdbsG\nvR9O\r\n=qUME\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"f7431b4b45a3e410e9cbc1ae6abe69c3b00221c9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.f7abc7a43.0_1578508029528_0.9873256209430352","host":"s3://npm-registry-packages"}},"5.0.0-canary.bf7b4a061.0":{"name":"@material/dom","version":"5.0.0-canary.bf7b4a061.0","license":"MIT","_id":"@material/dom@5.0.0-canary.bf7b4a061.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4f95cffd4d0b3a8bef320fda684f33701f81efb6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.bf7b4a061.0.tgz","fileCount":17,"integrity":"sha512-/nohU7wge+jRAx52bqHnmkDef5Pi4KAYuWZ9iSEPlsQihZP5eX2GjpA/hk96DOohIQb7WQac/N3gGEVHGwGEOw==","signatures":[{"sig":"MEYCIQCABXYg6ya0K7NNFLPD7OdBG0KuI98UZlMQdnXOQ5v7qQIhAO9tGuyuvHYQjCB9eSFwlJVSsZ6TOsEsuSfC59erHK12","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFiI6CRA9TVsSAnZWagAAhC0P/24XhvIG2h5ZFkKqJiL9\nDrJcnaHvU09FOPjrlEpZvmiou6a7R3MCQjLmwpgmBzpCs/sP2rMQsZ97FYY3\n+CsaGxB7B3oPnT/VYbX8NQmkYU3Iu0kOk9ZQH3LpR+qmISJmNgYMWH7RmTcr\nzIcPn0IrKDzi3dh32QoCGYkZVkXTu7yV3kiiKxmkwgh6kMP53vmPVdLoQJD1\n66sD2rWVbeh6VzsBmvE3gEAmd5QVZUi6E45PDVFfOH95u1KJrz+r6LQMULEV\nCNXfOwQkHmavzqOf092fshLm5H6mh2Mjm+M44VZeu4jF8tF1ZKKzKi+vvxpy\nB4c+8JXLzp3PULVKligQf34ivO/zDe0CvTK2wi17TIfbvhbTwXSxR3ndLiYG\njYwjDgApu4wgptyqMV+2anLHEJvtLiqipoAFpieB1HW+Ky0uAM0V5oWNvfYK\nYhAv7FJV1h5HcMISXjKrZcTCY07NrcEFuJ+kN6dmamQIhgxHU05KlyGt/mZX\nLxsscRD43COzvxIxN7XmAb3lGMS7IUwGIYmSS+YsLlQ1XkMZ9tnAbLRIh+jO\ncw+qqtJ2v0bdRBhjcuP/Pf1Lz164/NQdT1FlJXTeOLIxrNK2fCdgtJ0IGG2k\ntxXj4GsShj38+dYsaKgWmhvT8+f0VbWqfDyq/VhFhHt1regwF6GXex4qNy57\nanC8\r\n=UXo4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"2cbac03ca7852ef897dec80561a01faa8b537228","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.bf7b4a061.0_1578508857949_0.16634675356547368","host":"s3://npm-registry-packages"}},"5.0.0-canary.784fa7903.0":{"name":"@material/dom","version":"5.0.0-canary.784fa7903.0","license":"MIT","_id":"@material/dom@5.0.0-canary.784fa7903.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"80ce36c5d04a1fa533b698f6f0b7c77ee9169f73","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.784fa7903.0.tgz","fileCount":17,"integrity":"sha512-Rtj7oq15uojF1t7nlAI9g+SJTdxDq+lkH+1SQLWpMOYvRluXtcHJ7K2AeHhau/OTaA+eXgzY7bTYPq/2enhGVQ==","signatures":[{"sig":"MEQCIFDfF3WJKzaJZnPUMuGHu0Ssefv2m8Z+GDsx0wIUHT9cAiBiQ2kkYzVSYb8gNIxSbHkZvKdVQ37FAvKDY7rciaBDrg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFij6CRA9TVsSAnZWagAAR0kP/0X5x1LlBkquGq/U3VUP\nPnuM3TtZnH0wwmriPIDUva95nmT5L8Xqt9WVeXAh7l5mFBPoUovYKr669U4n\nmd+qH2fZ/f7hbUT8DSYpXmCRtWvuWwePMp/5YIK+9opJLJP9qB9ELEk2ADsJ\ng5JCSyNDnOY14IeymXHJCiMmhyIt/W61jmTAjCXqBaEYQ0raAQUtz4/9c2QT\nds4OCcOKQKzFa6VL9DXaMjyqr5ZOzqJOEhujMr9+ONgkp+fVckDejqVT/OqQ\nQlgsmaYVZjC6fn0HERjDVYlbJSmz4lxo3K29HKFOfY2nDyPFLmmb5ry82ifY\nwqUZqNm6W6aQVitN08d8u8AF/KWky/uD/5OOw3+TBxJVm7HdEDAWArbjyhqX\ncsEAfx+MdZErEnXTs6HjEyROhuYj0BvqEw5FwtbFlMQ6GnL1aMsTPgbkVj0U\nWd003GnnGb7r6k5D8LtVkvRXZBBQ3YGDX1wegoImbfZUqwY54wn5kXXY+oWs\nnq8EwIM2FhUArXebIYZitoUasUQlv3/G9VB6yiMVpiUHtiG1dREE1Jhff1N5\nbM4/fJGuKJoiH+ruP+c0rinOUE4FYCUimJbDElMxAb0ct5ZyIaI3N+Qwz6mN\n2Us35h+McUN3it6fsvHSk/pDZvLq+IuWPVj1OqOzp92l6D/VdB/VTxbZvwaS\nJ+w0\r\n=XswB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"61b0d187c5c030042fb90bb59c1ebcd090186cb1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.784fa7903.0_1578510586113_0.9991255501330687","host":"s3://npm-registry-packages"}},"5.0.0-canary.823c050ba.0":{"name":"@material/dom","version":"5.0.0-canary.823c050ba.0","license":"MIT","_id":"@material/dom@5.0.0-canary.823c050ba.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"875fc7b6a202f6ad5bc8a432eebe3c60ff0fe54e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.823c050ba.0.tgz","fileCount":17,"integrity":"sha512-lFXyWIZsCNdSdhNvw3UXibbNvbc1p4fZ+AVLA6zeD36CdM+CXvqwdASE9hhKl1TEinIN+CWoQz3y3ahJDYU4fw==","signatures":[{"sig":"MEMCHwptAf19E5z9flIU/LMWDyWKAaSFCWCGRPjeU5O8tfMCIFQFr16jBtvMi14v7xSFU4xLDI6SUlvs5tl9o0SPEkx2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFjciCRA9TVsSAnZWagAArAsP/A9Eg678Q89/mUPzmoA7\nqVHYQo0yUJ0gWrfA2j9/ntzrv5zUESScDzO9IzhJtIKb6TfCYH3XC7uZ9Sw2\n9D20kv0s8sZa0GFQ02xx3ah0rMYDZ7DvmPw2+pBY22ijKs+hbGcryozMO60Q\nuY2zSCAczjP5g8zlvECfFt6r/BvYJijvDqPCUiFEucdFcvuQLXv79pQ3KtFG\n7V8KPbnkeCOalzpKPeVARQnav5/46j2mpzWXX8sSeLczWwtfE2brabmisXx4\nRsbLIYoefQ0esG7qQWqWUH0NeKd5CCoq0ZrtjZbqxWQhOP+J+BRYAHXdh9mk\nEWbR7D23sbGKGj3McdEi6OU2bV90QmsFT+yaItABT0iQ/+hth1YI+UHfwRDf\nySQZsDeMQy2dMuVI7dff2KXg+m3azwglcAGG1aMfegZkBr47rujebTnAM90K\nadFsGIcY2X+Jr/AyEJAzDqT9jiYtJ+/wzv7emp+k8oZ3Z2k1agMUXyLY6Qyf\n4y2yf/bZ5tPTSiD9TOqM1/mcr+lWr1CFYqrvM/vGpBkmia8OYO3uSaoJPq+I\nO4THksoJxmLiRsR9BajxZWnGP5o7wNHmzNrIY3WMenOsBWbURPUyW+1Lcmhe\nXufW/wikAaap641FQ4sZnxf0niTMW0ttyzhbNGO6LIbUYyb69j1jqvH6/twK\nkkg6\r\n=9dTD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"b08bf7fb482cc6c0e80d365ea2bf510d80680bdc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.823c050ba.0_1578514210528_0.5302165074484793","host":"s3://npm-registry-packages"}},"5.0.0-canary.70c708dee.0":{"name":"@material/dom","version":"5.0.0-canary.70c708dee.0","license":"MIT","_id":"@material/dom@5.0.0-canary.70c708dee.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c87b7e90db777d199f8d162fb470b8519265537c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.70c708dee.0.tgz","fileCount":17,"integrity":"sha512-SW4g5SrKhjBbYdHwfKjJloZcrrJ448C1KX9mmjv2iAqcBWZG9wD5XF39K3aFe63tJB7NSPz6c0+Bob0OqzxZdg==","signatures":[{"sig":"MEQCIH27POeFWDf/cazcTkA3hKSYozlC+8sdF/SyzyYwVkf5AiBF9ScHOjsviMWYA+Y7yycCQ1LJ1oVMrVz8k0Ji6Z1M6w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFjnGCRA9TVsSAnZWagAAWXYP/08onK/ogPlzdz28CO2q\njEWeeyvXup20/Dh3bfJ8SHiDNYrvVPWxQ1QjQDxg6HXobNcRTvGELtMywPBG\n0l2Recwy1ZEbShIPjAvwDlMtWzEcyNkmO/4Sh8AkCOSRRmT1Mz+1QJvEzWI6\nheO1V14f8X/2oK9+R+GY8YDArn5QrKk2uL6etDBgvbn080UcpQ9e5jlswTSz\nrg0Ab0+bMucYQk/q2fMyFRsBh2vxLlb6W7dpskESLzMYr/dV/H+bx6m0S6Of\n82G5k7tkkOqY4S/w/OZXJFmNxJfQKrANfdFOJPy+6uxLpstpSf21tSI6MZXw\n/4tk3/thuff3/57wYwwgNGdB1FftwqfYZ6kaR6UfUu7rAcFzTWx/yqHQO83J\nyObLkym8NVu1d80v1QX1140ep3kcxUdCFvqR/QEp+5vjUSlpppxSWg9KlPt9\nnm7bBQe7wwgTRcz8toBKevoRHKFX8Ed64w5RWscvlvg9fWkaQsP8AQ0U4Qg6\nR5d+UZGsqfZYoWJ1iSAQN+sHeEO3GC0fcLDNMUCHDesBCbzwWMaBtYZpauJb\nh3tSIM+7t8gc7FMhRYK+TR00Tf4EtkWyiytXkECQRSSTNN6BbopLupFPDd49\nQf4crn3RPeBPNSHnotmEIljo7Q1GAPyl752e3F3XKaFr4neu6Z50uvnufkjE\nOADO\r\n=jGhn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"096bee7c4a6fa97b650100f3d0e0cb484db375d2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.70c708dee.0_1578514886190_0.381822589175729","host":"s3://npm-registry-packages"}},"5.0.0-canary.5ed9d13d0.0":{"name":"@material/dom","version":"5.0.0-canary.5ed9d13d0.0","license":"MIT","_id":"@material/dom@5.0.0-canary.5ed9d13d0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"12c917ff601658fdba77ebc9fc3e738541587f08","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.5ed9d13d0.0.tgz","fileCount":17,"integrity":"sha512-tn6twGObz+56y6FvS2fAQVqFGSy9QS7QrD5ZTkyKnR6e4F067e+RAXjxFUUc/BYn4a/a1oKsmJDmns6B9SZV/g==","signatures":[{"sig":"MEUCIQCmt9SCpPjPwxRrISCCNyw0/3OYOy2/Jo7gkHbFkZQ6bAIgLsrXv6BStvurE1o8uvZNI4TiGC/QAACKiwUtAZk2NTo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFkysCRA9TVsSAnZWagAA+GsP/0gm8cZ6szD6nwjV85lX\naT3eNy4WrCzJRVVxIMWfgo8nCEQWlSSln0eN76mT7EKUtOCECauiIq4dQZtK\n5b+2cGZjPSuDYGtXfIJKzyjLMhpiYsfIjdwtAFnkUFxipgb+8AzzEKpuQ009\n3qimZ5ZDj7FLI6Jg7yrv+zR2mTJsB8tB8qRngXUxmHS9vAGlovwE3L/XHw99\n4nujUKuU08HGsV9cLEiCNrbz24M1P30wITDpeMncS4FqMRTl+uHfuxAF6Rt+\nMLGxxQ6GTKhf+JFuEAvC0JwDnyhUc0jzaf07BAfZazXUySz21lvts5OY7IGq\noQKbYMt5iZdooK/QwvSSg2cWeqvPIWNVoGkLoVfe8CZYAUVTFfYeKhuFpZlJ\nF1si+UXhGo+ARTYYQQMA7DKDMPnqavUdN7jFfPr0PJ9OmTQcCdmaz1tTZ9wO\nCnLI2NUWlL9Oq4li8oyBVP4mOOmZAVcwsezHvXBY8BEz5bqVWtCJ/s+mlowl\n76QzrmqlK0/7quO9oFZdKgnCnIc9aIDH8kxH0903CZwX6ap6WTRVFJH4/sUT\nuqILwvZBdAJfpllA8qxpAPzd80XmY56ZGqpKoZNeLhyXy0VWxecRCIcoaEUA\nOl91pCfPuIAD9FMEFJSPhQlYBTIUAh0W2kZbK9J7vnY+mJsj8kYgVQERsthF\n6vfS\r\n=W0Y5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"3c9ae4313970bc3335cb0223b3e10f3fa3ee8ae3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.5ed9d13d0.0_1578519723676_0.8444467735682015","host":"s3://npm-registry-packages"}},"5.0.0-canary.4819cc7e5.0":{"name":"@material/dom","version":"5.0.0-canary.4819cc7e5.0","license":"MIT","_id":"@material/dom@5.0.0-canary.4819cc7e5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1de5756e0a427a2016e357317717e8af67025d3f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.4819cc7e5.0.tgz","fileCount":17,"integrity":"sha512-Ra7jCzcMUq3x9374GokCiJ/N6PWnNnkFp3EuTQwIFHK84fDbHUD1w03+RIugaxW7CIN+5XrFJqXZWB4WeJgeYg==","signatures":[{"sig":"MEUCIBBmiJTJXZYDUWQo0mZdg30WPjYfJ63kw442EtyHUcfxAiEAva79xu05O4RayWV7RSzTBcaseGDbK2sDkQKhn7v9InI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFlBGCRA9TVsSAnZWagAAts0QAINnFo5nY/yGAhPEtE6l\nz2epnrSveFvbJW1WQTzPYDPxaZ2Au/jHLh1KtFsFS+OH+0geOqvL+wxpvvyL\nqkATcoL6H2WzbztU5AKU9esIPBleB0xkcJB4i4XKp7/B0f0iWUyOjkyQOI+d\nijUkiuwgEw4r2m8jYq9Nzk+4XJxvhgKV+pWCTm0g9ItWsO65W+1II6pKVQBq\neRp3nfC3cOhI7IGga6HNYG/VLM/TYk+lLfzX4H210G0VcwJjjnTtQ9n2jIs2\ntHnDntcP/xzibD9qs4EzHI0w1gGm9Zpy8Qc9ozJJz6MkSk89O2NvoDmeiCpP\nSwlzqA34rD8/bIV9eiM/hF5lFxo8dfND/e+DIs/Kr8Zkd078HfmiP3SxXIWM\nlvb1w+tUOHecUAt7DsTitQZ2WIZbpbHKUHNafoV1QWDky/ULmII2ZKNAyyjM\n4pqxbaNuh/ORAoIEvze6QpBQWqAzJAKe0U2OcLtt5iSutzN2+bfQgQlo2/3s\nP2J4Y9ykPLCZDYvp0fipSDGefQg0yJnncFlIYBYDHYLG7jaXkDZLxpbdivdZ\nT4/QTndYMRPbSSV6/A/hRLu/+D4G0bJUHH7v9PcpIaALNrEHWBIrDPearSfW\nSZRhA3xCldhjpLpZjI9zCC6aTmZzza9yr2qnnZkkktt7s6Jq8nyCE9b3+UZA\nEZsY\r\n=vSW6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"1cdb8bd7292ce5180cfeb2b5ea0cf8eb4aa6a931","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.4819cc7e5.0_1578520645958_0.7580111052180332","host":"s3://npm-registry-packages"}},"5.0.0-canary.fe3ffd2c3.0":{"name":"@material/dom","version":"5.0.0-canary.fe3ffd2c3.0","license":"MIT","_id":"@material/dom@5.0.0-canary.fe3ffd2c3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0da6c8af890966cd0ffe78eb2aa20df5962abf8d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.fe3ffd2c3.0.tgz","fileCount":17,"integrity":"sha512-Yv2o/ZzTwPow8I2WqGzlAjsVvb5JVdfxumVGzcDdRw7pPuJkxtHn9vekwpwx+F5NxFY4UKyGCSXXYhU+Ey5Jmg==","signatures":[{"sig":"MEUCIQDE3jPUcx7BAQwaFeHF5HaZlhlQjcwFIUr0Kevg8vEzjAIgdCaINKcxPNIoWzqWTCkER+ecPzg/+dZLeYFBnIkPla8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFlSLCRA9TVsSAnZWagAANcwP/1TCpMVLx9UMMZi26WKd\nLRcyiDNIY6/I1h9kUpR5sUkGz1YX8sag/cchNVu2r9HHj5niK3LFFP7ZziRb\nTducNBOc8bdzEjxQ+UqF1qDCa2Cs4ifFAH45heV0AkXUhin7ltqzOOmR+dwL\n2ygsF4jH4weYewFv86qinDsCIYPYV+sziXTUS0ZZjiijvJvgXEUixP3fLFHU\nyHc3g7rPvr0RKy5x/NVVf4ZOfnjjDrSYwoEwH7bJfwcRJpCNwd1xC7P03e7j\naDsAm6i8rYBNVPiAyYWaF17kK+t2cim5X39xSVBWS5nhSAGKaVJJu5UJr11Z\napy9cepPkBDu6X+t+U+TFx5QgukdlIIUOm5aaG3X9ulA3Vt+btPyS33+CgRq\nXrhhV8QApTJX9sdG0Gro1fp3ikNUUg6j/dFdmFrkEha2WTxYfUJ93DlM2nR7\nWyq4M7kmu3UoiT5nZ6faIXSzzjLeh79KJIjPYfeDypDLdTx+q0KJJv7RODlA\niw8exNjfgDFXVw3qDDIpeiNRWZCRtkhJlZyUe6IY2ohoDwdIoInprZQqGvDY\nX3fCDTS+gUcAhCFXa7N/l8iChfgtf+XE7KUWQENksPsJsfjVTFnGZM1ozjG/\nQZPZwli2K32uHXwpFtCQCdwkMqRTKEH9Yp5BoEHuTpCf6IwE7BJzkYOb/Guq\nWgtH\r\n=pymk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"ef82dd049d6c2d6439fc79408aab4567780d26f3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.fe3ffd2c3.0_1578521739456_0.3437021473227835","host":"s3://npm-registry-packages"}},"5.0.0-canary.c0e850090.0":{"name":"@material/dom","version":"5.0.0-canary.c0e850090.0","license":"MIT","_id":"@material/dom@5.0.0-canary.c0e850090.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f4e471d107184a9f6a01999968403cbc044967ff","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.c0e850090.0.tgz","fileCount":17,"integrity":"sha512-8mtTkVNlvw2JluTuz1JBu7uC1tkQDpoIstdf0tPyp1txVFoeilLZL0bkcMeEcbJN341nzaDC/LvY/30zTeVKAA==","signatures":[{"sig":"MEQCIGl4gyqriNush1RYMYmCgKF/sS1SizF3JWZIq3NBfXRqAiBZsxM9AjBj1D2ft2y0vLlT+sn2nfyCYsg+IajV3Hd96w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFlYxCRA9TVsSAnZWagAAPRcQAJBIAL7murB+4deDIef3\nicFNVBTtavsg80EpWqUNUcMvL3x7BKhrePSErrPM1Khkqz42bEIZn1rXvnf+\nFvuJtJ4M4XyOGsJzXpyJYVyK7Hv42gjDWHWzmrFN2APdSk3+MnEKTKbEBNdp\nWgsS6EQvyXghvfJYTnChBcFgXNVj29tD7HTERyilEekwGfQBzolQAAIA3G/a\ngoMiDkZixB4SYx80gyI3USIte7Z2PhH0XORCX3NPxws4BWpafFu7P4LANlU1\nCkW4JMJn+hZpzOTDrWPOJuPEFYXXjJFAsBCZj2qKyZGcp7Ve5SCjvgZcaBhg\nSjppVuxTqmexCOtHe5yNe/QE9JAjXqPOcONNVzswz3f0oDNz0YdrmfaqsJGb\nsHoMifU5q5xHYNulYw5OeS+a+/oo7K6GBKPh84Ftr2y5lezzlrRdnl+PO7Oj\nkfOalBG+J7GXE8uVe1kkyUgrODi6TJDU32+40fKFRnRlCWx8/aLjXWqr0xdR\nnx3dTiGI5CdPWJKAh3rAUEkZPuzJq4mL5ThttD6Azpsm86YtcF5YqjdXfQzh\nBf192xw48X97WjLNiawyd7w/5w4QpkI0rG9NamSWM38zrI/cahhNF8jANmN/\n0loVdLU/SCxyN8GIHWE4vw7Jk+dUVBx2PZf7Y31ZQjhWxNSUewVSthKxdaFJ\nPZkj\r\n=z1Uj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"04d9e991ccc9d40d53d67d592c9532cb43e763a5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.c0e850090.0_1578522161307_0.9963754937803404","host":"s3://npm-registry-packages"}},"5.0.0-canary.615f86f38.0":{"name":"@material/dom","version":"5.0.0-canary.615f86f38.0","license":"MIT","_id":"@material/dom@5.0.0-canary.615f86f38.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"aa5bae95b3671ab418e92b3e8882128a427db338","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.615f86f38.0.tgz","fileCount":17,"integrity":"sha512-7+UuH2WaLD6M868NUASukvw7WL42R1w6rnAhl3+J6XogK4Ttxtwzc1PPR8Pu8ChEV297TIRZHq8mXtJLSwlHaQ==","signatures":[{"sig":"MEQCIBx/DHmuT0qJXPxv96xguolKI3bP1msh0LucmdAhQBGTAiBakdIVMAVxXYzZjPQsRHn3yRAq3tHdDECjTCjt7DBqnw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFloeCRA9TVsSAnZWagAAxHkQAICZSge88vI9Pd6T2aYe\npUtHI/xjaPXBszBwhpbgMg69dYYwXH49b9s2BOSEH5RQjKz3JOj3G/yaCcnE\nAuERAJwovCDoTmnuke8oDAag4C4muQYNY4NbGLNA2prNpHmhEbiyxi5ML7+y\nOq9BHiAsmywqyp7NucXhg4N45vRAzvZC8OIMqjTCWEOdQFeqmcT/whhtea6A\nBzRxTgDxdBMUgkdZnuXjGRH+B9ECTBcMw/jW/0Zab1BD8ee9JdD9+TLEwto/\n5n2/LGulfzx9BEckA5nNXfZ/9VE3p7dEWhXSwsk9dLDZFkwSneazMRs/uqwN\nUuQlNlxAC0I0hzuh+SkIzJ0dEJlmV30+92h9uA9J+zelcG4LCO9PaxFfNuFI\n1uSj44nVAOppJ/F+mXILS5b93T9RAmx1L4DOBtwZ/FyMu2MnixqD57pePBTF\nqxJu3QlWDkAc1NAN5eUiJujWDXFLe83fnYmlDMOe/By+WTrzx+pJk+VH4j50\nfwN4Yj20asyaXzbvEYegB/8V+G/8bJxK/Eyl3HVR1WAQdL5U3yCBckyFIVa9\nl1wI4OCwjy8qclvxl6AVvBRKkNPzHumjFkb/iYihcBV3RuyfoMqjt5GHnBYU\nDOidyVegVvi1KgM5ZEbMHNAyF0o9Sxkirx9o3vAWVCm4/UjjsDNil2Btpzvz\ni5qN\r\n=6ys+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"5ae8bb946c188918a80b70e03e7d35b1e27089e3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.615f86f38.0_1578523165777_0.9987837772259405","host":"s3://npm-registry-packages"}},"5.0.0-canary.1eb032637.0":{"name":"@material/dom","version":"5.0.0-canary.1eb032637.0","license":"MIT","_id":"@material/dom@5.0.0-canary.1eb032637.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ccff637e406b028307954b9dbbe20684a916461b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.1eb032637.0.tgz","fileCount":17,"integrity":"sha512-vgHpNa+vwp9edKEi8fkHkqNbqNti1rU6UqkcitkNaL8YnDFQoSh0gAt/EDZLGcClcPpasKWBC9D8oWqa0n8Osg==","signatures":[{"sig":"MEUCIQDJJjRswp6RIJKWYyXXMI/HGHj6fiKH/hR3zXBtI0eXhgIgZ08b/XjzVD1jZvgqs6ss5m6B/1vAJdN6TWECOhBOCIU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFl7OCRA9TVsSAnZWagAAcVkP/0+ctvR0GoMtP4sACccF\n3e9B2ubu1sOUsdVtGHTILI/XmdMC3Ob/VYLF/qOut7ES1+Cfq9D3M2hGL1zf\nGY+hm+cE/Qqp58/5LAIHq94aXl+vZYD0K0mqQL+7GAtKY5pj7+2ALwlwtZyU\nJdhAeafVQkW0+9gqiZWw+OOh89Tm0DkYQyn6yhe6jEjVrkqgBSFhDR9s7Jfs\n3uP+7c/OrbcnD+xdi2nOY4s3rZO89yAolZsulNfOA0JYWlSMU6u0Hhj8mEfo\njm3wnoV2MQSNuEgo2dRGn77FK1dimgvd+KSRKLbQUmaRYSFHpJbOCRoxv12b\n8UGpLnOCj2CP1k+aYHJauC+zKPakAwH7xzwyXGhJKPiXz/aVL+5zEMWk4OsY\nm9shmLiCpk6VN7YsX6XjmQzrP04gWUUY92i6OLk2O1kb0eVU8qtCIV1l3C6s\nmQRp22yRiBM6aMPBGgrlbWg5mp2GXtqrolBfxnfXr3uGpa/lOlWRcd5o+lpm\n7u69cL9dMNb8x/MXNQqULBHWi1prFA2hZo4q2K+LTovBHu+dwZ6DMKSs8NWn\nVy3b4eQimL+zYENiKIvso6h2O+ceuQtcshZ3avsMMLHoqGv7Tvm+d/b5MNRB\n90uqIGrR7Mwvz20zn0d+O6ah1f+ANT5Msrf3Cz5i7ipj/LtIGxtiB+ZD23h0\nfybX\r\n=dAEk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"ebd5efe5771491e06a78d3b1ca6b1af49af8e943","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.1eb032637.0_1578524366284_0.2635287082215292","host":"s3://npm-registry-packages"}},"5.0.0-canary.5bc5ebfea.0":{"name":"@material/dom","version":"5.0.0-canary.5bc5ebfea.0","license":"MIT","_id":"@material/dom@5.0.0-canary.5bc5ebfea.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d70fff84d20664c60be948fc2251bd7ca585be9d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.5bc5ebfea.0.tgz","fileCount":17,"integrity":"sha512-bGp67A58/fsPupPFy/A1zdN+4pom43HfBFLnzznUapmYd1hsLcX14FCVKaPRwXPBHY/23Lp6mA3pnf+xgtvWIQ==","signatures":[{"sig":"MEYCIQCzeH+OOkyzDqnO2mOAvGrQIRCqAvNxX1nqSrNv7FFn2gIhAJwkX7uLGjBvJm0WOb/Gy3M3S59EE+MdpZKj1TACVB+n","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFl78CRA9TVsSAnZWagAA5IwP/2EL2Tad9ErLMedgw4Fn\nGo7VuLN7u2KrbS2hcCDJQNT6JYu/z9dFL7aGNclheqUHSx0oAaDmeDVwUyZj\nRtWyCUv+qzmlnCFF2rHqjM4KF+w3VOeJzr/xWMRQFmvDo4saS+7H25aYyieZ\nmisKSdjNO1YLLspJJKywrDcBGtBpDABv8520NBnoTj2R+o5QAvHyqP+7j0zP\nqLXHwrXDjfw/ptY2CsIrBAAah6I5NwhNdlRCdrA+BcnJCHydVH0JJEpnPFe0\nuTYbIu9KslQbm0gtnWYt2UYBqJNT6+745kg8gYo9iQ59s08xsw4ZEPN2lMCB\n+X0bVQuWi5aOKaqQ4bky5Sdp7t9evci/0vf/zffNMTe65W/z5JeOycxICmJR\nmjUm7q3SXP36uPyLNCiIj0kiqfg6kEW1Rwdva0P9hcGZotKxKv583K7g/HWJ\nOkiRE5HBuLq9rVRzWUhgqvKKSjB35YG3TDy8ysZoGn6kZsNQ0Urdzqg73oy1\nQISbRPDIULyQLCBBFHBHPY4VL6srRyd4p25Q/djh3y2+WYPiAc2/OqlLdqjo\n7UQWOhTzOAasAhqeA0am04Ex71WR1iNNXuRyZifD21SOyyV28Qm9lOL/wTsg\nmhF2UgzBsu/MxSq6cVnNheA/FV8jMJT6w77KcApsg4QyeoICf6SfbKaF4IFw\na5Fo\r\n=kpfc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"8d87a9536a0b9e4af0865ecc4d9b558a6c193f33","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.5bc5ebfea.0_1578524411648_0.6937215387119129","host":"s3://npm-registry-packages"}},"5.0.0-canary.1112b8def.0":{"name":"@material/dom","version":"5.0.0-canary.1112b8def.0","license":"MIT","_id":"@material/dom@5.0.0-canary.1112b8def.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"00e728a1832745a6ac2dab82e48c95b8ab6e935c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.1112b8def.0.tgz","fileCount":17,"integrity":"sha512-pLu6JTXULBx+i5pCvmBSUgTXV7c8H1/AcjpAbYqxNU/bRah/eQo+dw47QdtsIVejYnR4wifbFXQTdLbIz+Ba4w==","signatures":[{"sig":"MEUCIQC5k/ACyj4cDGDpBOp9aOLvfYkGgcy0v2TeuhQnvu0KMwIgbD27Z5spFFWWdyMIF2Cw5ZY/rvih4YngqWXuoC9XzVc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeF6SZCRA9TVsSAnZWagAAm5cQAI/aP6wesuMXJHIm4tT7\nSJd5sKy1lEozuITIk9oUblKbummaDnoWg09CBkuG++SanSQgtC2WsjlQ2+DZ\ndvia7tIEZgeqThGkav9hbcoSdr4RJfQ6tgwEKq4VT2n7k+YH+I8SNcaazM/Z\n7j9vJ1mbSCGvllcly1iEVbIHCycKycUVnPGL+Wt9XCmiXn/7/A/cJAnGcWA8\n7dVPSKvPqeHdHqn9960iNuXocdIl+2sPVtidl2cjR0dEifICyvjyp0KrIVVV\nd7j1Wr3jZbAf1RIjuO6PjsTMb11LcOOhaxInJk+mwdkoGvJgvPedbHZIjgBH\nhznfhLZXct0KHgkcF/msKH0doudpfnQinoiK1sE4VxVnJpubT2aFev4rONo7\n0/1p9jZ8lu//HnPG9FFwBtgqOApUE6dNZnl2UyqO1+zbvRPkKrh+wL/S1yAF\nsM8MJxkU5DwZ5wA5086TfySA+6pj602B9x2ZcgCcRX/hCOSsr1L4HTQr3lGt\nQQ/sOFaFWYb7vqVRs+09ArWJd27upc5F9dJSDN7kg2IB4+qWtM5Ex+ZuXDUS\nBEuNGsKqNtMpVHE9ukNqgyLZpjcp7TSww05eLHc4eA9P5PlYC6WfXpnnFqzC\ncF3B/ME+Mp2gHoUSeV2l/eaUtzcxGOFx7JnFa5Pg2+o59cG+gcWVUiYsq8KM\nCc2D\r\n=1cI6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"3fdcad176780c1976528d217d2fb149875bb4b03","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.1112b8def.0_1578607769003_0.34543312475465004","host":"s3://npm-registry-packages"}},"5.0.0-canary.aab102017.0":{"name":"@material/dom","version":"5.0.0-canary.aab102017.0","license":"MIT","_id":"@material/dom@5.0.0-canary.aab102017.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0775e4c6a4831051d031586c63566ab61ee21c42","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.aab102017.0.tgz","fileCount":17,"integrity":"sha512-bwDkdM7aR9wWSos9fSSahBNefZpdzFr9EiRfWz20s/Mj90z6E4o6hxn1Tcav3vxxfdXksOUbgTxjqkeGVJuo/Q==","signatures":[{"sig":"MEUCIDV9x/nbEVtDV9eVJfgjiv+HgVDPOsP14ecYUFUDYeAVAiEA9bG2XLu99iCBGD0ubnwaIKwVaiREtn4A5fsMNjHTSpo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeF8FCCRA9TVsSAnZWagAA8w0P/3+YnepnruNbdA897muk\nWUEG16Q93HjWSj257mp3APesvw7fTnT/ESULFJUPUthnHQyaKe1UO8osdpp7\n/4XVB8P1zQfDB54FTN5CjHIP6mhXlaMtsphQYnW1Pu/SKkDbb7U0t1/UNpHv\nz6QOwlTKdgNtRDAJpxTHU+7HR4yGP2p3vTZwY8O0rdLTdO/Uw1fzPpazShx+\nPGprVWK6tPVKTnLoLwZGUMR3S+f1wRkPfu59mlWWeMwdB+zxJDifldssztwa\n3XKGXm4TMUGgbR5pNwqnrMDinuNrVdPpyK3Llz63r+9hvxNNRgQ33jo0vXfp\n4ew3e4bIb31iN2eA2/jIfCbvLtMc59veUv7/RwOBeaQNSKgXInuq2Atffctu\n0YyZe3F/H3JrUvbBYn/6UK/UDPvpKqKFxFA+yP6d+DnCFqqvlBb5qTNDWAZb\n+r1sCRPlOAhIAzdqCsCeV3y+40+rVFmCeA+dQdVxoxMS/8hQgDohCLYX0zSr\nqZ0BZPoBetv7cXLpVVy75xtHV2rHy6o0sQ1+XEz8mrfi1/NHrVQzv5H/rGe0\nBI/1l/FZ2s1HpUA/n4ZOEN5hl2nQR3l2fD6AyZ34hZFxiHHTnMhmO2+t4E3H\nwhavumL22UWPS/MNnezuYtqmPeio08osoKT47/uCXJJtPLusboxddzVW7BYH\n95Sh\r\n=zQin\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"3f5eab02080f0c4fb48614a44647ed55d55eb9fb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.aab102017.0_1578615105597_0.9809367191843088","host":"s3://npm-registry-packages"}},"5.0.0-canary.426913342.0":{"name":"@material/dom","version":"5.0.0-canary.426913342.0","license":"MIT","_id":"@material/dom@5.0.0-canary.426913342.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fbfe4d3433c172cea3a47b0148c79538240ac94f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.426913342.0.tgz","fileCount":17,"integrity":"sha512-xaHf/oITICHtp5GmmJ45su4AnzeGBruzA5LK6EQQtrsTkgR9AcN1x5gXoW6uQOP88pXrNJQB3oPainrbM2UNgw==","signatures":[{"sig":"MEUCIQDYS2UjnwMC5cH2I75wgppWoy6r5n46DTzuyrXL9G/+XQIgCrkQYyLBTc9U/g+5ZzhWm5iGqvQfJA5AhSq3HwxexWs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeF9bICRA9TVsSAnZWagAAc+cQAIGsi2U1S1TjawEBG8dd\nJ3tXpmTmcnazfawcBN2EE5iJWV2WlFuHOlWvLN278/St3uisIDNIV/kIELoi\niq0DcDSdpen6G3zHNOy5W+ihFDjwpEwpEVJ/13bXqHB4nBJhW4EAzc+jEtiI\nFSGFT88NBqU8R7A/MGzhGyeXQG9LXFs5gTV5jKXSBE8ZuYE8e2tA5IBpzF6O\nurBHPEPqgMYluBR6ZMRP38c23Rj5VG5Msho8zou9tvAd6Yf5HyXvXfKUCxO1\nYxQ+8zSjGh+rJJp+8W0t9i3RsjBNOzrtyUpbsQOq6b5U2O8RnJjGD+AMi3OH\nTKGHHnPrx8sNcFqrOyhbn2/x0KG7/WDXMW31TKL8+5A95jFsR5RJOgNg3sGx\nFtw6AelLWKMoo2uHlxE1zdlVXYi1LUNI9N51+CkoBs8FB/UhCpmvfeGUlb0r\nnVk/kJVeija4D05QRTg4cnnrJxvhUGiMxN8DWncV2Uugz0tBZnW1nlOP2F5t\nGXS7bLuxAdUb8eSHbUN6J48RkquPbURFGK3xB9D83re6w8SqDWwFr8p+7/Mu\nVw8ms+b42s1A/dHZ41oCTD1BCVh/fyfSomd4Av3CbtuaMiz2BsqKcarV5FD5\nV4RN8L5a7r9ALtL+hRLpUJO4OS2HBoFBdPhhnCE2C6blt3sjLcVh5G2yk+U7\nEBRG\r\n=u6Xh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"7a6219dfe8ca1677971694ece39ab423ee8879b3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.426913342.0_1578620616395_0.6182728237975317","host":"s3://npm-registry-packages"}},"5.0.0-canary.d4ea9a706.0":{"name":"@material/dom","version":"5.0.0-canary.d4ea9a706.0","license":"MIT","_id":"@material/dom@5.0.0-canary.d4ea9a706.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9990d048d7579ec876f9fd7846c858ab7b318e16","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.d4ea9a706.0.tgz","fileCount":17,"integrity":"sha512-Q7CTRNUwY5RKq1cOcOCg/ILnaKa3lp9AmL/i47SIoGtjFCnFVz/YEGFEBuR0T1P17i81y4YZQZUghRQEtfP6HQ==","signatures":[{"sig":"MEUCIA8xQjtGxWOSwNZC1QnORM8tZVjhLomkV0DOIARMH0BMAiEA0ZMijgYYaThutvkwAP9yIEjk7BPC59N3OKnm6Zh5pfQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeGLNaCRA9TVsSAnZWagAAFwgP/1qb3vBhTwke2+iIMfyf\nKtyRLkYfQ/5GA1W3EWU6mWjmgceMcgk5GrNZ+I6dKxPloTsMg4jXEXtYBacZ\niE1a50zio2xr9mtXOcgav/bE/KdhLtmlCNTMdeQacshln4RibF+lWoPo8+yx\nHVQ7fHRl0K3AhRuGP9tpJQnLnrINnuXJpf6c6qB/Cx59/bLrj6T/K49qv6XR\nIrcH5wRJWbdujXj0l4WD/z72Mqf0Y1S4rWYqDmZim+2sRmLhlPmpu8wgDDxF\nrfdxF5qt7o6N1DAvEmp4iXharCv6Tqms0u+HDikjAIy40ebdA2SmiodsLg4a\nO5Mmsnc4Z8FK+ZRZwh4wbFuCJaZf/njtDRgbe6P3xLKx4CeIns80MIr6K46U\n41+WznMTRObOtYO4X3J0+P+Ke68BmEmCTQEoPr0TEu5LH+NtyB9/VsbF34xP\n2vGHRMKDq+vHablwhMoLPXdOjHuT5NRw0aKsM05L77qqzkWvPvsM5MpAZAuf\nZ5tKddPMbHUsE+AAk6ANfnma/rnKDHxiGCf5lc8gbAV0aDfAqsa7/DXNPzeC\ndR4DoVtWCFLNsRzjX30IHamXqlF3fLazF4jMRJitBkcDXUb3r6qS+wLSAQsg\nZm99LAWdwUxL8RUagSpl25HoaPilfH02IcTL70MHAVgfUXgJyRns4yqRsNn8\ne2nY\r\n=px20\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"f4f80c96af6c2e34c34a3ed8f01c1858ef738935","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.d4ea9a706.0_1578677082471_0.6370095266074762","host":"s3://npm-registry-packages"}},"5.0.0-canary.7d4ee2996.0":{"name":"@material/dom","version":"5.0.0-canary.7d4ee2996.0","license":"MIT","_id":"@material/dom@5.0.0-canary.7d4ee2996.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e4496cd3f98abf39d4e78d40e54b705be0107f40","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.7d4ee2996.0.tgz","fileCount":17,"integrity":"sha512-ceZFLVBqJgULhBQYdRaQVxoCEPG0HJsP03ics3etJW9J27oRAaH5ham8dJLRKnXIgJ1KOtT5Ie2y8Hp+fK4uYw==","signatures":[{"sig":"MEUCIGQmv77luvdan7NkUglBEnghO+nEySbXZZowMNhneVX9AiEA2F1/rfoBKzU8ytJKtGQ8HrdTkgaBvT8t9p6xbwZkR20=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeGLq8CRA9TVsSAnZWagAAtoYP/RVty0RgN/cvu2OeNtjx\nVDOBgwYA6YeHIVK4k54THlpikGxKUnqNpRCCp9+Ym5OM3pNKlbSaqcl6LLGd\nCtCeh0KVim0mFbzaXHWpeVEVpW6ioAY0/PY2I7hF2740XC7yPiJZjc1z3Jvq\nlvx5nb0jpTtPRpks7KstB3K9yQVs/fwICUCY7hykzHS4pMZHVuPStv1raS5i\nPTyWCzXq52vhrbuECheFRz7k0a/abNXEBZiSMoDrH8dxbUNkfngzof8Qt1Rh\nATXm8G+YSVJQ36bjpJFc5p+91FqdwrHfUGzdhJuYmLuLyWokAnJ51MCuTJ/K\nZswDaSlbtjr8ZvMnOjwlo+CngLu5Ped5beR/BoILycXjt4FP7Ok/l6nwnW6A\nw+xFMPlBWuCDPsv+swg83QDojGw/DElHh/12cJjwrWu/lNHxK96MSxkzE/Cj\nHQbO2Ing7cqU+XrIsu/M+Qnh+8qwJRQhqBqWI4pmfgx1J3QyGuwoSNDSqv/4\nO7oVbpj3xFKR9FAFQ64IxbNGhNYfNF/fMqwddoWNEZbYTcIxN0LWninA6Ik6\n2h0msEjG6gTxBRn3Xa8UP3KcbQEd4NGYVlf0uHEqx+lboDux68JZPG4M2ktu\nsiDwyp7hnfMYMXi5qK7xsA/bJsv6OcP1QJy5Cvz3+IDLXN/1wQTr2lDATmsd\nJV1t\r\n=ifmQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"32cff7b459a8aa1e335c6ccc84213cff0f6e66a9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.7d4ee2996.0_1578678971893_0.8212425596413071","host":"s3://npm-registry-packages"}},"5.0.0-canary.981ec9b6f.0":{"name":"@material/dom","version":"5.0.0-canary.981ec9b6f.0","license":"MIT","_id":"@material/dom@5.0.0-canary.981ec9b6f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3617705c047ea2b42bf032ea6d068a5c1c6e8807","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.981ec9b6f.0.tgz","fileCount":17,"integrity":"sha512-tHWO6zPKPC2/QKLDtFhtJ9JlPI+7RmT3VbkeHklwt4WXVvXv7av4EKa4hYkdySRpvXaZTPWAryK+G2d2LFCbgw==","signatures":[{"sig":"MEUCIFPW4nq60DSUtYgzKnKkSbfY7TOP+rEvYw57WOOWecyOAiEAsCW6Ssisj9IE6nLhBuIpW3fI84LXkU6MZMzJ0qudMCE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeGM/OCRA9TVsSAnZWagAAzTgQAJM442cHulKQ/cfHxxsF\nurutW866KYaohltA1qLhqcraHjJY9FhQ2MzghHC/0y7KrkBPGPkNhpdm8mCH\nQvfxt/nZyqxHkXXLblfGZ2n06pyY+qk7cuIiJs7X9rPt0P22JCFDqUsFweLI\n23vX4KKR3Wza7Xe8XV0qy3xq5C62M5Vwl+WwhBp5XlQ3wHAuyKRYQeWrs0eH\nTGWYPvlUCJkuSwZq6OrCiIjwstFjtrr7JQ+tDxlz0mQQu1QE6T/94NUp4Jpg\neDYmB5mIYN+rYaM+GvkRCr5RCsaSjUW7VEwXE4UfLW3y0GxR1ORgnEQVz3UZ\nHQmuSGBgLPnJQaFqeeoKHXt4Our8386J9t53ggxl2ZwOqkxRnihWB3Kf5Wnj\n9sBP2VTKCxMNlOZ6zZQEWiX3VQ1zwofphaVZ2mOL9ziG5rU+Y+ivPUCqH0+v\ng5a70UezhfehY+CQRg25F3zDd/PM2FhH+GQJ9ZTBeYdvDO5bzUmD/K0yYtYz\nZdAWXYc0Iu5qZXqaG+exmVkywCeNt+XG+jqdo9XchLasnylVoArcs6i6m1P5\nNXCO+YPGDtC78KhFw7jtY1k1iA1dkZXeIzRqwDU3irw2TWH0j/8qSs2I6W4z\nw0wFyKh2xWlPsyu8zDXesA+O9NJ91L0ZfSArJAGh8t64khbbl5LsQjLzxvd6\nv+v/\r\n=D9Rz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"e2e9ae33775d14566dd45608f66087b2761d454f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.981ec9b6f.0_1578684365757_0.1940216166540354","host":"s3://npm-registry-packages"}},"5.0.0-canary.737da83fc.0":{"name":"@material/dom","version":"5.0.0-canary.737da83fc.0","license":"MIT","_id":"@material/dom@5.0.0-canary.737da83fc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ce8e6e016340c85de73c1c5b5a026c1d23ec2fde","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.737da83fc.0.tgz","fileCount":17,"integrity":"sha512-KQ71zoUz2QNyhcKSqoELf50ig5c1KxtByLUG0M1iowGBjfTTt6lDmGHfLQLqyuUDw4o7224jrsyJwFP6t1M3xA==","signatures":[{"sig":"MEQCIG6MmIOK25ZC1HsBwhmQJIFO8fYea8OhzwPtoJnE2ZNoAiAETzbt4lrD0gX9xImB0LuHc0HWlP1YlXqrIzgowVE7gg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeGOoUCRA9TVsSAnZWagAAsKYP/inOr9OSARjoSMZOQRSd\nvGOOrYPIv8Kj6fFi6AGdwkbnoxoUrSnKmC1gq32+Zh0FBsrTv6sKK4xQBNIH\nWH4iYeGjx+W33M65EnLAgwMmWc3CNTCZIxSZbprlCafsgaTZ5cYLQKy44FTd\niXuMSd4GHdYXNPgF1CflacuN5c4SVbGBNwuzSzkz5m90XYxn021SF4A1akQz\n3tfgstaz4lZyTWc4tXAK/83jE8/uTqAxE4umFPvbskE+RhyDGkZLiKojS/ww\nA8w/HiYWsOVDjJv2FdpGLhfHVBMCn4oKJupYGCp9nxytTvXoC+rsGfcgf/bb\nvJ7R0IyZs33BFWnkrWOr7P5m+jwqMiFtRUsTFRU3gLYxERNuFemZCbQSFtsO\nKPa/6gMPEb0X4b+YINpc9pU844Rj4s/wjNpZJgPGP4Z3JBfx0SWbF2/Vnupz\n/YI5y/LZD6ujV9AW45/zdeJK5docv62R5i8gwFKogoP8uMmei7uFTRZbL2Jc\nKPer5h9sk09OQgs4Ex2yRvLrtp6ZjE0IhJTa6QPE8p5aD91DOS6YHCb78s/Q\nerPMDfLwL791KIWI/vNEIL+on/CCsR3cF8Q/1rx6jCahm17kSI02KOcgiSik\nIedutsDG2RIk54tSs6J3taK73OU+M0+O62dZUWBA9tvkuSbG3aRho+EM1Mdy\nvQ3l\r\n=gDSC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"3ea8f6e8d81e688483ab007855dce5cba3b72015","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.737da83fc.0_1578691092279_0.1379827876330051","host":"s3://npm-registry-packages"}},"5.0.0-canary.aca8e6c18.0":{"name":"@material/dom","version":"5.0.0-canary.aca8e6c18.0","license":"MIT","_id":"@material/dom@5.0.0-canary.aca8e6c18.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"50251b7480ca18239a89cbd5ea1de00df9d60eb1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.aca8e6c18.0.tgz","fileCount":17,"integrity":"sha512-uBxEOaYQGe5gTPXrnaKAIBHH+eQmGqcVJGdNpYyAEOsU89gcXpmB6vvnQ2FB1GxCJ9n6llD/sQetzittE5P6eg==","signatures":[{"sig":"MEYCIQD2J8vVcb7oOtnxeSdpDcJBKOuzH3byZ+jicu1mR7TcCQIhANGw50nEuuOaeHrZriUBHFgQaxm9Zs233qleX87Y6kuS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHMVwCRA9TVsSAnZWagAAn4kP/0uz+5Jkaf36ZKH1eQEr\n8NpmrU4CMLHbdqrb7xKxODIgYx9kb8lyW0wQZH/zqdFTEdgvBFtKSkMac1RT\nSvRUalCwGwBSUs5pXncB1bP0wt+2QCuFj9gFTiooQVIftr4sVgQe8kukTy0C\ntnonyjhqUOC7jyB92fS6UlG9ZsRUTYq3xmCW/SprvXnn+Ec35GEBykI02guX\nD8bHpaXm3+Fw8MoAWy3hZDPgSOaGyeseMI4rwjEoCAfdACRc+PizQJU5szJz\n+9TpFYb2RZjLhn9BxzkCQzOwXDI1xNZjylTTfOMdj2WEtHqTJMVCEuK/RI8e\nqkb32DjiYlirtUL5he1DGXTyxJ7bX2YI9e7Ax2ThDDEbozDjVeoV27fx6kAe\nHzPGycGb1tvDSQhyAnSOWIot+OHtDvpCkW/1KDpvQgYVRx21HSh7Dck2vsLy\niO/knYW47b5EwGiq2AkHmiObJSjEZrKW607AQKQFhIXZg/B+kIcoNinNH5/v\n/SyKZ4ncZkOUpg1vrc8RPhLVbU6ej3TLDsABqc404gjLDsZF7h5sWlvohW47\nTFTDGQNTHyLAjlznR2YjH3AEyhtqmUelXDCgqs6nXlB69xRYe0ViqJY5JpFw\nxJvbkhrkYgOtWQyl7j/NEVZTci9xMzBKmfx9YHTdJwHGUngKUVjE36bFYwbS\nvmtg\r\n=i0SQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"47bc251033c39b1b8f816f8ae77c888c07b20fee","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.aca8e6c18.0_1578943856431_0.035113892491378085","host":"s3://npm-registry-packages"}},"5.0.0-canary.c38d84e21.0":{"name":"@material/dom","version":"5.0.0-canary.c38d84e21.0","license":"MIT","_id":"@material/dom@5.0.0-canary.c38d84e21.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"54badb5eebc69fe55abc22e7f6373f4e6c4421f2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.c38d84e21.0.tgz","fileCount":17,"integrity":"sha512-22s8xnw/oPGgnVJQx0EyN3R85eBgK1Vh78yY4kOo2RAlbuD9JjYsNZ1u47QUMQn6QG4IAVehwkT7Xjp+WpwRvw==","signatures":[{"sig":"MEQCIAzUOvhBQPexeKGMl1bfhwdFvZM/XcnK84HsP2zwiofVAiBM1ONILpA3+E+aQRR0s1nNlrOYZfF1VzT5MXQe+Kfxug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHOtgCRA9TVsSAnZWagAAQvIP/1WhxE0n14qGpSS8bmy7\nuEcHcoPwwBJGW+yLsRxmeON7HS7JvkZuMZrcnYVesQW6WmBxWP1xPNIqcIq0\nxMSSSOG0RYizY1NAO+sFfCFNI5WqOybO9rpQiry2h2K1giQ/egimpFt/qCCQ\ndmPVF4AeLICDzkpbHLWyL9anVwbfA1s7POuRaaZv5v718errOvh6jvF5ZYzE\n/cYW9ZvpC2IPQ6emmInc1CWlZdiqNeDfBjx/ohBat2gfVQB+W3hWVJWnf7pD\np9cZmmppwTMzwledus/VEhtaHtTF3NElLBtF3atmNkUpEjQYdtpj0VygbrQf\n5v13ilpo4X3jLZZER01w5ga0W1Jl9G5H6CktwcbHedcqGnUNbQXK5mZx+NAI\ntvImE6HQdm3Y+opx40K1rNqsrCMSEzAhBVVLA0//5jyRWaFxoyH1In1xtYms\n6nVPoqS0vRtfY9E+R0o6rABXNQneVOn7s8ArU7MsqMmX5zpUUyFYLBpgOyKp\nnyp1nlPNql8xfv+Z4bO3mL4bVYG7Pzi9m7zNwflTIuzvx9XyPI4Qp+E4vDKq\n7cZtacvet3cRHIjCk4V99X1E3fw7HST1bK3E4mR82TUvjfsJwVuLoadR7uMq\n6cgFFuY7wxBoVgHsNV0EVykERscmgIbNkBMG8iV/+iN5CymNLrx/9e6voF6R\nKfFt\r\n=QIMm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"f283cfd55cbe9b1863cb96e98011fe4badbb1fd0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.c38d84e21.0_1578953568086_0.8764612371147871","host":"s3://npm-registry-packages"}},"5.0.0-canary.a4db5fbad.0":{"name":"@material/dom","version":"5.0.0-canary.a4db5fbad.0","license":"MIT","_id":"@material/dom@5.0.0-canary.a4db5fbad.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f6f45cf960fb6d05854fed3fc334cd495a6398e8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.a4db5fbad.0.tgz","fileCount":17,"integrity":"sha512-biFq7u/DikesmELZr5BlQ8zKb8/pwGBjl3qAR8l/DAHBx5jbfZtEB6irD73YmLRsrlycrSh90UIC4my1OGoImw==","signatures":[{"sig":"MEQCIGFWY5Z0eBGzlx1eFp+iqpwWADWcOg4HvkOAqhq7EsIMAiBr8SQjKkyzfuw7aS+mo/UkJsXwnDbRLgk/f9t2idUzxA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHSQbCRA9TVsSAnZWagAAnK0P/3mmXSx4gzi8ZTAvvcwu\n7zlnEoer61BmMtZMIdW5ZibhoosurCqO8oO5bYs9j35EKjwXUsTXI8Xvybr9\na378r91Wf/HgUPnwuqy/HCOYgCCAaGfxnB483US+wsTDrM3aVjGJ4Lw8Y9DZ\nP+UOKnoGhF3YHvU2wJp2qJQdCqm8CDd8QadorxEUR2v2iV8k7MC17SxBe1PD\njS1WiBnFtQ7GOt1h59E200iYemAF2sG7ZirZsKcOjWbM67Yx6yqctZN3URZI\nAe+QsAivrk7r6B9z7G639rYAz+htKnkPhZQulYHk5fWe8jcYwGczeYPUKxxu\nHKDRouMcT5rW/snN77BAf39egGicinJtuQjP5se0tVMwAXIMXUMzn4/IP76M\njxkeChR808pUA9abXGVpCP2oj2C5RzAqj8V+W16WzURYRYjTsE82aB3aPDS2\nr2GfRv6V0+/Uik3+RgjXPzZUG9NE4E20flNCGkB4JRMAiQei05ppBTZ9t5Fn\nOsiZq4towlr9YeDHDofffYY10D1N5YURJ3CErRiSrOISxepmy6Dkylps5zuF\ndDhkr60kkTi8P2EXr8Z4Lr1wskt3RHaRtSTok7GJuWLevhFqoxaWoYbebB8p\nVwVoQEZGA5uXBwJoGRHx9S+7C+rWUv5t72/tOlg4oDdEQWCKr874wd0KxcTx\nW3Q7\r\n=803C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"bb5fe141944679686f178779345a5880a89943a9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.a4db5fbad.0_1578968091007_0.4150520644968452","host":"s3://npm-registry-packages"}},"5.0.0-canary.faa9af310.0":{"name":"@material/dom","version":"5.0.0-canary.faa9af310.0","license":"MIT","_id":"@material/dom@5.0.0-canary.faa9af310.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ef1cdabb3ee9fd51ca7f8663d2e3b680066ee0f9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.faa9af310.0.tgz","fileCount":17,"integrity":"sha512-aOEjOVnawRNXJaD9z/xtf5Feyt1c2Z1W5b8b5SrrkXAuF7hq16yY9WNmADnxWbGcGBUZKJtiPbZEOg/yaKHM+Q==","signatures":[{"sig":"MEUCIQDX9jkN5yhiWMOrKhJc7KCUkg7nKcntPwH/o6bNOR17IQIgN556zjZjikerEBN1l2sl3mvpHhlQrm+iPyY12tTrtlk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHfG0CRA9TVsSAnZWagAA4rMP/A26bZq6o9wL4QmKvUHn\nuLjwd11r/QFyswkvxD3EjngxLLYHfRQVFHc9Gy7BNKIf7Wx8btKdxdiwIWb+\nonF3OI/X+CrMX1Ssg7e8KIFNjoBGRXiWYfeQnlve98SZoo/zFYJniY6TJRys\nKj9OUbHnAKwYhV8xPmtTo2+ZI/YLHW2U7iQg1Ha2i+dK5SUQkawessjQnvkH\n6oqJC1x0Ad20GWAh1rybG5wcn84/pAiNB40gLaRPFI9ad9g/ffphBt2TkbFq\nQeTgVYYl7yh1drhCoDwo1pn2gFMRssDYbTM6Etdm+RInanalucvNlKsjWmNA\nrghdm9+ppCTv5eK0PW7eWNBamMcGrm9TDZWWDngf+DwEQya2+hkbcapVMRKT\ni3n4Sjdld0HQ9VJBskU82Jy9Hm9Nuy1cFsbx4jzWlisob474+PrpD8hWCz+I\nRDQNeU0Zm+RBSPPXREop3EuocS41aS1iOVsXcUQUUnWA81kvfnIH3priNv6s\nd1va9TE5xJjaQwcpkkxD58BoEi5Nci1L7o8WyQaDxJQl5k125kpsnM/w1K/m\ngFo5hgLGK3EDcfKNn0JcJ6R6Ew98vgb7MTBuAvpK18eQpDeXMBgO9rkAHcWR\nCgAbg1P3IIdd/mdbASR4ORIgxwxhSMFzqsl4tqLzA85JgQ+fBwTJZxW6SVu3\ny2Og\r\n=Lulo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"ee374355df19027c59f24bdaa809bc18183453df","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.faa9af310.0_1579020724104_0.9122513044248868","host":"s3://npm-registry-packages"}},"5.0.0-canary.60354c577.0":{"name":"@material/dom","version":"5.0.0-canary.60354c577.0","license":"MIT","_id":"@material/dom@5.0.0-canary.60354c577.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"18182525ea916dcaecd3ec26b69c5d1d8d09c8b8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.60354c577.0.tgz","fileCount":17,"integrity":"sha512-k6FvX9Rr+RyGSKeUWZIRRvWFXfT6gPPCbt+CsQaF6T97E/kuhsju0N6j4+fZYH6CCIOjX5cGOj1fhzZm+/TozA==","signatures":[{"sig":"MEUCICoF1dmoVYcsDH+pUwWJNRnek5Tre8VqEttc7Ny0KSsFAiEAybgQY7ooS8jU5zzEyGkDYtp3XoGNHO0swpHg7Myoni8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHkSBCRA9TVsSAnZWagAA3qEP+gLihDUjlw2FK6o6E0LE\n+FE8ssPpxLaCNnKHKNmZMey0FaF1GpS2LZEyEDumPX436G1IFV7/OdAPgNCz\nHiRZgCdJ8kja29ueN2GXThlG7pHza6Abosp0I9SAzc4yxgzb4z0EYYEWCIc6\nq20jj2DLf+FqMeyOh1da4QM61fbXelNevkx8DGimPGzHjpWD9OD7KqBKMp/H\nSldcpZY8TOmYOhVC8vwzndIWMOX3Addd6pbza7jjq5SwKB+bkqYHBSjFnG7P\nU3aEtJ2gSZC0EeKFtaHaMPlMUEqgu91oS/rHU7XT6dMIG20o8rca1ROcdMTl\naJcu0sLjGnPhV1wqXnmnOUISsopjCBDv5rJ7FGFq3t+QS9yr6diRARehLdkb\n/bgTmRxYTm5HXWJSAAX2TMj51aM4FxT1juhao5E+2JE3BF16IQdfmdL7Dlx4\nf4rYxEEAFDymeGEA1MOKx/JSkvWNCtY+pXtO8eCmZGwaqpTgHxnWrMZs1tEY\nTkV8YrA4TPR/xc4JKwuvdH+KXmDBWRnjo7PfTybrhla48Wv8kex2nQ0ELyRs\nui8y0fTtTbM11DEX6TOEQhnnpSqI0o++nUd8pQRkcm7L1e2VcE32EWEI6ydN\nhuwzwCzrGdKISNMPh1fBqIGJ8l+tAXwQed2J6vo2ihLqwurN0E0LLTRDLTcg\nyjSI\r\n=HMfZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"d9f4420da446050561084fce698a543b0dc6b543","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.60354c577.0_1579041921102_0.25520570365439976","host":"s3://npm-registry-packages"}},"5.0.0-canary.d07c78daa.0":{"name":"@material/dom","version":"5.0.0-canary.d07c78daa.0","license":"MIT","_id":"@material/dom@5.0.0-canary.d07c78daa.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a8f661b95532abde4bfa03300fce1d4571e0b1b3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.d07c78daa.0.tgz","fileCount":17,"integrity":"sha512-p759+RvIZFW3sHJ0lwZSlKSrm/paDVNHJJSFhkOjeshKqiCuaiTXKHi5hxWolcuBRjW41Lrz4d/gIoT0tXwazg==","signatures":[{"sig":"MEYCIQCXAZTXDeFM8CVcFP6g9eTwZra+yLcH8Hbss/zIbA3BYwIhANkOEQJ5pKyePf+F8CqXXXok1TjqppwS3frmPt/ETkE4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHlDYCRA9TVsSAnZWagAAp94P/iyyV2mRNxiPwN4D5C7e\nreR47f/vXt08NmsoJg73rq204U5IG9GOP4RdsBy1cfYg8bs3p2ujNu+3/UXj\nQc84Nl3x36bM13C7i/db9akOntK9mr5z8JKSgKT2DcQDu913r8ulhrgVKTTk\nCL7YPXb/g+p7Sxlo/vwPHk5Zj0iwgeVMm4rK2RcYZHVKOxW7F+90+QH8iQ1o\nqe2le0uGVvBTZN6Aggeez62VTH7ETI4dllDnwzQPidnsuLlHc9zyhko5aMlu\ngZF7VX48hfCrlpT5mSmuYfB/HWaui1cHG01KieMKErIQsBptlE/fC6IqOF7d\n+y1vQoXszpnk9OBmDDa8ZdS1U/3vzpCc2yDV4qwKwzV3Gh0CB+I3KdjYo97q\njx3dgT2SaaF+5b8ZMwkDdOayNMzijH9x3aHwE8GX2Yqa69pUxKJg4WDxndIU\ngcS6MPpyO0+HOAWJi/fFH0NTRJx7FNx5ECH9C5zUsxzjr/pbQozlZRMCzKgk\n+dAkP8T3zLvTy3Qzh0w/0TRlg4TEoutcLdcSQPGkzECz3cPo/XbjA+DlXu5D\nrQ3AmTFkbPv6/whmN1UJ3qFJ1273okSxK14WdLhlUKvdjmgV+R0PoEoXdkw2\nANrFZ9iZSHIdYOwpJdmt+aPHF3xrUd8dGtrrlj/nVvdGcQkR703cE5oFB+R3\n+1G2\r\n=JD8w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"3657a12b1a5b9b1742b2749f6991e06a32416314","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.d07c78daa.0_1579045080106_0.4635775593952385","host":"s3://npm-registry-packages"}},"5.0.0-canary.8ddd5c6dc.0":{"name":"@material/dom","version":"5.0.0-canary.8ddd5c6dc.0","license":"MIT","_id":"@material/dom@5.0.0-canary.8ddd5c6dc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"93c4db1d49fe376bf772924f8aebed5ff475cf25","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.8ddd5c6dc.0.tgz","fileCount":17,"integrity":"sha512-eKWnTSE3p5DmlTcv/xKbaOOw+1rF6Uu1e53zuDMwlO1pajDQgKsl+hZ/+wMDnTO9Z2V0/b8eDLVHLXtcre2hhg==","signatures":[{"sig":"MEUCIQDYahrAMrExCiLXdrllgD1EjHSaBEXav4JXChmPHSjR5AIgaiZVW2KMReqh3fSD/2lhg61fsMZUY5lwmQXugGqNefc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHm4HCRA9TVsSAnZWagAAiyMP/RZFzPLgoIBJPNb7b5d9\nGdugsDQz81XbbBxnDbrV6dFzPzxD34rX08EGuFBPYCkqf8Yas30Q3RJFN/4o\nuAsguG097Hb5CfOMmVvypdBj4IL9FVp6+MUQdJT6iAvSao+SX1ckrFurNCOp\ntgqyk7MQ9yOpm/IvY4Ynu6Nu+DUgqXpWS4dTTIM8o3utzw9bkfrmWW1TLC/b\nSausfhr3dBY6yqLx6Ea6IiBAb2lifjRW6lTtfFitOT9f7I38C6cfRHzFQDvh\nSFlCNUqCDk81N8fOaPXI72x21Mhi6P3LXAGSmFmHvPWKVkSGhjjK9nIRMPVo\n/xVRyF0+VhAS+veDH6RN7q1AdgGbAQ/zOS8BBVweSHInVSLczPCmPvagRwvq\nKZQ/h9kUhqL6dOP6JyktiJKTzCeNU6sELPIBZPSzD2pvGEuaZCkNWKULNj53\nkO68UhzcXyqntDT3r+egDA1BQd5khR30szyhjulwYzVrQYvYHZN7/ahjUjkA\n24q6X4WJ3fdR8oYYOkibxha7Le3DU0Cso7fbnIwNA2+1m/fDS2gJNhOXutzE\n+rhay7kGBCNNk2K4d474muU/4QxuK53fnD9QwGx0Yq66CT5+rb1x3YbWPvi9\nqh3fiFAbtXqmVIwL0YuYizJ4T9WxgUK3fHo+5rQQMMKsF2KCSIQ1AxfafEX9\nsR44\r\n=/O13\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"939fade350708e559f107b53d2ab9d27d6f84f1d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.8ddd5c6dc.0_1579052550840_0.1918004847096053","host":"s3://npm-registry-packages"}},"5.0.0-canary.a9511d870.0":{"name":"@material/dom","version":"5.0.0-canary.a9511d870.0","license":"MIT","_id":"@material/dom@5.0.0-canary.a9511d870.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"66292936d92b0799761d6c0dfd34024f3c351d78","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.a9511d870.0.tgz","fileCount":17,"integrity":"sha512-u9joMno+LM8qox5VPj9riF8UvtpINXEIYNpmZiZqS0EXdTvEgSG6o3iP8agd8c/20ELxsYg8TqLWV9UDaro5SA==","signatures":[{"sig":"MEUCIFZgCdnSwlx/Kx7J9T9wp51T+UiTWBE9L6qcqVGOK0XvAiEA6V7Zn/ozD01rDj7lf2tlUQkRVdB8GQWeY3BVKAuXdac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeH2N1CRA9TVsSAnZWagAAnzgP/3rCDTCbwoH9EN/FoNiw\nvG4vvV2LYlF5uty55iCGtxTypqytMccj1tZgCnS23bnrYh/ZdcGGxH8tCteL\njKkS/+5PWfuc8Qcikz6zmgy+MisDIWB+9iVwO2SZluucRluM+CYNdWm9it3C\nDiC1kjCpEvGOSegXeULMUMAwmZpm3X82jLpaAc7bd07pGp+5vNwhjDxAFz5j\nC4aT3VqmcUOAwON+8+REjgyELXLs6OZRViuvO/hAzlH48TLjoR/GeuVelwUX\nFy5dQqjHFgH8NZb43KHVAmG4UtqjKSgeuwjJr3d1ksMK1+WO3k+x6EQmvPbD\nbd+1CFonpdEU9AnsyMTR0pwzegi7C67HoregFfBuiAny10Y8awUSPPMwwn9J\nP8DpCZmGnbY+ADrT0uZK4SUDhl9nSemHWZ2wlb1/kj4IPe63X2PSiuJnYlAF\nLFptoBkJqnjdE5cWtb3fNrbjVVCUX0XjGxLSQdK3gaFwbm4Xnky59VCwghon\nnlT6Bq+O6DvVwjTsLC8CBx6xAhvrh3H4tpYYGYf25tCHODyiOtoBT03h1j/l\nF+p2yDkUQ62baIXdKWl19mhCpMHRbYYgkDzZO3etRrDRXGgItNhmHVINwkSN\njVYqjLDZtbHcpXa4rImgL1/5YWrLcqKkjbqlIFPImAVTjdz7eR7qlQOpRetd\nBqyi\r\n=H1KI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"69b4f620220b7e580f5273bb82be01e5990b894a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.a9511d870.0_1579115381036_0.9040791684102651","host":"s3://npm-registry-packages"}},"5.0.0-canary.7c8583c4c.0":{"name":"@material/dom","version":"5.0.0-canary.7c8583c4c.0","license":"MIT","_id":"@material/dom@5.0.0-canary.7c8583c4c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"39e63c3bdc7e3c17ea1a8d96f9786c602c41fa1c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.7c8583c4c.0.tgz","fileCount":17,"integrity":"sha512-KBpY7lL6JvAaBFxKgM4pfGaBWeApMF8tOKBp/lt9AJzb151W3q7/lCS1fKLyX0qL7O+ULzLcKS3Os70lb2jrKQ==","signatures":[{"sig":"MEUCIQCzNdN6uTHqP1t+TAUkC3gO30mlD4vb2FumIxRT7GOFCwIgYnebCKviZBhulW6WT0WQj1bDgZ/KMU8pplpGDWTBWVU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeH5ZdCRA9TVsSAnZWagAAficP/jIsJeN0jJxMeDfKB9Cv\nES3YO8gPLWQ+rJ2gP65j+nwHOCA53ihfOUYD2/2rl0p0xo1cUXnQng+J5vIg\nTT/fhYYwGvVwgWck1KI+5GJUiYEs55xLsPgfpLarpnTZJndJlCQG1RbRo7P9\nbBdDi9cPPvGKFGqyb4qPh+l9pP16Way3Wpfwpzn0QrhnFqZqKF500d59Ylxl\nQJOzfpjvPv/bICaVO3cpLzs9OHHqOH12d9MXOb6uO78DrsvWkUgftFTPT/HX\n7CDQFzkjXdXuyM1g5r/LZ9qXLX0rRJ13i4+s2qeviBfQXwnqePcjdp0cUpzx\nP5jYZwRx2VZ9bEgxcvTrx3iXqdmxAaEET+m79FoluJHBbKX1nn9JA52RtcsG\ndBu006qIu3NDy9913g7aUO3Q4T44kaRT2i1GbdvnF5w6a760IWjmEK6jal0a\nAeVoKWjnZyF2hUuYiOqhTSFzLumBg27YLIvO4nXyhM/xD3WfTJHipYij4nPQ\nvcqTlf5AV2wuo+vnaiYH819HjmPIk7k5edLFJxjhjaMhfECF8Pjumk9ew9Ft\nfUTovxXwSGbHM+XZsTpHClx4wSY8EY/80aIf3Nium5wL2NmCKw4gvC0FOcDu\nCaeq2HkrecDG/VzFhd04JvoT4Kc6pPMyjN6L9Nelg0twYB9yGBAEhMzZIZwq\nQuBj\r\n=7xEh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"d89f2d9150d02c17271eeeb692f29f456fed4c1e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.7c8583c4c.0_1579128413266_0.9656493903512955","host":"s3://npm-registry-packages"}},"5.0.0-canary.5d4b82bac.0":{"name":"@material/dom","version":"5.0.0-canary.5d4b82bac.0","license":"MIT","_id":"@material/dom@5.0.0-canary.5d4b82bac.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c097bbe32433c453099f360367b3191cc9d224b9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.5d4b82bac.0.tgz","fileCount":17,"integrity":"sha512-z7wMt8cVGbgD6RrhDtZdQIQ0OVQZvySwTb2PZS+Is9ka1PDDWff3uBZch2CYWpkdh9ZfcvLlTgqHw5BKJP6dyw==","signatures":[{"sig":"MEQCIEFQ/ydXCzxxhz+/KCTGRZdjaNACdjx2KTTNZKX666+xAiA8g0F+o7svMWdDAg7Nclf/TDxce8CkXqHvY5W7oJIL3A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeH5ZnCRA9TVsSAnZWagAALRAQAITWm36aTUy/qL299Jau\n8nCMmLkHJ27ZtE+zMOeJebdK0j2+qv/1m1xYdeIoSP8IKqkISwDupA7nhTps\ndbGmFFHShVrP/g1HvBiCPOYTfcIRnaSCLVbLxR3VctvyDoGVcVQG4/RzuEfF\nX2mAQpf8CoEZkIc4FGO3tya6oP73cDpyGVv1SvT1b2lmXm8nqho7UZLd4O65\nItwp6HOt4fBN9kM+mrNnDZIcO9inhyN6OX6SnQP9z0l/pSVXHDmOkAslOZsT\nHHz3AOep+0schuwOh0uzoxu4N0GKkvq6cy6Wq9f3TBm5LqIu/DMkTB5UzQ7O\nVWtQld8Mbk9IJjxQY6mpzQXQ68b8CkbtA+qWncZ+MUtOicYyUCQD7656kkBC\nJaZzcSSkiwWPYU+7C4peW/Fw5SDSJYbje/teC0DIsCdA1WLUZyYtimsWCBho\nOUn9rX4rbAA8JDEQgXLYBYKqPgM7s+P3LYXvRqTpDC3cKv2RC8WvFVstv++a\nsaSK5EAwkvU88IpWfz1B8fLYrkBCy8aLbvo5AZBgYwM/PHFZw4xqiwTT7eZP\n8iBBAM7VKIs8y4kcVjJbGOWYc63AT3vocAyThktdU46g/4Akx7ZL4mKXEr9L\nZuThCvwezUVEfEvRwoPgQ3SuEJHpHASE3gO4UMVAYa57lyVYDlv8/KHrYJlL\n14L7\r\n=elC9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"e679f52745cb7c74219ab22354c6da39a642ecfb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.5d4b82bac.0_1579128423396_0.08957100933196216","host":"s3://npm-registry-packages"}},"5.0.0-canary.57d0186e4.0":{"name":"@material/dom","version":"5.0.0-canary.57d0186e4.0","license":"MIT","_id":"@material/dom@5.0.0-canary.57d0186e4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"235cd9f0247c39decb06523a5b875de4508f7aca","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.57d0186e4.0.tgz","fileCount":17,"integrity":"sha512-LRMtoQZu3ntEe0mn78Zgaw6+HPaKfiILkkNet68BwiVfSAxjK6mumuf4KAk25UVRsJrlRER3G9Za2D0/kdEZmw==","signatures":[{"sig":"MEQCIFzTqHXCBpN9JzrffCK1QZKh18x4oO9Qna5aP1TBZNwMAiBAi4Pz4zb+Z1ixDozEreME5fSRcKjrFAWbqI2T6T9QnQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIKiPCRA9TVsSAnZWagAAoFEP/3ljQDnqXThGBkAPdAZ3\nG+KLizU9LmOT80f0flt1DG7xNzfuRWohJOK33LwE1cqOynXzV/2lp+CfXXWN\nYNlANKfZFknoE4rjvcnPxOUxC5toHvnGy173Y2wcWxlaKP3IrO9Jl+NqsLFP\nTcPZ896HH+p2FxRYcYOeQtEFpTFtJ5CEmgAGXOCZysLW12cEmOkeaov633Pl\nLYpqKwdKrs4c87tTER0/4Y2P9NVMImN7YB500xMNBkbUydKDlD1iby5oJmH0\nH7ef2lrs4h1iSGrt2sPrgAhPEFvplS4KvciTRg0SdOieytTT5V4NDVLiwKuz\nPEI8JusXp8Y05DXGPSIrFcWTZxcLIJva2Jf2tZjnZy8bjUK9grdCqFYGK51b\nQZU9Tvo0gAdFGxWEOd25/NvJKf3wSfIejvqZeuXaEwlu32Uim5jKVxmyvN7T\ntLk4/9MvQzlvZfzaSgYbO0cW3w8DD42c9u0iXkTIVp6ovA8VL0xUdsb/6v8h\n/azSIZpw9b7cO8Y9DV5BeGirX5i/QMyfi9BTF++ud/c/e2P2SN/zFs3E8qHm\n3vDe3CrwSdv2woeMc4s6NXKq8kMaHe8Mtfl+4VKz092/eegZOf1KY/ub6Y5U\niqcE6lrnYWxi9ZSxv/ifmnV4RYOBr6mkzZb0aMG9ijAmyTRdIhH51IJ0pRZP\nV2AI\r\n=d9xt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"d0058bff117ed84df93c0a71b3aa8c8d6e34cb6d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.57d0186e4.0_1579198607069_0.10649767056680126","host":"s3://npm-registry-packages"}},"5.0.0-canary.071a6ab70.0":{"name":"@material/dom","version":"5.0.0-canary.071a6ab70.0","license":"MIT","_id":"@material/dom@5.0.0-canary.071a6ab70.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d3faf78b04c3cc9904626eda1a51b6e3202debce","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.071a6ab70.0.tgz","fileCount":17,"integrity":"sha512-nWrdpQjTlIo9vYYfmmbGeA5c4j7/Hi8D2RKsXY28zuwdQXkLKS/WOwcxxw+/m66SKn4hVnMhE3/2CQo1Rx+/Hg==","signatures":[{"sig":"MEYCIQCCOdsqVlsmR6b9cmTlUmywP9uNfenBYp+IUxJB69dW4QIhAJ48kZKJInZS+qwjS8wJzlcXJxmUhXYqugTwvMAAnGzZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIKoXCRA9TVsSAnZWagAAN+YP/3crTlm2uK5gUzvo/EVZ\nUkM+X4HPyrSNYysMl5tmg1qruSBGg+4ACiNyiuUite3czZiDmFpYgQmLRkYG\nZW35mE++U8m7EzLPOXq0FjXI8TW5mcpoGLYxXxPY0oqKHrJBVs2h1Rv9mVhv\nCpDsndg6RopOrEBJVnV4BcmJXPRhYHWGU46PIMA+LrK2meiA6gKn+XVpteRO\nonYzNNBLVrxKJaGuKuqQxV1A1eBquyldT2xiKuEACqb63tP5BkLYUqX6oT96\n0LZrv9xiWxErq36a/evq+HNvzl3OnXw5wAdt1N03qRaaZQqLNPlRknLg4G1k\ntKC1U81ypU2Xhy1RwEcRaGfI1uy5t0PaSJT9vJXH2PWjohpb8MwL0hTRQqeS\nUEHyZsamqwz0OFMc//Elr1p3mVl8faLx6h6hZIX6dxOBh4oF6g9DvriO08rG\nRaAkJxRc+alD8zBA/Ex6COFlaRRJaOyis9I27+OinUWRozg6qiNkWkLJEYMG\nClotr3glYcOU5Hmpng60W9Re9e0tIknoI3cbKOmLjHFMAUwkOk2McbGvimoG\ndqIiqAr75ccz2addEPYadoei38YyL/U6Y77eCst2Aj8caEh5++n4y1asmDks\nN0TfJ9tKErgHqN3/5rOZwmKgebADBqvfFKeT6D+d4DznnAWmmxF3fhKUJ3NL\nmQk3\r\n=nxzH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"40ae26c99d00481950066e41e33aac0545186659","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.071a6ab70.0_1579198999440_0.40861762864182394","host":"s3://npm-registry-packages"}},"5.0.0-canary.22e0cb618.0":{"name":"@material/dom","version":"5.0.0-canary.22e0cb618.0","license":"MIT","_id":"@material/dom@5.0.0-canary.22e0cb618.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"99afc4fc8e9ebe085a587555087e20d1855e7096","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.22e0cb618.0.tgz","fileCount":17,"integrity":"sha512-XQM7x4H3sNt94Siy5qiBR40lfnc/F1D3KGhxyKliWgrYzjdJUXyC+Op2ZArkCXJAaXADEfOhXt1+ufh/n17moQ==","signatures":[{"sig":"MEQCIC6TgJCtxRzqHHMV9EhgfC7Hf5D1yqFowio+hAvAwf+FAiA1WG2yspq6pbyyfcNzMNsiQGzlwvNsFlGXXakUPXI83g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIK+ECRA9TVsSAnZWagAAK4QP/2MIaM/XI+B29/OveYqa\nRY78NTj1avuXU18/vLSbGT6tKNKOjZyDoqP4St6qbCpUoumR7tPu4ZRQL210\njV5jS1xEOGZcpEW1fBiIRCAvtYYidcxT4uVYLQcLvLUQBnvq9yrOMgwPbYLE\nFrgs7X+F3B7qukWXZawzbEhjNKJdtDgLf1f32v2M7xLKtyYpUhkGALUSXriN\nOKr3vaC56+c2tZgfiIfJLWfxzloWS90M0qUNtkUyilycyj70xlBOfbLMdIIb\nYlsBl05YvosIUwsd56Ns2S/p2T9OONteHmMI8W6hUuwe7qnx/c5X2uYkxVCS\npnIoudlEzwfVGjNI+6dn3nxwV5eL+vjs5z4o2b2G+ibRZ5EocqbH94ol3bGj\nPUnmYQFCxLNkNyLBLPvSvR80rLbAf7OT00xlxAYHPyUrAXp1F8UG+K3YSHYK\nEIZT9Yc/p5y2HM1M0VpP3PYhd+sork5FkR888Bjh4F8UjNO+6iha+ihE8udZ\nJz/YAdEhoERldlOsNHRmpHjvCLMGMjeljc5FWumSU9uTlW787P/qflZJj7Vc\nDuq7mpVBrrGsX1emS3l0EY6TBjRRT0Fy90nxm32kGkhF28gULvu7qdmQZZYj\n32W7HKgyu/0/PvRQSdQrS2zTtewZB7giNeBw0+rYtGtjUD+3eeqaIhzykvdP\nwKKK\r\n=YH9T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"a2ebae5c07da66b94270b07b137673cf19d6d344","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.22e0cb618.0_1579200387598_0.10413769284779639","host":"s3://npm-registry-packages"}},"5.0.0-canary.f16f15b8f.0":{"name":"@material/dom","version":"5.0.0-canary.f16f15b8f.0","license":"MIT","_id":"@material/dom@5.0.0-canary.f16f15b8f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"69129c8cffde868785c3aea5766f06a0344b1371","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.f16f15b8f.0.tgz","fileCount":17,"integrity":"sha512-LvqdQQQ7bJA2kKSo3bIkL7yhGFt3wUU4FUDSTWA1B6hghV/NjgM4AEoo/dcxb/3PYEx0UUbgjbwRHlWtZyhU1A==","signatures":[{"sig":"MEUCIA28yVISfvMZZC+nMPszxh8C5B+c/sQf4f+xvWcFOG9kAiEA6Weth5IRNGKIm62SQqpVfJNjTKtyppXQ/iedYLPao8w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIPp6CRA9TVsSAnZWagAAnwsQAI97p3sW86nfiaO8oc6f\nfHExPFQXZQxM6+ZmFXsRieTO4Kf3BP2noQmARfuQm8xR5D9W6KxxBLFUTwXp\nO9oZb/NflC33X7BPmm+M9d0XFtxuTLu35XZO4D9fAZ7ZeUnaClWuNTBJpUxd\nK7xKsDqPfC4d5X1Ro8L9v9D8Q4D44hHARx87Pf5zNZFV+Rb0Nz9W7nSOoe/2\n36anbCJfAxnxVLAMCy7d24cB/A8/aDmwDZdqfzffdSZbzfp++vWbbKDnj5lS\nnP3OvbiwHZawvkyJfjfyTwxtihsMw2Z07PhjBskDaj/w1GUuhhIT58pWiQZz\nw5+MaCdKoiXgPXLGeRlJC1E1JHPMg3+dzEZrCOm+iTPR16wGg0SltKGTlJbt\nhtLD4xAALhniK+XDCVvZwIbqsjknXgdkscedY5hA0oXSGxKPUimnZEOwCS2C\nW0uzo17O2NVOCq9wPYQWC+b1nHfZz26sVrmf8NLYHWB0KVLYaKmz+ddpWjA0\nj1UN06eDN+a51mgaDfD2dmPo+nAw+LBAZfFmJkiVwEpBxTilfDXFJ/CvooHU\nrbANHhWhBxEZYklJBFgocjSn+Zi+9ANU50DGVYG7if5lNVPOoET6Q55o/Ebk\nki40Xzk6Dizct532bgITcmjrAp7WuF00ao2bvB2PjcRxJkQUXCqkgS0MF3s2\nq83w\r\n=RgqB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"edeb2cce6b325b416aeba9bc6f4598eb518f8b24","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.f16f15b8f.0_1579219578241_0.8204784542228474","host":"s3://npm-registry-packages"}},"5.0.0-canary.aa8e43e9a.0":{"name":"@material/dom","version":"5.0.0-canary.aa8e43e9a.0","license":"MIT","_id":"@material/dom@5.0.0-canary.aa8e43e9a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b735d7e304ea6fcc5a790309b027e740a82a0488","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.aa8e43e9a.0.tgz","fileCount":17,"integrity":"sha512-mB0VoiLwOOI92ISKfbTfkKkLdrVCJKHnMcIoOpKa4kElyMPRXwTfUxLWY9ziFEV0VFcg4CE5vlBweVpwRuyB3g==","signatures":[{"sig":"MEUCIQDf2aSVzcUGcr9X3Gt42p1R9WRwH1wUNyHEnYmiH5SKFgIgZW5xfW6t78Qp0w756/eoHWqWMocjcV8w1VX6CcLqVqY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIQF5CRA9TVsSAnZWagAAP0YP/0c3yKnnKm5TX3+H9tEQ\nJFoiQjX86Sq7UU7wnSvXI+0Pc8n6zNwmx9kaL8Yd8o/tGvkL0FhCfk++2Qnl\npXw+i1cKXwc5n7Crxlruhoe0Fawfek6Nv2HxWhxtj8cjxX4+nmtvhlgT2V/B\n3SgZVWqqId3Vn0/34QnVisei0vtyEUUFqtboKg/EPtNFLBjAycCXKZRVk8ny\nQRmivjOnhL+ggsOcJo5MFcSxRkrNji0aA1GognDh2+0IVr28uZLT4LtAZkuO\n+2MmlkVVvg3lYMP8ekqln7Q/ZULbRzPV5iXHrXd6yI3bK2n7m9ycO/k5LQke\nxc4F7xt3BsHh0BvCpHU6vIrGd/e0KrVog81KCml3Pm5EA8aP04zAiDz/2vwQ\nRASmQn5Al/0GJYwyWKGfneWdtnuxMXfK8x6Ngs4wctGFHHZBK0BfUZwUleOE\nELpin9vJBIE9j/pYXTyfh3N8SQvvVPLKmzXjVT88wDEAO9RJCY6qOGrlIkw0\nJBuuMMnppGI6kIprUtwhtjXe276M32JyaUWckLWsci7sV5ZzQQ8/0N39XMD7\nCj4ULLcXXiHOTzE1MXQiu4d2l9ZUKpLDr5HuK5YzirfELQr18jRc0NYbSx8G\ng8EalAO8KEXn+wPegzZJJQKmxxwdPqbQGm+V6QY+ND5TIHSVNIKFv+XHd5Ut\nh/7p\r\n=wI71\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"b95162346a28c58839b2d3e52201e1f8c5fb9789","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.aa8e43e9a.0_1579221369176_0.7074004586878067","host":"s3://npm-registry-packages"}},"5.0.0-canary.fe1f3ca07.0":{"name":"@material/dom","version":"5.0.0-canary.fe1f3ca07.0","license":"MIT","_id":"@material/dom@5.0.0-canary.fe1f3ca07.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"92abb45e034fb2b8f3cfcc2403f14db532308aba","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.fe1f3ca07.0.tgz","fileCount":17,"integrity":"sha512-NOHMkXiWOX/OZsIt2ofL0gks/E7f5KaUmB12yuHHm/TYAFdFMrlGLbGECYk4g56vT4cj6EJbv0aZ39GEaVfbhA==","signatures":[{"sig":"MEQCIFJHuGmIV7yrkBoQaWB0H0nFiXgflizBTIukFGFHwIxhAiAQ6CphNErsNvs5OIqa6+Z1I4+k9tDYMeV1vR64R2a+eA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIQb2CRA9TVsSAnZWagAAPqwP/iH2Bi/8qePOJVpizmrM\nKBPlVrWkNF7krd0FeY04Mtr5N/vnagMZrRGYN+7mOFEXT25P+hO5mM3XA4xk\nU5JC8IUJUTLnY43YbbWd9KtF+Ok7PI1UWUsqc7U/Gg4m/jQSixKAqrNjC2le\n5w6N7nPs1//Ol7ROlTwOZpExNstwCHWzgoIJqT1cXEHGXH3s8V+qeFIFVKcr\nZoGHP4T7bDntVH6Afvlvsfnst3KOJir6DjEhdUTvxdGSCy6wi5grH3WYVnm3\njznDmYQ5xpHn7g6yWo80QeyolKts5Qkehsuqt2t77fhqHmdxG1VYdlRVtmsf\n3PUiKodRLHmc3keGS/mNI6VzgbQp1SLWKGpcBhR2fkkYs1vlgABxUfZsXwGg\n/HWqcdL2Gu4A0CCXOvMT1Nyc2Z07mWSzePAIBCubFbM9CRYo6RXkPVuUTGVt\n5wB/EtDqK7Bwupxt2Eni6yOsiW3B1eHkblSKPxDVWTiLzV66aMM8PcHcUoOG\nDyGnWm4YGhG8eJNcG5kRTZ5+I/1PR8sQ78j+54qpOx13CQ0BGJWvhaYrBmJx\nxshrQl1v8wnppO+uHMoicpGiba0Yen050NoVNDyuHdavWYab/xlKHef1rWYb\nvodt1wxthIsjKBZ9o9d+IPLFhGSexSHOvtDANmDVlrm5+3IO0YvG+OdDIfMZ\nV6aZ\r\n=4m1H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"55fb21a2166199c09c2ec1273c4d38c6c3eb8cb3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.fe1f3ca07.0_1579222773739_0.6767141864844417","host":"s3://npm-registry-packages"}},"5.0.0-canary.d405af26b.0":{"name":"@material/dom","version":"5.0.0-canary.d405af26b.0","license":"MIT","_id":"@material/dom@5.0.0-canary.d405af26b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2f0f79629b6602666b9fb9d7b9e932d188792445","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.d405af26b.0.tgz","fileCount":17,"integrity":"sha512-hB7rVU1HQ77DNavJ/39B2jxyQjgyH+8eGDKy+SIlzRhMvRtPxcQ4V81bth0Y3g+TENKJz51sSAPcP24Yw0G5SQ==","signatures":[{"sig":"MEYCIQDifyiFW0A0lOKIR4+3nFpbw4WACI+ZP9n7ncjaewQuUAIhALtYhsq7adonxlkZgPr3vlcacaueCHCEKc5RzL2c/CPa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIfn+CRA9TVsSAnZWagAACoQP/R5SynSgWYg9/O26Zo/y\nosTAuVkQCb25A0I5nrXejxgCkhvlfCjoxWrkFkma0eOycVSCVqwwITXnP0/x\nCt96Zr3tnmT6FN92dCCDL+xEcRzQxN1pn0QTUFcfBuUsJBysPrJVE7IePXVv\nDuLRe0w/WArLmDguH0aaOMAmpVWBeh/CRwjgKlYztm1omrXSEd7Knkajm5Bp\nLydQV5sb6JyaIyrV6eGX23OgBmCj18gI9hohQ0/bJ3oX+mRZ+klvaUeiuU65\neIE7bSJQ7oewk1ZghPGlljoemhdCZX+tjDW6dXzpo1fv1eCoelQl1ys6iWI9\nWvbqkKHO5yarnAmE6COW3IfYoQMssxAhdA2dk+R4nBYgYdr6uf1nrLc4lFLV\nW2fbK+bHLZvDUNdeeI7xzmjdSW+qAtyF5HnJMT2Zt7Cz//5L4nwr0lZgw3T/\nzrn05jGGa/IHDtem527QfMp/v1EOuX6iAD0XoIZqTkPkLrH1/IYrUUz2z5Jr\nbs2eFeQ6Jk9lVkFUWpGwAxm54/JvFMbhrSdUNnKEVV7ygwkhmmX6jUDDheG/\nGQwmNU9rtQVH00DfKAIuITYXKrO3fztALiRY1SxTvfOIWNc42igzUXOxoRxi\nmOyMELKiKopsDzC4rqpT61fBRhdL7JwuBXiYRzZ5Z7O5sDFuiQYvIVniyEn6\n1DAl\r\n=IsjX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"0520800061215f99c3d58fbcb661327da2b8c126","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.d405af26b.0_1579284990371_0.6353964716647387","host":"s3://npm-registry-packages"}},"5.0.0-canary.6e857aae2.0":{"name":"@material/dom","version":"5.0.0-canary.6e857aae2.0","license":"MIT","_id":"@material/dom@5.0.0-canary.6e857aae2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"826d3907f4643a1a5072a63ba9b0c969beb8c558","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.6e857aae2.0.tgz","fileCount":17,"integrity":"sha512-rYqDpJFrNrbmTQpTFe3UwV6o0I8kKvWX2cdaODvJ2i8bTR9F6Kog6NFN0HOfcKTOEvMPYhS4eTXnbo6m38S3FQ==","signatures":[{"sig":"MEUCIQD9sJ40C/kV54r3NVPj4nG+dlzgLTtg9daHnVC0zctd4gIgOoJiLv0LTNoDBUUn7cQPhzAJLTbPxB8sfgCfbIuzy4E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIfrcCRA9TVsSAnZWagAAAlwQAIEPbURQr48+A3b2qr67\nU/kA9+8PAsFFlEb402DAoGNek0Iq69u2AIMd1I3W5W+X7o4y/kOmbj1elCNE\nQt1Y+isa0nsrYwIPeKcCWnMo4nbJBX2q9JMajExBlxMk1T3GpWKVC2zhQeU2\nHt1+4NInQaWiBoxOjUzEESGXL98S7I+dU3fHNZY/x+tIDuEMepYg/cyERH0A\nvtMusBrVjreJrbgfhP6JaiJ216FWDVLkNqSKEux3zb6ZQS2sOoef1H1KM1WM\nuGvN8qVzr0DBPXtl7dW+jucDi78CiXfa684LxpGB6gkDGaLDXshijNfIQB9z\nLLTH3VMGhjkgY2WcW6Gcg+32tJ5sEnHowPZtchIzFqppl23L8kxNYAFLenmt\nTfRyZmvg76Tw+bsOZ0AJeii9q+V5dwbkDLmHLCTKoY+O564XCCN9bzGAwJam\nPrGlvrHZ9L/LzmTUcgZehP2zub6OZc2pAW07J50386qMaudUwr9UKWeXsVNM\nHSZiKnSXRTNx8gTaXNOV2AVYOW5ubQLt44imJws3o+SiBQksvFCQ6t1NBV7Q\nf8tH8yxOCS/LpUAhhsZtmuIo+obioPviAGpKMyuwDgBULhbJneT0ciAxCzzJ\nBdgjbce23KtVK+KZQH2TOZAKMXISgbwhtSDf5jVNpwFoJed+MlsrO9932UO/\n1OEz\r\n=UVIP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"2a53aa5d8048725819709e1279ce78762b8b6170","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.6e857aae2.0_1579285211866_0.3699133780696646","host":"s3://npm-registry-packages"}},"5.0.0-canary.e2e764f7c.0":{"name":"@material/dom","version":"5.0.0-canary.e2e764f7c.0","license":"MIT","_id":"@material/dom@5.0.0-canary.e2e764f7c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"832422a6b2223b1938d53556fc8ca66b8d32cec0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.e2e764f7c.0.tgz","fileCount":17,"integrity":"sha512-ynLd0V4mTHnwgVIBVhKIOsO7bKcJmn7naMbK7OgkppaA31R8oAt3QQMWGODZM6Wkvqbin6advEw99AezO2guiA==","signatures":[{"sig":"MEQCIEyTCP8DLEKDiv6JFJbg/hp7U9gkzhQ5xWy8vIZBcl4oAiB6/wyFCsIFqcO8xMUmmwUaCF5oxnKAVoOx/yMiXKQfNA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIf5rCRA9TVsSAnZWagAAU+YQAKUFdrbvjsA5LBRiNCzG\n1lOrjFNxid9F8R3p7FIsQUqomR2sbjiwhis0TRlMihEWNDtMnG3YCHLfDkmt\nQT0G8npWJyJJOYvLd7GJMOFofQPzkOO3j9sG5caEOqO5XjdoNn9BAsDy3fZG\nsKT4iV6bp1ODZdJFVUq6ZEGikPUWtDJ1YsFLO7ZBJOEEgBW5M5LKxKsOuh1B\nRiBPlxbjsbampNshG06545xMCrjXmQXnNrT1lLOQ+lNcFW3k++IX+kHytEwm\navQghy+IFAA1nM2OHtfLpH1hgWnhVcbw6R6u3AOMCxTCq7f2ojcHHv9Cd3TD\nzcXIBMfcPEkJudvxDa9/hVyeQhBDKT81OSIdZGOjNplrvmGNXXtNVt/VekvZ\nLVQcHXPvHBeVWISRXT3JDnF2iuWEYyWLZNmqcUJbSEgFpxK3kNB3WE9WYfVQ\nTbhYuxsWFwNJUIQ6GnvhEdMfn7IWgAsmDPiFK+NhrGanRfjhXTsJY7il0E3G\ni5oUpr/ahLyRkXR4j1io/glVx9fykTQIJ572J+KmSQyEfnQVRBgGr2uWUEBi\n1XS3IY6A6auwW0v7oWiziQuhPYYJdKmFvBuKNIl6z9Xn74R+zxJdbmplLgFM\nC3nH9svAwSdnfF2dmTkkyk28QY9p5lMN61BsNiJnmq3sKElwkBv1BehDt+MC\nFx8D\r\n=jWdL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"9dd6d44ba7288e1e0e80905a629b922c21b54e37","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.e2e764f7c.0_1579286123558_0.13063680704810365","host":"s3://npm-registry-packages"}},"5.0.0-canary.7ef986a87.0":{"name":"@material/dom","version":"5.0.0-canary.7ef986a87.0","license":"MIT","_id":"@material/dom@5.0.0-canary.7ef986a87.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"34cc3fe4b7fd7084c756732cde4540a7858caf90","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.7ef986a87.0.tgz","fileCount":17,"integrity":"sha512-6WKMr71D+ktgv9388xqtFx2XInfyQrcPYPQHKq/SJxMVA2+GS+SOgTDFa9j/98qi00Ul3QTxEJCvK7SXMKXnuA==","signatures":[{"sig":"MEUCIQCqB3pbMH8XamR72vIq7WzSXFgvLfAoV/yheBlf6fETsgIgQgQoL0/VvsYb2WrpCWkpGGcnLLijyLsqz36jJv/VxG4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIgtECRA9TVsSAnZWagAAEO8P/jTVhQ9MBEuscJk9/peA\nFv/w24jWmTCpiyH1kKzI1xNPJogoyd+6jDZlOlHl3reAQ1AkF5jyknOuFyws\niuCy4ea6A0Hw+4RRZLoeIrIcHggU6vcoMKCRzcxr/eYwn0oEB01GjmViEZPX\nmf249GOL6o4uIbMBTGp0bE14An/ecyMnXTSb6FUQzjh2VYQQ9v9fmJGkgrL8\nQFxu1FaibySW5xChf/ShYjVhbqtKgmbXR+AS6K1pOvpyUNu1gnA8HEf1ojf6\nSgx/mhFWGWr1ZUUmFP0VzA2rQp+7jC6iy5OpVkHoNY6rhgkROdARDEEi5zn9\n95MD7McAIDsaDTrfupyp8sLNiItw99FpqerWalTgBclIbypUgeugZwFyQZ+g\nZ8IvVfkHYk+ZWw9dnwJyvGmes4+jI87Dx70eNXtfW/qi5djtIv6tOoIUhQSr\nPF0reKdvVkRCY8Nmz/LJG3MpXrT7TXervmGrboP44xjrVIQrBvvlYr+TKgpW\n9PCEfnEji3NfGRnOrb2LfiANfOqx5V1cU41WdZwV3mPI4TSoNqloS4qop467\ng95N4QzmBhn2/cfSKQUiGWjR6bJgXMVPKP9nezmVsEnJ9GPTF4c9ufY1yVPr\nt3h1yqwWsFJGGl/Bw0F0hYgG8YKY3bmq1HbdVAohx+JrAWuxRbFFD3crESll\nIuIT\r\n=nIvq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"d18e160fa2a4eddeeddf0a07020cc2cecff9b573","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.7ef986a87.0_1579289411712_0.775202157256567","host":"s3://npm-registry-packages"}},"5.0.0-canary.29402e2d4.0":{"name":"@material/dom","version":"5.0.0-canary.29402e2d4.0","license":"MIT","_id":"@material/dom@5.0.0-canary.29402e2d4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8e0f55625ceb2ba67010d08d5f16087a62d811e3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.29402e2d4.0.tgz","fileCount":17,"integrity":"sha512-NJUgZtEsfwq92+SNpi9tto4sVMS5pH3clB3JqbdRAn7I92cTIrvfCxePpMTT8n+Yi0rXpqUCKd3lrJXWn85WQg==","signatures":[{"sig":"MEQCIDpOWqTcn7hYAe98tevHVH5cZyoiZiMdRyaRMn9XFvkrAiADTAoFKLbVPFo6da2vraRMPe3HjTdhqxI3HWcIkLlkWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIhtnCRA9TVsSAnZWagAA9h8P/iblFkqaHlHvK1+4IsLE\ndXt5YUZNfI+yaA4ANFk7cvEHWpUY3PRQuAMgZAbg2mLw0dqvg63t9q2wCoVn\npC5j+OJ5eIH5wwB8oP62cd6/cTx8uZ2tZh0t/PgTr/fkBU00lTZvsOL9NSQl\nwyrRnoJDXJlmeHVt1Mr74nZj1Gm5VZNN6XFRFHODFjxCL+VEe1pmZDepIgAA\nfvbmXHOPH8/9u7+4mBnBznu11Sb+z5E4lVwRB1fFeiX1XT417fjadTWnv6C+\nqcMVzlGWA1zGHL5JmTTbkO11xaDbllmju1EAgYhKmsdOb8StoMUrEJ0Qa8OQ\n3Du7QXrtr0//XukwmhjCo6ezwhHkUY1pXRiHrT2FW8/7luiSQ+d2MPmIXCFa\nbFOAPWkvfRzGzGTUTNE9Vr5aVssy83CM9S9P4g0ckILnrKi+rtgkRKUivjO7\nHUYy5LYMXSdFdstS+GcqgVTqlAGv/MAh3TABx3GleI3iEF2ufuWQmsK63n6K\nA8wkr0ORo19eoYeTSc2JE2XP7MCYZH96UEHEJgTWJl31ntkoNuk1Ane3weE7\nRE47CnhXuQyedLnw/Ivd7EfmHfI2e/ijnWRlgciiNrHXyf4M/fUZZq8UC1GB\nbdhmJ20Z3C0Bhnue/n7S5itVpnLoTOsE3++HulJObLNoaeL6hOc3RZC/GzbR\nuXeS\r\n=AFXQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"6c6caf45e8fd759ec1c6409699c53250c8c41f25","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.29402e2d4.0_1579293543024_0.3514887082156237","host":"s3://npm-registry-packages"}},"5.0.0-canary.2b3ec563c.0":{"name":"@material/dom","version":"5.0.0-canary.2b3ec563c.0","license":"MIT","_id":"@material/dom@5.0.0-canary.2b3ec563c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f9be0cd80b3a852d9d25de17b782d8b3991a5e94","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.2b3ec563c.0.tgz","fileCount":17,"integrity":"sha512-SAp5t4X1MxZAi6Xb3RKQjJhsPRO4eztwMg/qaAkvkDk0wgpH89augQoCgAe2xqFUTKjGjxxlqM7NysUSHqyVnw==","signatures":[{"sig":"MEQCIHL8nB2uCV1eBQPYWgpguA/v5G0cMniVgArpmXu88vmrAiAOjArt/WVx8cKWOdm2xNB6G6mlmYnZIPqakURyZ2QRuQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIj7/CRA9TVsSAnZWagAAWoYP/jrP+PJA7hH/YvUIbIxa\nmFFhAqt3k27tarm1/LmiQj3GtL68UtTEDGCISxoV0dHzJUr2ofuA9BvLhfRA\nzwJDJl9TbK+RxU6z9LTbw8NX8bPLsP0QK3iw+oQb/+PBB8qPxrJbzD5sYyz4\nqWiEDQR4cbLKtqBGDoZ/JndLRyRNERDuL+/x/dXPzFhTMl8Hu59ptbIt3el6\nY/btidXMk7dK5OBFGpJIxdcDcFqzqg+sWQzRIUyu6mj4Cj7aG9I5ZMdS0hux\n9zdC2+2CUm7w/XpS7Wo7u1FhpTHiR7k8oD/xa6cdeVoBzmkPDxekic+AIpo8\nf2rbOAklBzPQJlxbf6s2SJeVCcnblcyZ8vu9oCLYkzMRitybSW/jk3B057Nu\njTTK57Aja3D+e3ZRZegMAcrVjc9QY6w2ubgdbzD+HxjNRa4i0svKX8YWAtrV\nHsZzSdGJaYK/HM+c4+5aIfXNYSLg3cLfKzBo6/TK5oSVISeV1tlcZrF0cwzv\nTRiBxSJRz76E3ufOqJf94tlmtrxbwLsQTu7RxxKicJCZDxQsDfdfk6Wk9gne\nKSA7qompqbnwS1baQKaJRWkbcYoZuH8JlwLrGUI88jYk7TRnOpUmk42cOFnS\nCxYBd1WmxUxgy0/s9W8jt0OmbQE6Y/bxGROgqSXUcMX6CC6FCq9+MafIqdXQ\nzzYk\r\n=9ouu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"e0de6399e32c2553a23c71775c8e5b54fc527e5f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.2b3ec563c.0_1579302654728_0.10154927834309002","host":"s3://npm-registry-packages"}},"5.0.0-canary.e8a993677.0":{"name":"@material/dom","version":"5.0.0-canary.e8a993677.0","license":"MIT","_id":"@material/dom@5.0.0-canary.e8a993677.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"16c3bd5afcb19a8cd777f6d2d84875781e6eacef","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.e8a993677.0.tgz","fileCount":17,"integrity":"sha512-OpBQL1QG2lkk4gICUa0mYtUOnrD5DCb15Uf94w4tOdDjp4/80ODDyIUVvdS4Dh/1y69mRcp2U0EPHkUklo2SRw==","signatures":[{"sig":"MEQCIGTrYJFqQhHCMP9Tw1PeQkWL1Z1Y4tUrJQ8mp1IIpp/1AiBNTVYHZQ7MEX3ERhIGPyMrd9SxJ35LFEQvTCckZE1MiA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJyt/CRA9TVsSAnZWagAA1QwP/37ktMPQNwvVU3AINis5\n4ZNy/7cW1wUDv4d8+OuuPNFJBzqBnCavkf5fQw0r2mlbJYuBQnglgB7lDSk7\nYfJZd/gAWjKsdWTtuZi/4TtOyfcNt7yIFtTOvEL62GVwssHbWugqesSKSTon\n6Wj465xALE+84Kxdtq7ZVeisd+4YRXCrvCVWryWVtGmYYMThABBX51GC45WY\nq9zyGI3y72fZL77QIw55d4rTrwtLCG+gaXwgQRkzC6LEP+DbDkKJody3l/tZ\nogb75SVSiZVYkLQz1YTqK3omoy69yXMIM6eIbX8MYUYXOkejmwZyZQk7uxey\nENTAfeOz9EziXSjDNS4BcFWxs8toRj4J8wVMpF21HAjQE0vbiJJgUA6EG7C4\nOwUvK057ou7VsCW+HcXYS9bof7k7XG0asNnNGoDe0oE6ICaLKU+2bb1HWk8N\nEseo9/lBVe7lAyn0czs2prT1WvwlbcPbGMo29zIHmiyOgovZdgpP6YZxqaTc\neuzoYUaep5BXKNWMFeFtNyZq/VMsdx7ZU65U1KrN8+X/vF3ara2wxL0C0pj0\nadVDLnr/bdjYcvXQyVqpaR3iPB3hAPBUDAwwiatMuv2rosBZ5Aiyy4C4mrSe\n1Q54Th8JdS6KjPgomoTXGFd97YtzMXtBQ2t23hmV0ZXdc5kOubK3TUn0oT3V\n8gik\r\n=MMBy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"653e52310f90e65950905e8fd8fca6f99e87ba63","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.e8a993677.0_1579625342864_0.47816446772038135","host":"s3://npm-registry-packages"}},"5.0.0-canary.cd4903304.0":{"name":"@material/dom","version":"5.0.0-canary.cd4903304.0","license":"MIT","_id":"@material/dom@5.0.0-canary.cd4903304.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"514b89d032252dd4777da01d11db850cafde6bbb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.cd4903304.0.tgz","fileCount":17,"integrity":"sha512-dxp2/7x4NZ7wwOivtWUthiYYhgOgoPiUA8Rkvzpjy2VWNNYdwqpSoXYuXgTkNXUuYeiEfPbuMk5iJdxiDOQKvg==","signatures":[{"sig":"MEYCIQCi/420yVAEk/9uBR9vcLMMaCg71RWItYUmYH1B9qbg7wIhAKRIkRd984Uy/wQTlM/RA3rgWxWj4UdD4fi7c5QqDI/b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJ27xCRA9TVsSAnZWagAABlQP+wQbwneUvzRNkhpiLYp8\nwEX0ZPGeaZ52nRt/SueFdO4H/AHG/sTbwWZjfSGGTrrdv6N3u+6bZ6T3s8mj\nTt/V9uw00gs3LnKxaafqdEQDjgIo4NEw7kchNdfgdIily6woOaq8xWNl5FZN\n2cl8rjQUkmXJePhWTBgEHs23DWC1wriSNJUsJ6J41EAVQ4pckycyv1+citdS\nUyon/+pph0z6RGDFccegXYtOcN0eun5HNk/CEbUKVgpTbOYl28OgWhYFzC1E\n+IxkDaSTvJBChqTL4OyrL8tdXbme3brUm5Nj6ZjE5Xk6VvIrv3xxQ+0w784K\nQsVMxhct3yJISiN8Q1pJAuQVxrAnIobKwvxZP7SqLEZEode1hm+9zdc3gLo2\nlNDbYO4D7yV5wIh71liJuYQtBx303Eij32D0OUKhNaCIqT7oUHmOQ15coQ1+\noysAki++072lumhsXkNhta/UqzYBMrMod1l1MKpvdtXbOETb9fdSuy6wA6CU\nG/aFMf9VNTdOoFXDKNShJQ08vYc+XsSDnCdX4xWskf9okPo1Uhm7kN+yu3nw\ncjPceahBfiMqdHIxABzKz7B/xR64qXhiRTAEe8V9fUrswwsjuzwVgym/8whc\nuLwt/xpt4q0p/0IN63wTb3CczbG94HOHOOuVZSxSC9Y33otZLBubTRojWYZW\nFfbg\r\n=z+NC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"0a1f35ca90587cb380a06e8b6eb8650279b9953f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.cd4903304.0_1579642609072_0.37618009566044597","host":"s3://npm-registry-packages"}},"5.0.0-canary.7e4b04b25.0":{"name":"@material/dom","version":"5.0.0-canary.7e4b04b25.0","license":"MIT","_id":"@material/dom@5.0.0-canary.7e4b04b25.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5afd680f72cd2368ee3255115a681fa81d6cf8f2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.7e4b04b25.0.tgz","fileCount":17,"integrity":"sha512-HTzoizwfZ1N4yzvfK1E/gXIxoFFuAVBPumY39pZet5RwTBvRvpzEfMsTYVdMSFXWChP/jDYEv+RggXjcioMOLg==","signatures":[{"sig":"MEUCIGDcwp8FNr5bn1GrWAtoJQjvo3IMhHdb70VVVcR6xqycAiEAroEgQYLx5IPrpk65HCX99/DN/l1vUMZn5ocZby7I2DM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJ373CRA9TVsSAnZWagAAuAYP/RuNgn56AyC/fxSK18kj\nfkB8/4S+9WXVMHjU3KCersIrm0noEf5D/LTAKbdoLcEUqkzTSnGSrriz2Lnl\n7gZlXBc5Qofrj8/+2NhQZe1tAgLsy7aOuUgiZf5TSV1jeaRQUV5WABA+pJKe\nO1DwTP6N5x74qLNza1G7MsNikbPUAJ8rpm3STs23UqzMIN2xgPHdhpoJJ3+2\nOxP1IjG+0nOF15dzABRplNYKV1/E1hqCMIhbEhGqTFFPef9kMSP58P0jUcOX\nB7bjG2JMF8UFOx+T8BlHoPgoD7oUlDzIiKGaLGSsQATHBh4Hn50t8N/pmOwt\noc0EMBiRnu74Bwqmi29Rf+JPTDrmeIxP3Z7NEiAyFWCdgMRNGR6gg0MzD555\nt8uX5M9olgFK2Ie5BBFqyVgGo59Jv9UCRNzxx0yBSk+Vnl+2iby6eIpjF13f\nkElB0nOpyY6Yp4WeKGdXrwSAkpM8O49WR6pkGh6FJrOBhvYrsWCiGY0xOKjh\n89uj+jG2xt+wFIFCkEaVWReD62p0+bYp1l0OD8b8Q6+LONC8sbPylLWmdjl5\n60Lk5qZIDPe8E1jWVBSMNWtX2gzJo56wbLAn1S4LD7K5kvFWcOortjs4tL79\n8L/Wp7hg/DKmc106YYugM0FDCezBgLFlhh3ZkX7XudkysXPXG0tdgXBBcK8y\nB1r0\r\n=s5it\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"5ce556593315b470008c9bb156d98d7624231a5b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.7e4b04b25.0_1579646711180_0.2293027455466219","host":"s3://npm-registry-packages"}},"5.0.0-canary.ebc296937.0":{"name":"@material/dom","version":"5.0.0-canary.ebc296937.0","license":"MIT","_id":"@material/dom@5.0.0-canary.ebc296937.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b5e76fff107aa11413271fc70fa5d58873355fe6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.ebc296937.0.tgz","fileCount":17,"integrity":"sha512-hn4L6I5i8xE0i3KF0Imo1rHxzAoJrYlXt1vwx9GIFAgqTxuY7x2KHysTllWyqdxCzFFPGB5QMqbLrJxZw5YfUg==","signatures":[{"sig":"MEUCIQCt5/yj8IUWCV+VZLuznEbHxewNkrHTDTjYT/Rbbsc/YwIgE9GnHrzFfX9a7jmsXIURBy1awCrL6KtnusUht44WIbw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJ4zPCRA9TVsSAnZWagAAoB0P/RWsAKhn2j4ensbYoitO\nIUd1M4VVrfxJRLRlgK7mUyWDQ7AsMhXKiO6mAxreQmc94NDlh0b6RdALNXjV\nxI0yQzdCmZ2nElL4DvspOwyY2sI590cy+Q78Tt3roAOKEWA6abJg0v6I38gl\nvFT71Fi/zI3kVE+4G2EnoNSSWPhCkEJw2/xClIJGczhvZefjVnF4UiQ+vmz8\n7RPdt71rjr0tISQWMhdtGWNaPRtvpzGV0yGddkNppkdvSRj+8mDi+wJXTyRv\nYPXAB2OwgsHc+9sPiVulXhes9gVPeR6kfQtpW+F5Hh6plWGHRjuSJKDkkKd4\nhvsXdHMWu4INhZrHFeHM8QhLed4AgCox2mucBGuyJqyKSYnzToQVGu4v93cz\njbGGoSC7v9JhirNiB6RpFghJjc1RT+cHR5RJqI3JqOUvWUz6LCZt1afkyC+0\n+4WGdPVMWduET+SE/1cNC8/1X9aSJ0ev3knHz3K1dHjP+O22r6md+0kX/6Ws\n3NLZ0Z7rVdx2v9Dbe9+SvSC2oU+WoPpDmTCF2tstplJroxigjIuueX1UhCwT\nus7M0TehMy+1awnRh3IAKGFuTEXm7ixcnePqar6nA+TsdhV7iV6T30U1gs10\n4pMKTd6nVi7aXrwbC5CwLgRJEVGwH1xTolfj27LWGHM2e7IULSij/2gv2P0C\nVPSM\r\n=mChJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"56393bf41fd3e60f82b11c9571455b6e0b0f2025","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.ebc296937.0_1579650254638_0.2769060952286613","host":"s3://npm-registry-packages"}},"5.0.0-canary.cf33f113d.0":{"name":"@material/dom","version":"5.0.0-canary.cf33f113d.0","license":"MIT","_id":"@material/dom@5.0.0-canary.cf33f113d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f73f542efa7f526ff4b0eef568b9430156e917fe","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.cf33f113d.0.tgz","fileCount":17,"integrity":"sha512-H3lf5vzg5QK59cqR/t+tP/2otd2e0KxrYHMS22vyQHzwS3wlehjP4k8VA45B07CHHPRnM5b4IyV+FexYM1HVKw==","signatures":[{"sig":"MEYCIQDZdMyq8BVWNeNq2yR/UNWkiwwZYI4nHzhhHTpgXM3XRwIhANeVZkTVY9E4NZlJwsuNOiFFPPCBFmKTAYK3j0nOX9xm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJ6OhCRA9TVsSAnZWagAAhl0P/R04at7U8GDuNfH7MUnr\nae56z8/Q0EbKIttB9OAEJjXuZldLLNboN3Fxn+6tte9mcReIPRlDFd2JtipD\nLzOanDXsYE7/6BMnYFyRupXnoQDZjDtoci6uU4F5IB61L/ZNgGdPpXA7BxVG\nFEvG5TGPqetZGjm+1De6weOX34/sPEVR9M68sksbnV11f8271R8BWppvjJyb\nlLX319DgoJAmnEM7B2OkFVgQ+qg/oTfjYGEvTBkGzuw+V3r64mPVrVwKuWyF\nagGmOeTZq3IhuZUNNseu4DtiyLIPdl30jrvbmJ4UoFgQru2v5ZAm+7l1DZV4\n4bEA/mF+W/yGFfZi8y5Jpe4nVlC90Banv9RfHNPwH1asDgEiHlyG+njTS55X\nl+dSA2Nn/cdTyvo3nRIoZLROBow/13BURRNHXXRoorxpONzH6yZ+2YSmGl0i\nhuWfnZERlnKyHbovkoSExV77xBnTBAz3sSYtOX7DWnXhtdGLXtC8iYowG9VK\n6a0ue3bHykhBjcA3+jc4K9CG/Xl2Po2SAedU+VyKcGJ3+7St0HKO2BnAM2cV\n2NAJTou3K3RqTZf4I9WZCH5ZmK6LyVxXL6mHba8qXsvGrLH8/3deVAsMo9cP\nfyMLTTKVHSkND2Tz1khMx3C/PB+EjeVoNCentjD3J+P4v5SrP0CURSWEkIGV\nRR9n\r\n=fdXB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"337736b1343fc4e03714756c4fc2ccfdfe1e5537","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.cf33f113d.0_1579656096778_0.2724639940795204","host":"s3://npm-registry-packages"}},"5.0.0-canary.e1d5f1be5.0":{"name":"@material/dom","version":"5.0.0-canary.e1d5f1be5.0","license":"MIT","_id":"@material/dom@5.0.0-canary.e1d5f1be5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5d971421065436fc0d52388e5a23b26c3b34e833","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.e1d5f1be5.0.tgz","fileCount":17,"integrity":"sha512-pcJW4xzvRa7/PB55gU1eLUOWZSWWyP9WLsQqctuI6RdtNIyMo9k7769/v+W6feeCO3GF/VQta0MJQLzKU+eL+w==","signatures":[{"sig":"MEUCIASwF0W1EbbsOL8yq4MZxtIWuOQjw8wt4gQDfZylUYUKAiEAvMvxZQPynZ7XFYq1a43dkHqW41cFPCbsD/tU8TF+ou8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKH5GCRA9TVsSAnZWagAAlwMP/jNVUKkVRFcH+4Op5A4M\nmw4kqfSN51Poiwm/O+oA13E6R75BnrA6555e9Jxy6CcyrrQcSE8SotOLDRUb\nGwTNmnHQCF1G2Fh+NTxz+O+R/jGcCo/fk0IZUpSeXhz6W0wM4NmpzCbP4sz+\n/j+SUm3qyjc6iSsok9sQhFFqt3BWcm7ydDpr6qb8gUOdkFY/L0MCMZrDdryY\nHnMlqIfvYvGdBux4Rsg2cVLqjjvzROnmpADEHtR17CKYVLlXPKzh9Y2FwHYH\no8Vn+OR7zPQWM0fHSbWAvZOEiZ3vAPUWGv2p+mIxFtcEiIlJ5d7z0ZGVaoCb\nBUMZ8kdEY2KavNTboXQlCSx+CTFMLA3cdGkcw8hv9PoFz7fKSSEv3KPuIxoh\nq41SEupUp4nOqT0K2jPMBd8Mwr7+m5D7KYiV7fXxq9EqOWvXnJlkxqTHSvBQ\nI/VI2mv1jxTEzWlJVGJrRaEDxkgI2nTUKlL+jR6SgcfueEd4lA2wxyq5VojG\nzsFaua2WdBhSvroQQ4f8dYp3Jz8VLq4UKkfYub7SGmlLCcXDnzkFx8epMBpX\n1r33tY/HmL7qN6rPHbDW7UcD6NPqlXCKDyi5E+OPqs6EP4UAPAnG3HxBZghn\n1OJ8a218Cd0UXULxiM1X2ckUoottOmWtjWsRanGCf4ZbgIwU/hP4oVMlgc0p\nvnKS\r\n=nW6l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"4726896d58f0dfdf4ec6ed819abc20912d43f2de","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.e1d5f1be5.0_1579712070335_0.1323451581687174","host":"s3://npm-registry-packages"}},"5.0.0-canary.6b6a4ff92.0":{"name":"@material/dom","version":"5.0.0-canary.6b6a4ff92.0","license":"MIT","_id":"@material/dom@5.0.0-canary.6b6a4ff92.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"35186e7592e6e4a1acd0b5436a052aae5c7f02ba","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.6b6a4ff92.0.tgz","fileCount":17,"integrity":"sha512-70xdtocTb4mIv81amPl5Uxi9pfTE5Rno58+n9ldiYqqM7EaBXSxlNz/5Ve6iTbwetNYwzRUxnax1Gg3Vuok3oA==","signatures":[{"sig":"MEQCICB7sPR/tqYtop+zq+ZTEyTLhl2UOntSBtn7tPDv54fZAiByqFLvczivB1ry7ZQKsBhla+Lm2b5/7c2F1nhV0bbr7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKIznCRA9TVsSAnZWagAA474P/2AapeQore0DuNcxybO1\nihPtEP1NoSpMZq//VzlhpAuT4ovz9o0I8w05AgOEHgUGivvInxkMCVWVr6Zk\nL3ghLImvoYO+dBUxDr55h4IV5+z1WEzxSvca4FpahXiZQDVCNZ0k3YS/kIPH\nsXAAP7zHLqTx73g998DdB31jEv1E8+eamKpcZ/val7m98fDa0/UsJHIqwrqt\ns2crdU2viHJ+9r61za3YYKwDOF9+ODHHE9b6C9GTJyRJfh72V7CxgKOi4yKa\nuKGkfVY9vFPgV34CJcyq8lxWcUvJs6gJ6jcFS+uBcDJ/7DmNSjaVmcWjL8TQ\nRnMnM4SAChIqk2NXWg6PeCzMYq7x+VbBtKAIX6n3mXgA8XSrobwEIDloBK1d\ntJnWviEzSEsSaeHWmRMmvyhg9h34UoxDF/7ujb8IF38gZhkLg0Idp7AQ5rB0\nBauMaqvxiHSAlg/PBPMzlQazwrhmsYcK8cBesRRpINk1XaBAzRz5KCgKmyLQ\nIu96M2YlHneUO3z4B4bGGQ7oxziBpPAozIW3qB/zE+IhGQXqr4/42q3iUJ0x\nTx0y+wRraMkD7FKw3z5C/4d+C46Ahc3i1FWAr62rIKuNk+vtWgOVrfZ9pmRo\nvwEXCiQqq7IvgPWvkCAEIlwhioYzlYSa6KYPx4f9Rn4ZkeKWcdCah/EXuig2\n6IDJ\r\n=15m9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"a4307ced3400e7b61e83495c8903f219bba0ae44","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.6b6a4ff92.0_1579715815018_0.27308553931519675","host":"s3://npm-registry-packages"}},"5.0.0-canary.6092f71ee.0":{"name":"@material/dom","version":"5.0.0-canary.6092f71ee.0","license":"MIT","_id":"@material/dom@5.0.0-canary.6092f71ee.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a03fa7fa3b7bbf6f31c2d20d19799510ff199714","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.6092f71ee.0.tgz","fileCount":17,"integrity":"sha512-DuYDYkk8WI5BMNcqgKBAtWPRkflK9XJf+1/LVXCRoQxS11tocsMnX4DGvoBMy5e4qeT1qB/SUyKerNgjYcftOw==","signatures":[{"sig":"MEUCIQDGBdXy1sB39p4I1GCXBS5au2S0zbQtdGkwNuO4bl5CrgIgZ+M/fjkd3texGlisAmRsqVCD1HHFpjXv+GyaUvVXBDw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKLukCRA9TVsSAnZWagAA9BYP/jwrYZGUDKuzkVmbDWjj\nZF9MyHMHMbWlDecYlrOgJRwlmIPpMoVAgrirWH0RPCYpBWNSxeAt8Vl7kJnR\n3b5PpbAii/sT55S7tzsJAh+I9rEzBrF5OcyZFx49DsHvRekNyN6uuk8g4pal\nFzTPfppt3eENLigLvCBVuIxcGU3D2IOWN9HQRxs6ZB/WEHx0DODBdL1nq58H\nYz8uucF/VDy+yhiifLpnOVwODAlEUdj6ntwzdsWfZGPnOdiePyJEre1yzbgu\nqjUnd9/wGic2Tiy3cvD9/AsnAEYO848nMxli1xnzhHmG1VtA+Sb4+kLF9KpZ\n7fgsouzbzyersvsG3aEJU2dUFSv5wrAaQFESZuxZ81X98jUgtRkO4AF9bvhf\nmTFmrHKaAgDuI4oNQsCEbpIhIL6/3WSE//jEM1jyPTfOuLhfgz1HrzTDqT3e\nvtrvS+iVBxa9JqF9Q9TisJt+ZneQjAjEiWNBtzWAxUNvBne8nMlK3sDIy4xV\nUphoTiP+mjPRRR/z+DYobxI+gb0tMMnqtlSO4088gaTqEurRHpRHAhj/Nmrq\nusm0GT5x88ciIDfN0mvw6EW6T9lK8gHBBVYMFpr5Vc/4bcJN3meDDTT5hB8X\nJSV3QErGvwgMTGlxKfKiT//dT6lXfv1abjxBNwSOkpjs0JCMxTp6dH5dF1UU\nOm+K\r\n=/168\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"da5d9e639c767fd3f9ad77c867d990afc21cd359","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.6092f71ee.0_1579727779731_0.2996712069975631","host":"s3://npm-registry-packages"}},"5.0.0-canary.d8d95020f.0":{"name":"@material/dom","version":"5.0.0-canary.d8d95020f.0","license":"MIT","_id":"@material/dom@5.0.0-canary.d8d95020f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3ac1a55f8f0e5423c744de6b45160a38b6ccbbee","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.d8d95020f.0.tgz","fileCount":17,"integrity":"sha512-4Rt5KfJ9UnjSeolfU5JgM0aGP8ptMmFJOqtCgi4CTRWSBLTtXH3DclcBHyKzcgHbIbNs0WiNHTFCS84R+ZmilQ==","signatures":[{"sig":"MEYCIQDBVuKqYeE+MRMtQab8iSe66Je2eYCpYEKf1/raMAfbJgIhAIMTZ3wkdUepWlU0/Rtgiuxj3WVUgAEXzpxYxlKEfjPL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKNYICRA9TVsSAnZWagAAIUIQAIwDcfZ9FLpNh/WFCOiL\nCRUl6vtnAEB68RJhLt3pSrMpXlkBsW4qGmndF338QTsOE2CvcxiiU+ewQxaw\nCQ0L5IL9J6F9unAtDIevZdYM8vCcfjdjfU48JlYfLN4L5/A75YSxvqWJEcrV\nalToY7Ky6HI70xhfBc2p3pi52W0/l6U7gTH1Wo+p51Ifv2+qVECLK8A/Qigk\ndNbmsXEa2DIwbgh6SxJe5dVbsL1LsZVlksEDTEP2G22mjph7KSibttRqYGni\nlwq0vrovr8dDkqaiKDcC2Gbp+RC330Bs7NAv288QAXCV4Rh5hhO5gfpisfhw\nwy/mur/E/jv1EO9eAow4bSf1IMHalUoNGEmNujDNqH2Wd5Fx4DDw82heR2um\nz9Ir3TdACvXpTDPom0sgBsVvr+oGbcv1O7TmLC1jGJlRJ9IK15GyYRKNHT72\nfiQLpOnZQQ6R4SSM7vdg06GbWoY4D4YvhdsRU3t/yLzM4kPUU9rTASLoMoSe\nm16Awxp94nuwL8qGXE/lf/ZpGShhqLuGXppkxJ1Gw/tfTV0JDbNRBlJblzsn\nNRZGGWva/PSAjrAo2XhbN5yAYEVVb2D6CPvSrfZV0cqyMWSDfc+v2LtkW8BE\nPke9eVyloZvBGSTbXTmvZGTZsxhJ0FFtCmQUyAxsR2Z8j3/ehv7GkpAXEQZo\nvarg\r\n=Hv3E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"6360c5189134a77fd45542c27776ac2f86b16a49","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.d8d95020f.0_1579734535818_0.03561429532920046","host":"s3://npm-registry-packages"}},"5.0.0-canary.b7facc628.0":{"name":"@material/dom","version":"5.0.0-canary.b7facc628.0","license":"MIT","_id":"@material/dom@5.0.0-canary.b7facc628.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c5de96676924c8f650d6f4a47978a83db086f5c9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.b7facc628.0.tgz","fileCount":17,"integrity":"sha512-y9MdK4M/hSbTSt3XkrOV592WG++5B9IB148lmJq2rN5FKp2gLCOp3XQOvq1j754HDE3mXKkAOrEvfNbh9/2sEw==","signatures":[{"sig":"MEQCIGcgUcqKHzkiDFGtiYizXe9LNikMx29j1QnkONIPEoJqAiA92fpttfbMHPGPlPjSnoNr1jh/FcB3KfURH0NeAfU0Ww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKeHpCRA9TVsSAnZWagAAGNoP/ie4X1wyrIgGQXWJVsms\n3XkT5Fgwf7JnhALkfyuOnnFOWUEUh0QdIbpd8+0oslVXsUkV1KlOzAfiVLih\njOa4E9m/T+ZGnVSo/5K1Qe5ibX/+OzjTSK4UewIufWUQnmxG+Dg5V06eEVoG\nlWM10U5h9fa4rC8ef2zaJWuHhnYr6cEUB3J4OmYrmqHnFjSdgFUOhBFwQiWm\n1ZwoE8AYDd7TG6MD6uqnFcB0uGmALHKRC/8ojc9oWW8xMGGB/0RrIw94HQnD\nc8yuZfcTsV6sGbauKIaZaHWzND/AMGoEr+O5Kj89fbgeJiiHHIepPnbs3qh0\nqXLEW4d4EwgqBXfZLHmMjQLOFFGp9H3bwYNCZIxn6cHEf8zoYFArZPId/l30\nhj4D0BuVcHXP7L4i8iLT9Hr6Quhbcnyh6dUZ3kyKWOB5EhERC5MkLXxE/8WK\n4jLt9yWkKCOmu4Ifnd7fXFUaKCjJvR0ugPfAyVZ/71Zg/vgY2hzLzyqj6DIE\nqeQJJY7pYzl5LqYmggXGgN1eeqooqpxzaYqtsxlSkpUvgWqxZrQ+l0lNNbKg\nbnqz0oJltsud411HwStFXHKs8vQh7+ltLh2/dpwnhmVYMPO7oYqgaWPE8h73\n/4NlfSxqJq0GujA75HpQak20f+kJgGCP+USAcaFN/yuyNVAfcKOFCtO8fYkk\nh4pD\r\n=2QzU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n### Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n","gitHead":"265b39c05dba4587f44e16eb788b56c1cb0153a4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.b7facc628.0_1579803112502_0.4940078920632316","host":"s3://npm-registry-packages"}},"5.0.0-canary.63f357dbf.0":{"name":"@material/dom","version":"5.0.0-canary.63f357dbf.0","license":"MIT","_id":"@material/dom@5.0.0-canary.63f357dbf.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4c04b06ef55a8263d57e7a45f0be5534d2618817","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.63f357dbf.0.tgz","fileCount":20,"integrity":"sha512-Eg0Km20gocwGWO1iXk39p+n2FTN+aLDKQKdXQw3+5PjJZwlLUTN+ItiCo2R7Xjm+PusSB9LeRXNTUcO35r1jGA==","signatures":[{"sig":"MEQCICxxFalgmgaz9VAC4uMGSe5syoF7A0b5kRSvyElKorUnAiAWhYBTd0GzbfAiwDshpj2CUugpEPV3TMrT3k0GUXoWVQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKhYjCRA9TVsSAnZWagAA334P/iBbNTn1u8+pkrVv+DbX\nAqTqm/F2xk4EiB18RlF94QCdgjoKiqfUriW/r6IL0Aq5+GHR1SCAa/UDJEyx\nHqUA59yrlM9XoMGwodirsCsb6K8bjj517KSiyX3pFATnMFwNsx5mhwiVYD0f\n+wGbUkof4JEbUTPyALiiB/PjnlYDM13s0qePcqO+65okSmPUmT/+BSum2HlL\nJlQQpOLlooL1t9KDZeazkk1jY+LR5miWIqAbaLyiixaPvykhOvL2Zowd3y62\n3vecata9p6AqYTZutxQ1I8EfTDMNlIGVN369m/H3j+BGa5hmOtFBmyeMtNOW\nr4kqVxXn2ECZa8Ehi2QnCpCUQ130WcfHbf2MDcx7ymB1HSHYyrJvOURAVC6l\nuYFwJI088gyKMGNAFwCDSuyOWY0AtEF/AHRyZBVikoNSXhzUndFDLYS6oKPP\nwsr6PI9F4lE0N8HAYAcH5/zOPdx60G8Wy/k2mS6vlDLxrMT6nYOP9dmMa6Uw\nrcPJiNHYRfbJ/OD+kzjIqsEjS8TpIa3+IgPO9bpxP7dZC41KuNw0/o8t+TGc\nb7aN3s0nEWG9ZOic1OlBdDr0bsEWMoFMMkWTUYEWfVkT01j12u/O1HwYCHOW\nqm6WC++rSAwPy6VurjmWMJnK9FTJ/G+cYSABCU65hXKmD9CP99WbhysgPbuy\naQZE\r\n=32Vv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n","gitHead":"eeb2b38a1cd8ef32c66d35119a666a4b01da6d7d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.63f357dbf.0_1579816482182_0.3537319479166403","host":"s3://npm-registry-packages"}},"5.0.0-canary.f2426d26e.0":{"name":"@material/dom","version":"5.0.0-canary.f2426d26e.0","license":"MIT","_id":"@material/dom@5.0.0-canary.f2426d26e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1fdf4a5c7b48525c6d6401e72a1f46c6f82802b6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.f2426d26e.0.tgz","fileCount":20,"integrity":"sha512-iF8FQrJedMLlvgLuYvfqvi971tW1L3/mNgpqYY4C8W9RJItreHQvJPmvarnDqLTklY8unDCfj7YYP+0kZk7GDA==","signatures":[{"sig":"MEQCIGn6qr8Y0jcHrCkyVNx7y154VuGht2qrmhkxfXshuM8ZAiBouYiCyQk96qOx8k6ZOfwQik3M9TvFIGVpvZqCyvDPqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKjJECRA9TVsSAnZWagAAsREP/RWrRTvHIws7nsWtfhyS\nwQCDtfVhxaKsHTJQZ0RFL1pErGcB4zpGoOIKnMepce+uslKvPJdM4Gl9YqNI\nGTyWbmDlcyUhKwwjnKdXG7LdW26aoJxfbCGbyfp6wMbD1Re/Eyz4/lfEcio8\ni7SDxBiaUU8LY3mQErZGw0VfmsBD+lfgbyqvsXUXHdNwbGacEp2AV1b+P2P3\n2CiNShIw/f0FJuu6VGx0Foh1LMi/44gCZizwSXNmBGNyf4qvRc9DEQN4xaem\nxZfRCPWL7iDg8oQcM8fHnYU0urWxtHs1oF2GY47cdXICQ1QZ8EHfYrncbdQk\nxoztxnQ+GdzxTsVGBf5drD9mhD+UAeHAX+v2MzUgXNmg5lAVuCrFyc5gOlbw\n83i12eJL5KaZONBCnTAk9J8Q3jjP4BqrVt8s8MTyxXp2dti6EoCW1vppKfoh\npzPVb7Vr89VsH8TnRKttlZSEeRNLByP095QT7OCyoOOEjOS2jlWo2z27mlZg\ndGTaOjYojmOsWAxsXW33KwDJh3e3BXkw7K6i6jjiDmEAGpCUFZk5Dw5nBp4t\nGh/MFBMCo8r/DuGpwkU+xiivgevM7AqiwrcfOlYC/R5NJPoi0YXNoIFUbKps\ncf5zb1uB24Zqul6vjvSRVfF7ToIREmjuS5ilIOphDACuaBmOkE0J1+o99ekv\n0gtr\r\n=i7ur\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n","gitHead":"f25cc47237fd4889c25ddd16c4d80cff95fe3c91","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.f2426d26e.0_1579823683717_0.9888100868296228","host":"s3://npm-registry-packages"}},"5.0.0-canary.7f5e0c23f.0":{"name":"@material/dom","version":"5.0.0-canary.7f5e0c23f.0","license":"MIT","_id":"@material/dom@5.0.0-canary.7f5e0c23f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"93736082d3f15f9c09b4babab78517a7d589b4a6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.7f5e0c23f.0.tgz","fileCount":20,"integrity":"sha512-7iMQtn8hrvIA7QzgKjOXco35CP1IjJ9pyJhxjjIgf48lyxrBWpLSGZNL3hfRtaZpyR1Bi6GP1wpZnBTnyz3WbA==","signatures":[{"sig":"MEQCIAlKLCtN+8I1T4i1FVVrEsCp6CWNacTgTYFpUdNBqFKsAiAyilklHRwYtfSa6a+zhico/GVOQOdk/ULrz/WcezmHIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKx+DCRA9TVsSAnZWagAAc9UP/RQqA31oWfOZmT/8NZmv\n7ZZwnEr0WadUrydUxfgMYq+WKbmiZYVOV6Ik/fnmZZekApEroJ4omH4yJmDB\n2gspMp588lMlIPaWMx8PY45toha8O3liQEjOHZGX2HWWuIqtW/POyBl50FI6\nQQ4gj820IUlowGWW4/M8v/Y2QIWeMpmTdwAHljdQB41HDIxHkENGYLkrGZss\nTN3Tqe788YdnxaIdhsMCduW77Dc5XUFPwnzUEnuNRt5zHOToBjprtCBw8YG8\nmTzucRZuSLh3BYbgNt3/6Ec7M7zyp2YbTvuM1jSjCj4edQ4yOIJhC1WJCt9N\nQ7a3xmfxtZUj4Oas6m9IPqCL7gl/cpBc9HP1FMwa5VzsBO/GcJ1I8moyLiQG\nos+4XexvhOFDZI9p/hN+YCuZ/p2dLQ2Pa6XFfh+FuspXc+MxIxMDCVAFuhfH\ndBBWojWkkr0+5QpJvuIZBOb9X9JJpsmmzSeF8RHMOPNcc48jXOHeOFevD5yc\nJvYV9dj7Bv/uOc6LboCBBgUp+33NJoQytKNBxY+S5uGsnlBw7PJajNCyoV56\nKrv6piA/xzzkqjgCjIA2z6E+eX2fqrdnkbN/IN9Q7Bo606mucUEx6lmPh3Qf\nRCQWoYrtbawGGU8rQkEBc/sazWakJoW9FiuuPKQ60J63bcUOqu4SfPLTRN5o\nmUQ4\r\n=R7VA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n","gitHead":"619b057dce90a552f56e341228cfddbfb7746acc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.7f5e0c23f.0_1579884419446_0.9552167061579655","host":"s3://npm-registry-packages"}},"5.0.0-canary.3fc3ab520.0":{"name":"@material/dom","version":"5.0.0-canary.3fc3ab520.0","license":"MIT","_id":"@material/dom@5.0.0-canary.3fc3ab520.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"04fd6c6d373099ff43bd688226f4af9fe7622547","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.3fc3ab520.0.tgz","fileCount":20,"integrity":"sha512-RuVihCrbxRe9cx5aah25sQcgGMP5tAumF+d63hUVaWnxgwfnTxJIMAbloGiny95sQM8sUG3ri9JDXEdlq/UEwg==","signatures":[{"sig":"MEUCICi4HWax8S8XtQbgoT5vdDNXNerA9i8/pHj6UQsdqqnMAiEA7TGMrGDE2iYZC7EMGpECf+I1Tb0pky1lbnnYJuCcqRg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKydICRA9TVsSAnZWagAAGpYP/i4REq5kXWJr2iSTZre2\n/daKioCAgFPxColQ2csPZFWr6L77FsXzgDdwjfNklp8xyoOWlUXzqlaHwrAj\nxC0h4aypm6wg1mFV0jKupseT4sBXi9FTHnKh/+4ZIPO/3UENhV0wTkc33Tm5\nNaAN6im8JIwrEpDQwjGswndo35ggLRDl8s4d8chlom9GVZI28LJ/d/Yk6h+e\neu/qTsHFWis6e9CUFMuHl1a9D6/lbtwJmJd+IpiekPaUAqYP4jkm1wIsWbzS\nGZexeuJAdfFYx/E6dHcVQq3gZihqvVC74jBCZt8tb1Lc9LD0l23kk7Fu7ZQ1\ni3FyBvTgr8l9mvKuE24k0k9QRSNCa7pMv9QTGGjBS6f7VoYqvrLVC9lzZkJF\nYDyA5IQWYhk4Y/6lDgbe5yEeZrreVSxg5FYOtUNzsYgD/B5OCpzjSzb5sBdE\nExBCUVq9pMkFDUuLosGxLWRYsxH/7DTUJjm1M57OIIUVqMct1F3GRA2M+y3I\nAtCjQcy5hdr/LExLyI4FEZGGsmnj5IxlTSszCZ0r0aKEz03ZNc1Cwi1vlAcf\nV1HtD5GRRUfdzm3GOuJt7Cf/x5mq9uUAjXHWuKW6H0JkXikiDCQGwll/q5WD\nCzY0ovmBAt8uxu3Ceu94OML3zYKsRa89LeTyYjZ07BPh4bkLcKCGnqZlV8kf\n32ex\r\n=JLM2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n","gitHead":"d15050fe97c7130fc9607ecc53a7eafd2b9c58ef","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.3fc3ab520.0_1579886407799_0.7620657702602291","host":"s3://npm-registry-packages"}},"5.0.0-canary.80a4d326f.0":{"name":"@material/dom","version":"5.0.0-canary.80a4d326f.0","license":"MIT","_id":"@material/dom@5.0.0-canary.80a4d326f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"98ea18ae340dfe7577b78107c00468355bef124a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.80a4d326f.0.tgz","fileCount":20,"integrity":"sha512-lYbPCfYz7pmFc0bt6RC1OdrQd1pQp1f57VAlq6paAgqLZnT01Vwqzi9IN9vZYodk3P3y6yQXOGnk/1MRB6jV1g==","signatures":[{"sig":"MEYCIQDJb4qrW+iE7Zv+pZ25imEBI2TpEasvEGucajGxxLWNlAIhALDPu00oS8N2snCrj/JtWG2yUAmxFvZiJ09sqACw48PX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeK1dWCRA9TVsSAnZWagAAXC4P/jwf3MeqwmoZC7DA/m73\nCiSwqu2ioq4FsgfJbcgKSzMHZDQLp+YPhcKkEwDoIAtnY3Br4ZOZHTIQRd5Z\nv8Bdpcv+jCtM8MDbcSDm8bWg3iKisLvZ/OfHVtcIahlEVgogJg04POwzo/t1\n0PoxYNf3jIDjhHtJwPMnGZQOCzCgMOnT/QwK7xW4EZDQjVOyaPCr0+awr6kw\nK4uuR0ht6IhCVeil5T3p0znUkJa2o7NHI0mShbqVQf9xVkyRBsEx0MZYWEyv\nDQt62wbodCz41XxDKsC1BBENAJveWAgHPFBC1LJuw3zz3mHN5a8SLS+j0Fog\nYlpWmm7NR8EQnBH7CVjL6LTDyVhVhFGAOeL/OJgpe0p+nv/s9WnHC4LFeR71\nkYDeIIMRfFgrU/C03stjpoye6G525+8efCWwHl8zgAd2aIviWOBR8kO9g67L\ngW/BnqXwIxzNi1UCU/h/40zQgAErGoctix4joVrrjjv8b0McsiCstAO/TR+h\nhWsozDz2n+jo48l2P2LstOmuILdDGE8MY9Ckbzm1vGFZao+o66ZF8MLnTiiF\no+pyatv3Ts3OVnto3wMA83FRE/exuauX0h6ehCQ9UlHRZeREUnjQON7Lo0aS\nLC1pdU3l/crU2jkCq22IgZEfpyDtuJuX1uliSQ/220mDcnX/XCM7hxdxorYG\nCwXL\r\n=Jdqh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n","gitHead":"b0001f5c4ba1986c74470e492e82bc13e15e2ad3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.80a4d326f.0_1579898710323_0.953902652075606","host":"s3://npm-registry-packages"}},"5.0.0-canary.ef7de4def.0":{"name":"@material/dom","version":"5.0.0-canary.ef7de4def.0","license":"MIT","_id":"@material/dom@5.0.0-canary.ef7de4def.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d69729fd97fb6ae3e55d0faa4a5d00d72b734f75","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.ef7de4def.0.tgz","fileCount":20,"integrity":"sha512-4xHm+3RFaeVCZFfUpS8qTwoLCL3YdH3vHOhd7wZYdmAEHl8++Nm9DMtQZziZvyCX7iG7JiUgEIUUTO6krrzl+w==","signatures":[{"sig":"MEYCIQDsd15NoezC/5dSbQrB/wxjYHPxtTw5Cw5CuCSMhYRnywIhALDPNmkePNks/lgB/6hee2zXGnvNBGxljRj8vuGiouNL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeK2IlCRA9TVsSAnZWagAANZAP/1kPFGuaEMbtztIplp75\n7qolb0DLlQNCzj/UUow9t6VwfkJeK1w+GJ44WydXOoosmq0mhZ9uI/NQVLQS\nZmrfQLIII6UxEX98Ww99I+TMIy3Thon5stihmpY4MofEwNInPtzyZayl6pqF\ngpoCb42MybUf24dEnu7j1t6MaI/QzT5d5GH2Ssj7706gIzJ4esOu8uC7qvO1\nZmj1t6gnekjhBiqzYkT0w5YwZ+hfO/dDCrJMJWCHArmxLAUgg7iVhuim5abM\nrXgZB7cHqGwGhYjZq2nYqFkvSHudPBSsP2j2q8/AUn0oTZTu3zQXAStd/mDc\nvsAkLk3J/aFC1bqT2kXCT52IqzpWyfsYUZdnWslUYd/vgPvMKzl47qlppCVQ\nZph3cPEsY6UX+vZ8fAxVm9nBUQGZ8bq3ZJPP7eVUV3IhvSF4FFzfGHoprvrv\n/dQqA3O87Jn6WoWxPht/WTzNWj85ubpM93+uLAYdd50U7JzO/Ul9zFp7aegT\nA6lVLDzn0w3G0bZdvyl7koVKCTXM1FjI4VKEWDa+N2SmRbMdOuOFy6NfB/d3\ngiVr/zn9bj7iSlTTIpSbPjzLG7tJxXzYm4Fznx/l4rnS2qMeX6Z+5ciUrhWa\n0F1T3WCtWzWM8zSrRTgKS/mfn3cX50a64XYZS391aPcqYMnzn4MSSlamKGBU\nyLG4\r\n=Qvcp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n","gitHead":"1ac98da12680a4581dd0427e23f1dd1b95a939a0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.ef7de4def.0_1579901476637_0.4949014463065482","host":"s3://npm-registry-packages"}},"5.0.0-canary.93e2288b6.0":{"name":"@material/dom","version":"5.0.0-canary.93e2288b6.0","license":"MIT","_id":"@material/dom@5.0.0-canary.93e2288b6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ca61aa76dbca3f566d14c7eccfeef984e6e4d384","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.93e2288b6.0.tgz","fileCount":20,"integrity":"sha512-V60z+Vf9CcbD2PQ4iP3tFJS8S9nvqiXaLXdSM4K75eRqSqPwGTSrEmtt8L7ovLCicC3oFMvMkukiY4G4+foHbw==","signatures":[{"sig":"MEUCIAW4kTWB8BvrIBA6pY8GlL+8X7hnlR2g2rtu1QR512IrAiEA46/cpiU/K8FFrV4Cm8rkPaGSnGqxGzcP4tyonphCAKw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMGdECRA9TVsSAnZWagAAsjsP/0U5qYwHuW0A5aybRPhY\njnBhf7Zpr/y7n3jpJBA8Zpl/j51ZFqvJHTnLRfUqcznQSA17Ns8uJ3fE8DAn\nppWkqYDokLcnQLb28j4NxtgmAEBn9tYxgG7+BTtYh/EWL7BBRcD/hIeR/ZVM\neklaOgMHU8vRngjkrWvlLsdLZzEcb0qnK+YrhcNhNo72/OlwcumK9D6uXlrO\nOYcYwcm5a4ByOdLlzbWES+0ji39oQqGwKcslzK9Fbu7+7QzL+iZ+x0mAV1vc\nDl2G1cSe5nfleA/ZivBb73Nf0isLPoFAIEqR4EM4lxd1xAskXy5nZouGwKe7\ntJ8Va/ApTpZcMvCZnk3pSuGCvxKnYheb5GY/RbIf2seruHyTsNZwCdBLqs+z\ncWLPzJaHeW9NaYHF8RuRZH5kuepqL9KVZ6tG30EB1+mKIkZBFUzM2+j6sE/J\nkwQOhhlbbjvcxx+LGJd9pwxKOomj733uyRBSF7/mTqhRJXOG86ro1DjxrjhB\nDXo8etFymuFoWG50SyviWn4sy5q5bwuo/Qq8GCo7XGofTJ6Z16zQg6rojMn7\n28/fp9puodKHf4q05YqmjwEeUNVu8bYsEyEt833iyx3vGgZm7kYZ3tHnBXFf\n0eQ/jEBJ7uIsSO/TN2/dcPC4Tox4JaPWP/4s12i6WE+XKVRMXqfEjqfRUOWR\n4GH6\r\n=+TVW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n","gitHead":"00984d219befe7ef5ec7c042cd975979249ca8f0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.93e2288b6.0_1580230468495_0.4923991061099082","host":"s3://npm-registry-packages"}},"5.0.0-canary.34ef15f67.0":{"name":"@material/dom","version":"5.0.0-canary.34ef15f67.0","license":"MIT","_id":"@material/dom@5.0.0-canary.34ef15f67.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ff807236f0ff93a88a78f97ec9d2dde451214dbf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.34ef15f67.0.tgz","fileCount":20,"integrity":"sha512-MDY/ChSm5Y6tB/3GjqTb7y35YMpcujwWyTUvDYG+BZ71sQm+vBAqpbQRVzWXBHJw5sKfI5JYE6x6Rl7V52q/Ew==","signatures":[{"sig":"MEYCIQCxUmnowqEUT/KeyE7vwxL0F8iPKAoLs33d9v0EP785dwIhAOBDY2KJmtCGWY+1dVOqHIq/51Pmx6wcMVygvhx0BlkD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMG4OCRA9TVsSAnZWagAA/IYP/j7Rpgl2wEH1rShZAOep\nLbqml1oJzcIol3FPHlNuIA8tWHJW1sskZLvDWK6on76PqK7nRIzC0LZwZeRZ\nCeABXVTnFdnabTlEdle9s3v98G/bwYrIikH5UpfADTiiXa3MH/ffpGNmtOVl\nP2h4JboaJIydaEVtFkwPM56NKLai70GtsXZhnPqfORJYtVqV5jyTKsbbvneU\n19fLUwWfos3quZgwGF78dw1l978rINT5YezRMOgHKMTRWCrmeXFjrTHvYzwH\nWlOO/VvT1X8yqXgdSrgtUPtnEJKqFsYNNxrIVMOL4Ntdzgcfrc3FuPRa9R6v\nQQQ38MpjiVhc1u8QrlMokv96OAzpmK5+tRI0Fpw+MWdIuQrabkwlilQwu/96\n9rmCWTGw/JC1RwCOYtHJpcXRutj/uJy1n6X6rKp9aM6CBtQRI66z7znivLXR\nMr3YKIhzFfi7sjMybEIQ3sgNu6WDdDrJRK6BvAuakaSjK0UJTzhsRAVF4OfU\nEAOeiEMH5ImiYmaINK3bBoSPCN4cEwrAkw18abyn9EO5ozdOes8E2D20wgSO\nbF61OTYW4V7RmclK1floP52lfXvpd3p01PaBw0vEbS0zL7bAktuL8A/cBDfz\navByotvbZroFTqhzjz0ArgUpZUKybSpI+PgKn23peWB2qAJDn6KHZ5DsTsQb\naNOu\r\n=IrFh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n","gitHead":"21f8c61e71f0a9c48eb2042e25093b7a821e30f5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.34ef15f67.0_1580232205736_0.26605555452356056","host":"s3://npm-registry-packages"}},"5.0.0-canary.d3d176ba5.0":{"name":"@material/dom","version":"5.0.0-canary.d3d176ba5.0","license":"MIT","_id":"@material/dom@5.0.0-canary.d3d176ba5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7960cababcac87d780a415adc3d9b2fc56deecd0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.d3d176ba5.0.tgz","fileCount":20,"integrity":"sha512-BhujqqqT5UZTbD2jF4gc5QYrTUGrLhuQGbvs3njDnhZNzjFexXybkG9eIUbAy0Zk1SVWytN/tgnEb70VfSe6bw==","signatures":[{"sig":"MEQCIGdSgKklOnoer7F0T+IWYQGK8uBNsheXD/oKJvTxQwgmAiAh6DLyIc5T6rSS2+ImgsqFFDg7VXtDgrgV/wuCsI5emg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMG9NCRA9TVsSAnZWagAAnWwQAJVZn6P0SFBO3vrK+CEy\nfgcmmZPc5oefVtv+yEGOxjNgu/N2h4gwxNTw2S14w/Ii6dbxjEBg5AJh3pfb\nmJe2Gqdz25Nb1035PBv8Gkgz3QDXxCWFgnSrB+nsXGuoXxwbgnkE34pcaRr+\nhGJKP7Rvvh3aSei5kewPflrmyAcP3IabnSPECGfFaDbfjIBTROm43bBeicXn\nFyRVKrDOCkNwh84yghDljbInetYLU6/pIoeUJVQXl+n/sLeE+ACJ1tGhOcp+\nr5m5ZXmsV7Otu8HvgIdUFDACX2IRRZ3tPCDMgP8jj0q0Ik0tuqwyCPoHnDx7\njXtD2xd9TrzuhtnhXrYv/tdCowG/HgpdVwbvEL1qT/afMrRonIL6Acc+/GDb\nhgylP2yeATMMXB5allwXV8vNtAyrKOCdMBo2JwTBclI3vkBIQGf6Gf/XAM82\nu2Y5BGfxGFMRSxXeT5lacv8iAdXEL74s40okFl8PiY2di5K8BEXBIDrSRYos\nZzzuKVzwCXWPIP3CVkHcSmsZwib5Shg2pzvfbQ0pvFrir8B88iBbr4kdb3R6\n4khbtttpp1VVbCc3uOl1dHrkKELhN00BI+XN0URWrexGP8tNMh+CKYhHs/CI\n0vv418R67F0Jx/pI0WJdqpyZ/mAAlBHLwRSqi2obQNM7l2Ps/DDJs2LMJS9l\nVzbx\r\n=/kwT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n","gitHead":"218eacd6961bf740e059146072cd9e6c710dcdc3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.d3d176ba5.0_1580232525278_0.46131112364640314","host":"s3://npm-registry-packages"}},"5.0.0-canary.32c1df133.0":{"name":"@material/dom","version":"5.0.0-canary.32c1df133.0","license":"MIT","_id":"@material/dom@5.0.0-canary.32c1df133.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"acd42ba899fe0bfde52a27025f12b9564489c650","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.32c1df133.0.tgz","fileCount":23,"integrity":"sha512-0Nr82BN821NH8BPorZAgLu+tB6TW7EkHQcQQlMNuwotFtt//NfEQiGLw8Uky5OX0+90AqcQ7i/kxoVciXH1pKg==","signatures":[{"sig":"MEUCIBQWzHGB/Nrg0BR7aG2Sfq2WouGu+aD0q3QgwRI9Qy0XAiEAjW9Qeqz5qV/mt+jI/zjTYbsT2bJ6o4zNmQW46BdSMQY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMI6yCRA9TVsSAnZWagAAiRYP/0BIGDfc5h6rK4UuE7P3\njli76QTjOMo0AnHuAEBt9kA2V63UA3QqIK+AE/N4IsPCJIU4MEMTW43nUU3Y\nxwDAHXuChQUIkKHlUgR7NbstXbMnTo3KCoWr8zlVlL+y+3qac+HyKiumdOVY\nHZteFhThUYTj9xrj5+NJjxQVj7cwC7EL4lIZfAKc1LzR9vKnNrW5vDia9hJF\nFhMhSBjsSDb4dvdbPfBwstUJnRPtgYJwXynKPGJLsOhAMdjV2UVCuNYmSOvK\nkqrygao37qn8qFLC6gUsoVgOEGVtZi0KNRXflliYugp7gGk/uUZ67z2rfe1N\nDpwWkAnmozYkQsdjL8ltjun8ZK7B26UJbgIawI6oDjHFvv/WDn85QLu29f0V\nC4hz/1U1npSxoW0lLYfsG+COhqtpLTxVbzOjrxgtQqgnsB8/MLlQVRRqc9r9\niV8WMsuq7AZwule3mIGzz3B4IPSwM6xntXLYw4vKbGHps5C34h4fa78n0enT\nD3H62fwAz/6STMp9JsnDIm1K0Ju/Whc6UphzYkQBympoAx2+R9XmaQYTyQ5d\nXzhvua2fNrX+EnEDsChuvwu+g0rdaGA5cZezaT2HOt9deOz0FfeK5FYyr+LU\nCd2JLa0gYMQG1/ysQrm9+zw+8jk9G5kLpE0NBFhnx3r7sgY33Hu+phILcagL\n/Au5\r\n=9eyp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"1f36bc15da25ecb33aaa27693bbcee65c1d56eaa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.32c1df133.0_1580240561765_0.28148922387586905","host":"s3://npm-registry-packages"}},"5.0.0-canary.f3adce86f.0":{"name":"@material/dom","version":"5.0.0-canary.f3adce86f.0","license":"MIT","_id":"@material/dom@5.0.0-canary.f3adce86f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1c09a6e999fa4a7bde2a46218c33eb292fd421ab","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.f3adce86f.0.tgz","fileCount":23,"integrity":"sha512-ktM4qQsPLS74BmMZ77im2Sh7wOujJx4jKwqR1/3eycgHnjZpwf1bqY8lNMdj1zMWLQ78Rrsx1lU5gchdLw8+Dw==","signatures":[{"sig":"MEUCIQCjOTd/I/y+mMr+ra28m6f5dZLouQKc2HsqMfOF8O6GrAIgLZC6AYD8rsImoyOE4jfu0r3TuwsIlIyUCIGCFxXkWGI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMKwfCRA9TVsSAnZWagAA0y0P/i50RlJArrteK73xQNVs\ngsi5cFilibHxugU/BSueWQW7qk+yAc376qauWANSzMZDInO5b5Ehz3AbdM0z\nOMubWf/YVeKVlnhixs4G6ZNmy8xV+BGCjX/4LvTYjvBJK2clRZHR1ErE1A9z\n0/iyaiWpmHMIeFpD3V0eIMruE8G0Zt7rBxJ33cO5ouH3wZA8dldnkfDdHzrO\nvBxkEy0o/jjRkcDXErqgLX+aJBTuxr1zk5IRFvwSc9nHeUGxOH1pBXuWwnRY\n+NBkb1ViksiVRH7K3aPOkdqsLTfwSX8Ro/9VlhjjoE9uXqjSVErA4mUMWWfL\nQPw1GPhnojh7Nu0hLNMxAReeNJEGMu5nOgBlnhK8lQNn0Bwsi0UUKLQmjHLJ\n6lYAajyGvxhD1/TKkuNaTzSthAd1opoHNzWO3iUyqwJejin3/W2AUUPZeLZI\nLNZ9B8R4Qj2QEGQvycrJtorSHInF6+3S722GDg6C3j4nXDFgSEJXDuGX8Z12\npJ2IjxNDhlN3y+O09s6RluNMSunFljGUZcxmk7UOGMwuIYqKeBY3pm9QujRX\n6dFMVnVOTz1PDODpBXHhNsFzeq/0mjMbmyJrwsfXKAPb6bNi7oB0FeMaHnsY\nMcTjCe7lmu5KoQE2gxfqOTImaSUsPy40fznFUwmAcLyhq+rZ34hxbrnymL3/\n2cqd\r\n=Duwe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"c352913b9c3e29f7b404b08db88a506e692187d7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.f3adce86f.0_1580248095476_0.5103034772930213","host":"s3://npm-registry-packages"}},"5.0.0-canary.a4423f890.0":{"name":"@material/dom","version":"5.0.0-canary.a4423f890.0","license":"MIT","_id":"@material/dom@5.0.0-canary.a4423f890.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e4d81d995be52e3d72f78895f48eb27600a24a54","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.a4423f890.0.tgz","fileCount":23,"integrity":"sha512-lynUqUIE0BWhKlszdyupJQpdCkpUk+ww3cMvGSObHenVV69306WwjgJvNz1G544fonUk6vDhS+4Hh4dspttpjg==","signatures":[{"sig":"MEUCIEyya4foGynxyS9B8CxqPPmMo/lR34zEc9hlbXzU9qsmAiEA1atMkew67zM5zmQumRaZvqz+yC7G4jDoZo7DGy0NS2w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMfRiCRA9TVsSAnZWagAAQ0gP/Rfv09Nds7aU5BJemt4a\n6kANFoHeH2dusoavzhpda3ARrWCXlS4xXlVoTlf1ONov75tKD0d1dzPXAUIo\ng0jwLTuSTclay6htPGU05UjO9/NKmd8BwsaWK98ALB0OsJZkYWTCLFyjeo5T\nqz+/kNXthZUvKCcDhW6hASMiFGE6CpVZvdD+3mzAh9MarrvRJCho2KKPDblr\nYEbeNQcsyXCSbSri4/aNhIRu9Nb1RgR563s+clz/ACWIcrKSDJcAyY7xQQ+j\nhkbcCXYcwNi6KfsLKjX9J422wU3UgTFbA6QPbqaZwS/LF7mqO/ns4PtCFZYf\nWc81S+rq9AhFh/DxGs8RlcJdqETW4fieJuFtQRG++2j5aQ7FT8AdIkpnQS7E\nlc5E7G02Vz8FWr56xjUkD74OqTk+5Rzot8MgedXhNNy68pX4r3JDZQWoGNW2\nYUX6ktj4bDBZTOEukWJnshlaR1/YglJav5WSNJNmO5Tm6CHpBqTk1ciRD2qw\n3VwL2ZAGcSBC/DEn0tB0kd7AesMqxa0//1I1LqZtyf6HklwuOUwHmMAwaVIk\nTzyyrtIdDwaVNjejBVxCDt3lnPuCBp9LZO5182s2aCvoM52xvj31htbWL59X\nki3hrkuUMP5tayuOAX3xp8XV+63ukL4RfITsDpg/PwaJofHXWVlJXhvF5CkV\niJYR\r\n=dQe8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"981df6741191636b0a527b318fe896f47f74cc0d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.a4423f890.0_1580332130165_0.5687765195177581","host":"s3://npm-registry-packages"}},"5.0.0-canary.9351f167d.0":{"name":"@material/dom","version":"5.0.0-canary.9351f167d.0","license":"MIT","_id":"@material/dom@5.0.0-canary.9351f167d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"38028f553d393745a598f908d416857004d605a5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.9351f167d.0.tgz","fileCount":23,"integrity":"sha512-8ADjmPPQvbJDLb6c1rlWMPsmfHneZwfm5ZCR+PUCcG90dzT6s7flvLszbcJuKGomQ9eKrTxgagss/JHXtZhIrw==","signatures":[{"sig":"MEYCIQCi1/nzfXsJ5SP9Ex6ZAooUIXDhk8okyDbG+dZAfigaDgIhAK3MzKsNZtWlAlPA93aGxNeOu3MmB7JEMBtf5DTYzsWg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMf8tCRA9TVsSAnZWagAABP0P/i8jtD31uNwbrWxeJucn\n+Su70AXiyIxabBxUqItTxxKmR/ZaJ7FS7vOmbGutPtJgpMzWI5hK0l3HGvZ1\nNhwXIsWhb12NB5AOU0Om8xOeYOrfCueAHCQNVBwDjF3xYtG6xemfJl1TQO9W\nKub3IQmQkbfU6dJkJgcxzPCXTkzsB33G79eBKPCpk00UuwIDFJtwypJzpgUa\nUOyEl1+oOByDCc0JRmAmgQOUUmFfV5ODn0mDpWraiZaesJLmM0a/CNWISiJa\n2eBP6VxnDDjO2h1FJc0VSXbz1FjK0fH4QLWY0xS3jKo9aXb9N+4kbHjigg1i\n6HFeetZnqRwA7Y/+42dA36TKshGD0yMlIjoHPEx7O1u0qSMl1UaqkYnoaXli\n6mmUcJ0s5IcyuknoDzL7HCnPXjt+le18LV7vcMjkkB6bIh04JyDG+xHaaLPs\n1NXvPnbPZHpYzIhgbv8FEzMEfo+6gilyes6kKWALNVs3vzkwErtV0jShBFlG\n+/zhWUqP7u2qCqFZlMwEcazZ7V0YNvvgkO3Me6Eqp2DCO6cd++JjoUbLfCmp\nZ8BLbjndXQO7yQOBISJ+yzY82iAab1aEdqDpemRxa5jAmVWEQuBwGuLJfjVb\nKS+NWHWIXjVCbzKDumCqzGptayHtY3awhw8gVGncj12Al5tPXY+Bk/nLfHU5\n4gxh\r\n=hmxv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"6c1a50ef6adf8852f326e285227923411e60a63b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.9351f167d.0_1580334892690_0.70085327321594","host":"s3://npm-registry-packages"}},"5.0.0-canary.29b89dbc1.0":{"name":"@material/dom","version":"5.0.0-canary.29b89dbc1.0","license":"MIT","_id":"@material/dom@5.0.0-canary.29b89dbc1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4adf251b9a94e3e6b5c2925ddb6948f3175b7f7f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.29b89dbc1.0.tgz","fileCount":23,"integrity":"sha512-GzNezqTyDgiYctzdKhMcFiRtfubBoj390H8GvjuJ22wMow5+5mXArK6KDU+Orele0Vdol0Y+3UKIXqvBUNIhyg==","signatures":[{"sig":"MEQCIAIDHLhrk7e2zzTFO4z0CWHenvHN1xjAAG9UmkQC2+x1AiA31impbS6TQC+vU6OIe0yqq/IDNKqEfIR2KQ5d35wRNA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMgQpCRA9TVsSAnZWagAAC9QQAIEe1h3W3KF1jOVMFPrU\nugtXHQPqhnHXrdcEjwVEvcGbN5kIA2BOl3XjivaCO8ORBESdVIAtKlMViiDl\n07jjW4+0CSkiyOESa0xT53HbxiTlfp8P869yH8GF5jqOusHU49mNULnthhtS\nDNcqAsEhuLFDKztMP/Qggr0/dO0KYwZWtac0u10yQWFGuA2JUMnU8K4UaLxj\nkTqgheaaFBiHHYa9wWziW38sX4JKlozFwOwa30vdGy+UZvYEkay8WNYS4x88\nMHVRdu0X+tnkNvPvHRNnx+50xbBxV64Qtz8u9IhrhhGUIVxVq+s21nUsEZfD\niIj/pppHv86LsNAIjdp4ee+FcZIMGJLNK8D/6Xa82z6+asV7EdXvL9H4bJdV\n3njUZ8kehES+hAezr6xq7B12IXQ/DQoWrAS6FwnPgBOu3Uqvc6CWgGtjHggF\nMG5ni0xB60QfZwHn9JClDtnsbDXWrg8SsNq2MUgyOu6FCTqUI2K3iXZbTdaN\nwupAhJrXD0BljVLnerG2d1Wh0DK/Tc+OBTckvRsAZnb+xIxAuTgnQkINq4qi\nrWFwpRm6q8GiVRpA3G5Cg2IKyP3gN5pmuCVn4zrkOgiIl0UyY7f0f0Uhzk9u\n0TGxplVOZKs99H3pgFMdKZ0JVomdO3y3o0/XSQgeo35pL+CL06gJtk7L2773\n6jhm\r\n=SyfT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners\n\n> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"662c3c36b5ac6bb47c841a10193f2c717bf9ca86","_npmUser":{"name":"anonymous","email":"prodee@google.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.16.3+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.16.3","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.29b89dbc1.0_1580336167195_0.6114231752448387","host":"s3://npm-registry-packages"}},"5.0.0-canary.45985457b.0":{"name":"@material/dom","version":"5.0.0-canary.45985457b.0","license":"MIT","_id":"@material/dom@5.0.0-canary.45985457b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3b67f20f12331fe178f1365e65a58c244582db86","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.45985457b.0.tgz","fileCount":23,"integrity":"sha512-rphrBiFbrYy1LT1QHyjKBqAwBDVeoC5oUKPrVhek00RExXowklZJh2AmepbTNH779W6OlnusL3lPizFJPbcfnQ==","signatures":[{"sig":"MEYCIQDN8q6SUpddIElWv81hvDaQQVyjr+HmNgHyRM2xKPVMygIhAL/YbBRdFK6bjHDVZ0SZWLZsK8oDffcobtSobM8SXooU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMhX6CRA9TVsSAnZWagAAgcQP/jgvK1e5OL5x6oyI82YD\nZQd+P2N8PccTqUlpSYZnWm8dBY+QTwguyKLfZlG2TZwnxbZYz+YS8KjrB8Ey\nC/C82B6lcxitIc9zqsX38sLW3PnK3FcLjg2bLPuCD0Qe+6QTPMGukkMcJMAC\nG6BMHuMlol08Z7uUFp7YphPM+0NeHFLmDcpuDAAl077JyR99FbbR9irOu+Ae\n2zT3dzKNxetnPQA396mlYYGryxZd4T8cqZ95X83xQAqvYj88cTMJx4iUVTgN\nVNnmLO3j4oM1+SLILm97TKtN8hOh3FaRURx7+RbctNnIS50KM9+3cbzCafUB\n1dIVqhzvBJS+2lZhOz++IcPXPeQwP76lWhdU4SQ6tdOpDz6qQP36wZSp1zJZ\nNrGdMaH6lq/e+Zzrajgo9lARi1UsmtXwJN5LBkzLiy3Dx7iDwYAdOJlH60NZ\n2ucl4EQgQHFgN3DO4ZHzhG4+aoJkEGPGRSPXlthcjHBCdf8+L2yYbElLRaia\ney5KaOues1z9FRyHnXyOuI4uxQiqxMzRFwLCphrICENaryoaxNgfCeIl0efa\nI1tfJDdjE5nBCL6HTeGdt8GBR8aRNEGT+JmPxLAAsfsiMVGWFGuFR/zbqAF/\njAURfzWdd+dru0GAmmyibDYTqltvNI302hyMTUJsAd5tex233ifHblYeRD4A\nuKD5\r\n=8+YH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"bfd13ab23e42c09d1390ffc6d7cf1caf1a237485","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.45985457b.0_1580340729497_0.012603538939458758","host":"s3://npm-registry-packages"}},"5.0.0-canary.a1a0deb3e.0":{"name":"@material/dom","version":"5.0.0-canary.a1a0deb3e.0","license":"MIT","_id":"@material/dom@5.0.0-canary.a1a0deb3e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3b566ce65a769d7f734e3c3f1c33861bc757cf62","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.a1a0deb3e.0.tgz","fileCount":23,"integrity":"sha512-jd/Y/nS+Op93EEDm59K9r8x0MJtzSKXXCxyviXfO/tqz6tsoLeghTIPlmEbYohwjV6m+bK2mfpMBOQ7Ryr2fHg==","signatures":[{"sig":"MEUCIB98wcEY/vBlzDDSgr01E9lNJeMN9PfhiF6V+u4a/DeBAiEAifUIxpWK0oAUf1/KOuGTTo/5bqE7ZT/lL585ivFQ/YY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMxQjCRA9TVsSAnZWagAA1nUP+gONnFWnMn3Iyjd1eWe3\nurn57KoN83YUIebCXeFUoUrjw5HFufkAxqppu62cqFcfLQjKsQaEpqSynimd\nZx5iraQwVE5YJVHsvpMeBhMcLI+GKZ4W0BkewUkkO7QPlLtyx427rxzM/glV\n7+KqedNAqNYEkW8UjVbBlKiB1Liu1JCtmPq5yBI3pmEGX/QbLyqgl6cCdplo\nOTLVl7F9ff8VBHeL2kfNN0oKPLKGU+3yBwUXURRATh/ZIrHk1+E9r87snNvI\nQAqmWJ4TmNOrEs1CRzIVfXe7VYKoafuYbbIORLQQs8tp4FKyFoQh69OwEpKm\n5d4Pjg5lBUV5wbD6jf5DxQdzhGjIsGtHbPQcVJPfRUER77iX48DUH7xOHF8w\nynEG3pwFxD2RwXnbqWE1XEMY8BGiR9N+nPau9dh2p/J5HURAZSv/o0YUjk3n\nxHW/rTCoflnP459GlTP9EMh5KCNfqvuaMU7Lach5pIiJsEk3DFCiqlmG6AFF\nSR3d8UBH+UBSp4G2XbT/IAXUNb2bG2415WoQNTa2nIMHVyC+GnuedMrHhuEh\nQ629ixPKd37I0OcnLLLNWzlDsbpYxt6JfCk9xGyb2K++z5d3zq7i1Z9nicmK\nEr6KsdB1PDwVkHVrEMhOtLlUy4D1uZpg26fNHRxbu2UOxN3BSGAmfPL1GhYW\nONL0\r\n=a2qb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"515cdf56b0195423f7134244b26cd7999b647d68","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.a1a0deb3e.0_1580405795201_0.5846197850792003","host":"s3://npm-registry-packages"}},"5.0.0-canary.181486643.0":{"name":"@material/dom","version":"5.0.0-canary.181486643.0","license":"MIT","_id":"@material/dom@5.0.0-canary.181486643.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"19e4203af6ae1242891496ea5da6c41cd4239b9e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.181486643.0.tgz","fileCount":23,"integrity":"sha512-HRDg2q2okLWtNvYkl42OC+p3AA2nO4m/2MNZuD7WIYw0ThBzyhaqtHUY51yZoPJwbLO0HNVLKaWAqPlyOD+2KA==","signatures":[{"sig":"MEUCICbS3+e1TgrZTsMU+TfneRV5eJgP9OuTlqjYaejntE1fAiEA736iy7RpkdZkFf4uaD3vSRml/QVTBGA0hH/KsTehi2o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeM0K1CRA9TVsSAnZWagAAgmEP/Aqiy8YL9kVHGKUgU81D\niWyhBxfghB/yK5IPIpfzMTDqQtrNY8JbVaV3KxPftjQ6Fgezhnd11PfZr8gX\n31ahwXeL24JdhTl8JWLr+KNm/9TdUl70VrNCXb650lBfU9d9/1C8ruf6cZUV\n9GvvfJlDaAcUPnEtUaMZOpK+fjz45zMNEFR506DzZ7JuUwQtmHgP3cpOZ9ej\nJVW0Wn+KbTDg/hlmUmtGjy9cmZhP7w99WjNtmBKNsx054pKmAVdKb6LjdnEP\n+7TkEAeu/qAnt44KotAxtmpO/1YXXQ+HB/sL5h1egXYiVimsLdjRzJ9/TMid\nAJA+rEV5gRD8gL+CL8LfjpSXFBXr5z4ciGa6Oe2GQZTzI4LsI6rBKeHzl8TU\nlfa/JfZJM7N3HI4dV+dvODX/DrxOltIb6ZQl64+DIqGlvf1RgEDIrYB4MPJ8\npHRfpQFsWKfACd8cdTX8R8g956BKHhZKBjlVnGoPAh91qhv/6ArQmIm5lMdi\nGJgxzK0fd740QCqn0choL4VI0kixD1HKjLHANK7P6N4t06getAohACF362Qr\nIL0VUkoPxIUkUcA5xfmkf14TtiBqOo0F6aaMOpJiXVViISUHv0zG1UNPdG7t\nwIEDXsxE/y1OxLinS2M6h9DWbKrGWiHk3tI/lHhF4CORt3KWGVkftaCuoHK3\nKo2R\r\n=xDV9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"8f29e2225089ac3fbbbbf9e1a64e9773ce276236","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.181486643.0_1580417716765_0.5953995572703898","host":"s3://npm-registry-packages"}},"5.0.0-canary.3a85313ac.0":{"name":"@material/dom","version":"5.0.0-canary.3a85313ac.0","license":"MIT","_id":"@material/dom@5.0.0-canary.3a85313ac.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"adb95e250a1273dc2c18326d889758245be6a621","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.3a85313ac.0.tgz","fileCount":23,"integrity":"sha512-uYHHDE9koI2C39GKqBh3HUKbef6p4BmWme+/2WTAQ9ONNe+c3o3QcPTaxwN0cGRJAW/LXuylf+rQQ7cR3LkwJg==","signatures":[{"sig":"MEYCIQD8An7jCg5XLBpCYrfhs+YQLvqNYNGAAF1OE4ZPatjQsgIhAI0D0c1zFUNpjRCz65SCh+fCnrNK47Y3TpmoBZY7SP0F","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeNFRHCRA9TVsSAnZWagAACPUP/1Sj4pwjCAGKt5K0gYPl\nNwX0A/TMS1HAEM9VE0KwHCo2kd49EeWO/e7dqAtmNrvRs6TJFKN5RvHaBLzx\n7/knFD7N8PlThC5lf6y+FaF8GNXzaW7RcFdTWq3QcGFO8sMJ9dqlE8M1qYhP\niy6ohB3bgqMCbmoHoKKndLD0vM7mU9RsNtjfPHEtdxIDkmVWN1GVA+ap5UB9\n6+/uZndSgmBnw2BFq/qSTQjXlUMJwSSMAoif+x+7zZCUtTYbJTBvhmeh+wF9\n77uCV/LTZ5Hoc6x29V1PnzQi6YZlQB+W2/v7NMT9X/I39JLaZi9EEfTExOWT\nyVbyUWzTi02yFCSmxeGvpYIk4H/sIcZ4W090Ya2zvk404ZpeoYeuSZMD2ofL\nPZ1uo3IsIusBiONqD+HU+D9qIdOin+xCRkcP07is8CvswDVC+U0qPG3gBKDA\njCNhv0oMgL6k73TtSMMCKRKkOnAvrNjy7rH4Cwgm1DnR2CZuqeZ61jmJMyYL\nD3swMkBKlSQZxuZSt8k4Lto4gyTpRKZPFcFxeezAsU8SXyJJLSoZRAJSSnUK\nDyFE/8IPW+eZ67jnB8zZZwDhwtBzsb1sNaWKrD3Pr8aTq3hyzmx91Kd1EZl0\nzZm7iOa1MRE28Pafn5l366fvzjAjRvsKXkr7cnoVzxn31vjqUsBTG9x74jim\njTxJ\r\n=DyyW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"a37832202a98646a817d62c20ce70cd38f089d31","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.3a85313ac.0_1580487751276_0.6710413596707199","host":"s3://npm-registry-packages"}},"5.0.0-canary.b6c7f624b.0":{"name":"@material/dom","version":"5.0.0-canary.b6c7f624b.0","license":"MIT","_id":"@material/dom@5.0.0-canary.b6c7f624b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2a2fd9932483006192584af305c0bac773445327","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.b6c7f624b.0.tgz","fileCount":23,"integrity":"sha512-ODkgWtQ0c5qjuUoyvmdkUBTxbLTIeTXaLTWNhkdAMdKyigu9+jhLHCO1JGRuRQjjPkGjnHeXtSpkPQTCLtn1uA==","signatures":[{"sig":"MEYCIQCJqQG4Q1/GAgX9Rjlvjt1s1+/w3ErzJLSngED+UHH7FQIhAIUc9mBCQBFYQsUZ+6Lct5e/94D907m4026pKW0tdchr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeNF2cCRA9TVsSAnZWagAABucP/iqgbsSaQMKUwc4sjyNF\nMm+o42WZjmz63bt2yvl3P1TSbkJCjRpQrRfexIlXbdtL2gUMQaj/3D59zUZ9\niO9ZLnTNpEjY2inW2OFzSUYCJvaVJpP/R/Sp4Vvjd3/bHz7y3P4gPEi8/Gop\nYhlsFSasz5VATId77GqRfd5qweAvSqcseMayumq7Uy0fH8OyYEvuzDQz1LUj\n9+B2foqi15I6QGFYpoOpKTG4arjdgG8+h4w3u/ZNbqr/VF3+Y8FKW+X1YQOO\n/4NBtklSmuSia9g3fTKtnN7Wk0c+kljbvjLFFdawDOCJZJCgzNYwCyjeWBab\ngZ7vj0QGYBI8sAbGmf0DPDuJIpksJh+t2ZvB/y0mZlRk4zAXEh6HSErY1bgx\nZGbFL5CPRCgVqYswpvPFUs1A+RwKwc6BW8bIITdXDkTAoh/GM3lVdEqXxKSr\noVWCnFtPtsPQmkrP2UumKgWC/R3sA+Zj+wxlyrKPbP9CAjU3GvQRs1KU6j8G\n/U/wbFfsg/1eWj1c+5BH9Wf6vwOS2jiZHpXD2IoAcaoK+F4bzcodADni8csq\nNdmSw0J/24MAcgFz795DcGqa1bKQjlBXWikGG1QPfKLb214ZgKzyMqBoNwiA\nGoifcrAYBwfOi+zuuy+hcLHXl0eFNVmV+3n+jBlxc06olH3i9WQVa4HiAFyM\nmqC0\r\n=A6Gh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"eb607bfa0326630c63037143dc919ac8ec5c3636","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.b6c7f624b.0_1580490140379_0.1585933944541813","host":"s3://npm-registry-packages"}},"5.0.0-canary.b3f70ebde.0":{"name":"@material/dom","version":"5.0.0-canary.b3f70ebde.0","license":"MIT","_id":"@material/dom@5.0.0-canary.b3f70ebde.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"96b5469d1c6ed2634617faa640102a70e5f70ce1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.b3f70ebde.0.tgz","fileCount":23,"integrity":"sha512-+8g4xlFAdwKOWjYgzehJdhtD9b8pZnVcMLT+ICQR0jiPEjzEavwtuaq1fgXKPkf/phSya03Y/nXscvcJ/nK7Xg==","signatures":[{"sig":"MEQCIBpBH5OQ4uOncCCAVKvRFEfljn0//GkNTAUc00yKnT0QAiApPtTGFAoZnGKc9LZIfViD7NA2o9BT+95frGYS4RljUQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeNIl1CRA9TVsSAnZWagAAdYcP/jz7Px3aQGlS/9LsmjzM\nV2AhOhSDaZ2bp6IYxOOW16junAIw6808nmifirIYDMJDGJ0ifE9IR94iwNR0\nDzwSH+9EXnQQmZI0uMH7/Ya4Dg6JhIOl0UF776I1FFTFUBoE4VtA91ApKLea\n0L9EbiZrdYNFwNOnsNlvdnYl4zDFbTvm9vQihUASgONV4V+W0MhEyhQDpmZ1\nB5C2tMZy9xOEOyPb7hRiP5ktsDWjqq306WioWch5muYUQZmhmwNgqUKMg0O/\n37AJyhemHUDx0DrfC6hh3vqn5vMC04KEoZnG9xsXCmJsgy81SETtiEBTBnpx\naEaiSF6IwbA6338VHPModS8B2u2KHRMLgaW2BeA6+hofReJMZQAdtVMSH7P/\nVTBH6l95dhzSHpmv2f/7D4xnmPmuEkCpaAkOJwCWVivr+jE4L7Vwug8iBSQ6\n/Ck+S5QPjPDNKUnJV8etTY5LPiSm4SJ5+HHkzDAFTkXK+o1aqATI4L2pmQ8V\nxZshjNhKaKDo69TO6jVKw4LoEXjAB77etNU3DXwtjE7Ieu07fZQw2y3QyKN7\nOrvbf+msfRaPfoQtozuofW1cMYwXIx7KJj+kRtGUwV+phcxfW3o32bocEAYr\nEOo/DXKrv6uwPYSmhbQMZeqEKcQBhRkJnPAfYVRU4FYndxcurIhHDm7StDuA\nnmq+\r\n=Pahx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"00a0473670032b0ea60db83e614385e1e3166dc8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.b3f70ebde.0_1580501365156_0.01472696229051551","host":"s3://npm-registry-packages"}},"5.0.0-canary.3e782d8f8.0":{"name":"@material/dom","version":"5.0.0-canary.3e782d8f8.0","license":"MIT","_id":"@material/dom@5.0.0-canary.3e782d8f8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d13ff573fdeda80864e5ff22040dc37dafe32f7b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.3e782d8f8.0.tgz","fileCount":23,"integrity":"sha512-mjMeTzndxemGF9+LnepyeGsztXtp9AnxOLaDAinXgxsCS0gwp8WW9PcemeQZMOLKvEPVdxijNu+wzybezxlwyQ==","signatures":[{"sig":"MEYCIQDkv9dL0a8IHyXfJQaeI+DgGPvKtFdK5EoNZHSAb5LiXgIhAIhv3UYGB7Omd+zUmX4aogqk+yNWTDGUkHY6OHR/8zbG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeNiHoCRA9TVsSAnZWagAA7yMP/2fr1rCkZu21GnMx6edc\n20PPrVTnqZLSa0JDGGGva3iJ1xUUznCXqS/0ThWWJbCbUEuiR6uMHMg3Fyl7\n8SdmerpxeJL+zPCI2HNFYfOURIojcN7n4uhhcXTjANT5FzCII++RkRGek1gY\ntYzDau46kMrn7CR1N0t2RDwrynlykztLVWrWVfrn/QCGFC4s9aN4Gyt2AbcX\nOmspyyUAKxuWDIXBTV2Ge0I36v1vaZxylpUeKVXdEYip5fJ51cu5z7SFuRkE\nvVOIO5J8plUIy3EByCydAFrN5SMNkpE63nIfPmYp4X11A9SgOVLBdEANHbEt\nNe9D2If5rXe0tEm/DxLjSLg7ijXIQs1SDpcFHWaQw/vxbVOq0R65jkHPgy+i\n4n5/x51qJkPAuO7R5rKoYKWRv8knqlRJCJJYDyJRipYra4MfQ/tDWuI9++vf\nLCIKhy7mXJaq0E7LjONSLGGdOTN9YxGbDXFWDDQVRLUgKH7EwOYpGu8jmv5P\nx/h8EXpVmR6yf1cl9y8qTapEhwMLcxB13cBhQKNAFsEDW0QDUm/g6Bxw0pRX\n94Nbl+56OEXxSbcS+qOKB8tBV7/8DP7P2SNO703epHtiY8jLhtrFDa6fDMh2\nRpNUFFcvVfDZG3g7rgQOnC1K8gxecLSQHNdn6Yafr8Wra3qEEpoDUv+0jZWg\nJm9+\r\n=dB2i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"8aae1fd4299832f77f4d1d51398e5b28ed5af5a1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.3e782d8f8.0_1580605928113_0.07160731815532428","host":"s3://npm-registry-packages"}},"5.0.0-canary.535398572.0":{"name":"@material/dom","version":"5.0.0-canary.535398572.0","license":"MIT","_id":"@material/dom@5.0.0-canary.535398572.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"99655be79cf1d1d4584dda4f2f5f78b490706e9d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.535398572.0.tgz","fileCount":23,"integrity":"sha512-xNiy83PZ1iqWRfv10Z4LtKOIe4+kbsMpmVI/pfUaxvyz2Wit1v4H394x+00XkTLdQZzuCn2Sw+kOMX1X2ewOVQ==","signatures":[{"sig":"MEUCIH0BR3m91S+IKcGq3B1I631njmBo8RkjdYzx/ICWBXseAiEAmIdTkk3ux6yjeHeHNdCHobTCPSqNH7nXM6jKA4bShAo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOGIOCRA9TVsSAnZWagAAm68P+wVeEgQB3iJ73fXOJWoc\n38MqoG3ov8LTQQ8BgEXUHrqCzgqgqSiE0jBETO5mMw2TL3GFxAFNvvDzoxRr\nZQjUluqbNjOYphZQn8t11CZBfbdVkCfHouwXLIfjnbH0xuXTi5X1nJ9p1PLA\nYkYJWA2pQxI8xeSNC4gFKPWxG3EpivhsRpSJqdT+bliFgh8ohAGHENfjCnlb\nU50pPkgBopPEEHUtzfvvpsW/19/80wMnV4xStKq3jO3UvKHmacAbCvg7mb36\n8K67yavoia/7cI3A4Lwu962ijZGDwl/6GuG+H23/iDIc7OROgZNZ8a487NeA\nwlXNvEcju5rGCctTQbFF99JlYNYIsEidZKSXsws/G6BAi8nu01T1YJjiPt3g\n/YeFw3G+JJWuMeMkrXiXXcLtq9CWXwCYaXwp3yFok/J/NK5aOa5gDJXEZzfB\nGGYCrM4jySsW52oDI0CrZHTFLKmxL9X4r8RnZJvbCJelSWZZkbwtweGx3QSl\nrVwdJLk3hbK9y2iTtqhN+GrHKz7tGX3US+WcIYKM8kccgMI+2gHm3NPh4TFO\nBKEpK9ge4YvYv3MYvABNng/q4Ddxoy+QZiAnY6zmeHXoWX6k57HLYppdBp/d\n7aBxP5pK6KDF4f8tTN1PWgI0LUzxfddAGGG9R7LyGyKvyeSXz8jGG9hyh82O\n4yOQ\r\n=Pi7J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"7f68038e23db60e7b4c44c1b17a6a82329805553","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.535398572.0_1580753422338_0.05299532632165005","host":"s3://npm-registry-packages"}},"5.0.0-canary.5ff33802c.0":{"name":"@material/dom","version":"5.0.0-canary.5ff33802c.0","license":"MIT","_id":"@material/dom@5.0.0-canary.5ff33802c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fea4ebc45c8063708886724b2ee1266666575e74","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.5ff33802c.0.tgz","fileCount":23,"integrity":"sha512-wsWXJ3G7lQKGvKSmGVyTINOacqjY2K1oGvZ22CWIdSh3/tWr8Jc6pXb5H+JIwCPM+b+dXgZJXLPtHgm4VvqlGQ==","signatures":[{"sig":"MEYCIQCoiZEuyL/MK4h/tKGsiBv35t2trQqj1MvjmG9yLiM7IQIhAJbkk8b0NZE2Tg1wMQl5Md2XumWB05t43yeshpDTV4X1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeObHbCRA9TVsSAnZWagAAWM8P/0N64OSH1CkMB2OVRh65\nUOq9br+SQTL2avI46iNLs254C148Kvrvkzbjkp5pi+iU8sP2xNStX/svU6Xy\nYBgqCd96QXWVW3/YTEkZyyDn5FZpY7LDUfJt+7ExKsGFC9ETV0lOXiZu/2OZ\nsjuwMvL2BBHKdHewODEMomSXUO7Czj5mVU66dwfS4Lhwr+vMaa3XmxfpU6oD\nf5+mej6ZTUjZ1LGoPnYJXN/b62hBx15eDCuuGICKeamZzh8uR3oBec9Uk57z\n4vZP5SDkAGRolhVsjmlWfjvqAMmeUxEI112qAqM6Q7067hPVtmuX3jj5Ngow\nyHEOh4F6hPpcD3k/qFWBiiB/0wEtbKvcBM9YpaMCdmArikVYuw6I6yYVid52\ndpH1GU1n2sMDR6AhhQvgL1wc3kELcrrhUO62arBZo7G1oxbKS4TG7KcHBbIT\nDpgmosvqxr7OI+u3r9E4Lpv0sgQpnUCSjpHj3FqwBfhB826GMZSmYkjzy5/w\na/9fgDrpUiZA0ziRy2JkHhnvExdzy7q3x3oumZbltPP+/Phd0ichUD3vBG/R\nCyqz8DXL7qNtojw8qorBUwWlQu/MLLbZL24SaeM0PxJodMqFRzFSTwGizikj\nwe0LBW5SV79BD1UvmYeU5ILd1g2rOITESLGQ02wGtBU5tGP3vxr4CR5kTqHF\nuu3H\r\n=YYQD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"61246014f77c40c0d6594f32e40f4ce98d8f7c8a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.5ff33802c.0_1580839386770_0.9319197598645617","host":"s3://npm-registry-packages"}},"5.0.0-canary.1eb29491c.0":{"name":"@material/dom","version":"5.0.0-canary.1eb29491c.0","license":"MIT","_id":"@material/dom@5.0.0-canary.1eb29491c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2f5291ec66ccd18620dbfdfcbdf8dde6fb693dce","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.1eb29491c.0.tgz","fileCount":23,"integrity":"sha512-dWBFKK1y48opJpSsAiWET88S7wujgND9nvbm3/6eZRBY2cV4qWZXPK+tt/zFj9SZMnoNNEbqAosh1pRpd06AWQ==","signatures":[{"sig":"MEQCIC42V/PzCeE5xQ+uq/lyX4wvthmmAyEyeKVECbTasUC+AiBv2Ujsz2YlA+tKdw+P2VlBhtycqTOQm/tGrGN7hJr+jw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOds/CRA9TVsSAnZWagAAVXUP/i1qMws7jEFlZwy24xMd\nfBuj88aoorCRvy8LcARMpoWQy68MFXe3/Z+pM05HFx3EcS9nhiDGFS1g1I7+\nWlVJ+PQZR73y6KinI3r/GESwUv9zlHCsRasRsCnwVXAhUYDUx03TCl1sT1dY\nu8Z0LzxfSUD8RcgDBhF1qMo1+ckhCBRDlU8hrLKrXrL2RWenfMLtqNLWTqgO\nAexGWR9Aakgofp7dVVowwXWuGH7T2GJfLNAErZJd5A6ISBpZ+/nRa7v0N/yP\n9r5KWcTGe8MWuLmUbsCJr1KiRHPRhfs4WbAg9rWcTIrfK1p+IVuLUXzZPNha\ni7NNUNOhW2X5JKVuvRqDJ5uwivJzgVLbD7JGWrTcQBv4jHXneCTuS89iSjuX\nwHbT2JZtO+IahZykV8eDBfV5djLzVHZj/cclT6j7oog3embEg0zY2A4LXYo/\nGNO4K/6qL4UY2/5XOl/N3CK8mz856mkvkBA+mQuQIeXMgqBJbEVcuJe8wQqA\nMrINiTBm9UE8BULaNAjmmNODtIafSIF0lv7BkW6iaKXu/7ajTuqQU+ViSqSa\nonbPc7zBVA+O6kUPtQvwl4xVRCM090AzWqy0uo3YkxzviyeZt6F7YezqdtEe\nfY1lJrvU+wFdvc61mrNXf6tdLfOvHoN6DGwK9yHjXUXGTLNchEJ+6TqTp6wH\nwFnc\r\n=G4of\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"689b043c66790b1c63b5d2037a1ed800248443d1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.1eb29491c.0_1580849983184_0.4337630010516058","host":"s3://npm-registry-packages"}},"5.0.0-canary.4c7154b26.0":{"name":"@material/dom","version":"5.0.0-canary.4c7154b26.0","license":"MIT","_id":"@material/dom@5.0.0-canary.4c7154b26.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"703dfdf83907be134a6e8a39e006b13d9fd7c043","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.4c7154b26.0.tgz","fileCount":23,"integrity":"sha512-Gwx8y4dH9c9CEuG/x37IrdRpe9DYQLdl4rjkPteBAOOytrKXiE/7tfpxd3uB6uIBSs4ydaDrmdKDk3gj99xEVA==","signatures":[{"sig":"MEQCIHn/4osg6QkGtL74qcNP/WL8ciuC3IfWBMJkXB/MY8xpAiALbERjBMjebedMmpscYdOhLGZR86geJTNbo45UTbBYjw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOub0CRA9TVsSAnZWagAAnd8P/0u8rwR5zXnyis2PS+RT\n2nyiG0jFEk2/1kLKsvJGhzLuzJkCXawgWcAYRxzcY1Y8+1OIUX5RG6r25DA7\nQ5rEiXfNeOr7JW4Jfwr8q4euTFgkyGOsNkho/3AojuUowzsJL9HOKeaeHy/Q\nf3zBle0cLgE3yNfJdnZKjDFgNqoMMrHto5w7JlW0CjqzkKwo2S/fqat0bBDW\nhnxWURstc4umZGwhi1BIiyrAiiDSYYuoOt0+H/h6sCPjlUuZ3tJj3Aovw+d4\nETqmJspQXdMf1gWRnK62EunY+oHzIayQjB1Zpq3fdIWdxrbq2w/1jwZVl6yz\n3AkKBzZVhCGQvSyCkmiiS1S6McmWTJ17F/PcE6kCRufkBFST3RMZCh/WOgui\nWRdYiWb2hYlJxyZZYhFcnlQN2T+DRJult/4sPrPRf9Pd28YF/N0H68zDe30w\n61FfQaG3RqnnxFhZjvyNaZFAu2uEBNVWLj7D7bEHbLgw5lMomyun4PrmekV3\nr3dBQ/dIXqacfv9+p/TIwpRQ95EgwF0iZKbBzAbeCfYX+DVCruRpUQAMVhlz\nHbdRy7rqFsabfFDBDLI8hsIYLOsJyOETLMp4aeo89CcgEk8JDvY40lIrwpBO\nIf4AwlMJDmQ4PJJL7L2015eoHFFIWCwQr7LGgY0sjzKvwJPtfoLAbCevrlah\ntAfW\r\n=WKNZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"e15f799c180f6eb07455eb8d644b93db93df5402","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.4c7154b26.0_1580918516333_0.12437222128821035","host":"s3://npm-registry-packages"}},"5.0.0-canary.ab5f49a2c.0":{"name":"@material/dom","version":"5.0.0-canary.ab5f49a2c.0","license":"MIT","_id":"@material/dom@5.0.0-canary.ab5f49a2c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"34afb7071e7c2bd6838676a81d6d5bbcc15e4373","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.ab5f49a2c.0.tgz","fileCount":23,"integrity":"sha512-QxIaBHw8x1aiG1Wc+CFISu3UO1zOYm6DLmPnZoAn32icPFvDkxz9OZxu+m810pf2x70ScdkrZJT8DP56JV47jg==","signatures":[{"sig":"MEYCIQCC+zo4owmTWR1O91rkBR8K25QpO8mpfyT76RD9uSHMowIhANyjyD04+YHXKNAJY2pMJZa/5P6zR9AsbYRbnC+1X3XF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeO1CKCRA9TVsSAnZWagAAINcP/3a9YYxWFpeGEDQUB6oh\nmCwMeCkXO+4+hlk3fVinceIaZ/saosM55mGXirtLBg0jQsH67rwJ5YJJMzWe\ngaQKI4Buv8qm3yqrz5hv0JHuPNJ/UsY+ExEwSkCztVLM0CPPeu3fJkHImn14\nEbdeOhU7zk1gOxrIymILpSagVhsl/hr98bUI6AK3n1MPfHQqrWHA3tjbbVuW\nUBcCWdVPcKuXwnKbUIwssIlkVtA8viKi7SZF0gNchye15hB8pBH9KIwaa5my\nxI+Bqgva2ym7u70XUWYN/6gJ6k0XDBlaNF1g8cA6Q54Ohafut6hZEfr+xkLS\nHvw7t5HYd/T35Dcs+unvRHetPNYCg6bnjMOhBS0K+Y/5VOXHfeeTpxo1lt48\nJmIkx5aZNpqwyo1Iwt+I0KATDXSRXD/6Wqp5SW1FF/VS6JY33CTtDHs6mNKQ\nzfUnGB3NxIOamcCtV7TjIDIuuY5jbUhJyMvLqXEPruJeTwqx9bRVV0LBCh4Z\n7g0dnUVIQX6pyj2Ojr2zheGjmice9rBljwrDTvG8gmiCCmp3YCiCcWFTWHMo\nmKVorXcgHG5gLFNhCYa+upnD+SW0Bn/4o4RwX8Eqx1boxHe+zwHLwrbPkD3B\nsK7mjYEaHE+dcY5JuBjSO0ili9YLPnm0HKhY/NEWWSXofWV1tdXRUKU1ILHt\nkNcD\r\n=SRfm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"9e2d33465e4a55862766486d77f187c0bd37883c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.18.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.ab5f49a2c.0_1580945546137_0.6475438578760289","host":"s3://npm-registry-packages"}},"5.0.0-canary.c541ebe15.0":{"name":"@material/dom","version":"5.0.0-canary.c541ebe15.0","license":"MIT","_id":"@material/dom@5.0.0-canary.c541ebe15.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5b4eb75986faf468cd0f06695a1f0213f6f6f179","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.c541ebe15.0.tgz","fileCount":23,"integrity":"sha512-9usfNLE8MEVacVoa4Ips4SdaYHsTyilmvzPm2SCozZQRgAFc3xrd2FGSMKlrko9Oj4gz09+XXo+Qh2s1OqQAsg==","signatures":[{"sig":"MEYCIQDwK8iU7bBh2iFj7q6BgAH0wLrmzLGpVyUP13v4g7N3FAIhAJmQQR+5iPaKeU8SLFG2a1KKClyJlKXcd6UWZywTht7P","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePJM1CRA9TVsSAnZWagAAnO0QAIakEWll/tP4UaFxGJQW\nPUK7s7+JDML9VSCppIiaRSrDGWmGyLtznhkV7gg55LT7o13CTHTfj0TYyDuV\n3eZaAHQzhBskiL71g7FnAOasg4Kb2xJGDm2Fe+0d3VXxMXNFIX1je1eeNTWU\nHBTMkn5x0Vb9BA5OnASJolRf+Nfr0TucaDhWNx98ylaQISniQlXMnCqeC/l7\n/oAyhibUtx0MXzdWeXMOiGw20h/xwy1k6yaUiGuvV94owONJQcpEgfFNcZtA\n553i0WxMKoHTcxAgJ3z5VAMO+A3aMbvc3kkxpslsPQNrdypuNAKR1zWKnK+X\nS/PfYNMnDO1BQEK0L7HHnNkY2J/eClllK5xGH1r/6ex5/vNIQz4DdxvxhQJm\najjPHkyZZsvK8YTM1tRGSWORM22vfJj+5ubFd5BIhJxWTGA4jcf+CBTVB6nx\nnT5KlXeL6k7feeNR4ea9NornrIgjwvgRkLZvB5tRmUUnhQsCz3TqfRhzq65N\npm7gZwpHAZXLWjRie6BQQRjRbz8pQ8iQY36iIm/utffUy+dcRQIDfls46ch9\noXAXHppA/F4vXmTWvjHGjbjJ8vPeEH2OIvY3/xCqrAjyFlqYPVLGT2u2L3LA\n47BVZhZwaKcTPe5h2s1+oGvkScVTxoKgUQlFMLVTLSqhynjtemxTIjuHahJS\nemG8\r\n=3Ex6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"87d5a39f72f6a882a8412df86762c91328c6d985","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.c541ebe15.0_1581028149369_0.5932244623033087","host":"s3://npm-registry-packages"}},"5.0.0-canary.98f7faa05.0":{"name":"@material/dom","version":"5.0.0-canary.98f7faa05.0","license":"MIT","_id":"@material/dom@5.0.0-canary.98f7faa05.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"04da94f05a11a70a08ed5747cd9ede900116b4d9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.98f7faa05.0.tgz","fileCount":23,"integrity":"sha512-GCINcuugFsUYWtrpLfeRIs+x/4iKLcwH1i+RANCcOu5JpizihKpVomuRideRN1NFAUScMHSWWjALSL9tT5IiAQ==","signatures":[{"sig":"MEUCIESzWIgYu8LygIwuc8Z+IQ2iimssowW1g8+uDsHQl5haAiEAmY3QijbKj4GiVgALtZ5j50q7CrVYm5s1jiqF1f71jrA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePbiBCRA9TVsSAnZWagAAsoYP/1x7n5qAr6coCuEtSas4\nxuDwN8OwleEV6IBcdGgjDdbQctJHnE4j5g+xjhoxq3rBepoDn7RqWk3nQ8Of\nDD6ZDvVxDcmfG9fS+o/ByjTIHdut2bOE2j3NlJGL/7EJKojPT/KCrapOJ1z/\nn7YGxZkE45bzffb3KmnKBLB7kp9WBFBDGV2KhS5hIN6+T1jzpswy3nGxtGMo\n5FaLfYnMGQECKTCFySEnyOL9AF2Y3kkBefItJi9jtTb6tXaHvVf/vHz1wlPR\nP5iGssBn2V56EVgBsYoRwQmVU7lrILpRVsbRLiXJadN2eIR/UUPXJL74LluB\nCrRhoC/426BuJQsrymPLn9ie0HyhtVD7ZVw3QVC/9pcpX4PcHA+WmaGUaPvx\nwDp4J7uRcR7Do3k+ZMj4fLP7HDFYrZ8cU+CAaobbj5SfjOH0iHUSpHfCbehp\n2AxHJtP4n/c60U7m02wk4UjGmEr6hAx973YYvmwhjKYdvyv0e9uyA8ligWok\n+Wkag5ub638UJUA2o7D8Isqb0vh1eJMchwsq+xLWlACefnRoidweAXGom/dj\nWn0jjL7kQ3mDFrk7t71muOTgwzUrmZb/nQ3wzF2K6/fRWjOHvoLr0nUiLa/U\nazvINPMDdrzS8NTK6vls5UMZXXd4E8RGPxhjIDsB/lKsXeRT/iwjD34ibkzz\ngJQo\r\n=jvLG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"698f18ec0e8c9dcdd38beb5ab6b4cfa6218fb288","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.98f7faa05.0_1581103233032_0.6760107550751966","host":"s3://npm-registry-packages"}},"5.0.0-canary.b4727e43a.0":{"name":"@material/dom","version":"5.0.0-canary.b4727e43a.0","license":"MIT","_id":"@material/dom@5.0.0-canary.b4727e43a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"865abf64e72b5a05bf7108a399d8cd03dc27ab0f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.b4727e43a.0.tgz","fileCount":23,"integrity":"sha512-RFsXPdsoGSf1xoJK8NzOUlqCjcfyYxsgBrWvPB6IjZMDvblDNWf9L+nzThD1oNZuV3OpyCfrOUvN8xXydMwBPQ==","signatures":[{"sig":"MEUCIQDibVstpZhGbP1LLtOkqTPVIoqBqMF9fO3ANlVy+E+o4QIgZvkj7yEZwMkZN7ckoBNhazToj/jlV6LLiNQmz4YgBbE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePcCHCRA9TVsSAnZWagAA3j0QAJ8CKptIpCDcu8Ccb+eN\nnKlapEAFZkWSdZwkzHcROTohRrNQpr5y7iNQwBf4iHBnNRSk4aEkGOo+SL47\ndlKgSdYtg/Tu5GqkZNyP0KZYwRyh7ckvzHFJqZLfg9ilp5kGeZxGMcue7muV\ngAAtLswlJp16t6UWwosmplyXu1ftpfNXxXVHs6FvPscn/7S2z8SleD3Ys1g7\nRvuAyMQLTtMUXfnDyHTFy7Jr+kBP6WpsJBgyxZQ2i/VoPf9Xbtx5+/WR+Vt2\nKVgWE8oj+tam5wvZ69xzmrGv/7qGeSUt36eHZAtoKIazk2KRXlygo9JoKnqr\ntvJ3oetPfLG9euFtkzEq+KKyUCmZfCbcmug8a9lcaosZzi3gS5/kMcCFohf4\nKhS/E/eoZhIL2yF0YfIzsHVz4Gmp60kNFZO/puVwbqt+XhJ452oV+e8+7Ncy\ntpo6bdbKIpz+Q3I6uvg7nahiL6JL5lE/Cfb0O6b2hTMx3OHucyVo5PIJjI5c\nkzxXae7KoySdE7RGKBKHpDXXvLdww1zOnw47Er55LirSrIMIwPli9Ty5WD5C\ndwybeFdBeZqIab1dTS0QV7MeZHkV5Xl+5BDJbkmCDxrW7OF9MVTx98mBSwEf\nMMIZUSzq3u6Jveh7Ez1y9jPvncMe/VhNy6i7U+F7vVNmNfSbAcVwE/nBbFHO\n7RDu\r\n=uVyX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"140a0d7a10f30d8ce4b10dfbe40bc63136e206bc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.b4727e43a.0_1581105286552_0.00202879300956349","host":"s3://npm-registry-packages"}},"5.0.0-canary.91d9d5a65.0":{"name":"@material/dom","version":"5.0.0-canary.91d9d5a65.0","license":"MIT","_id":"@material/dom@5.0.0-canary.91d9d5a65.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6ee6bd122e74ab3e312d3fd94c6185f3b79a10e5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.91d9d5a65.0.tgz","fileCount":23,"integrity":"sha512-0LKZGes3544xPMhc2QBcfdH9+D2jFuwwQeNakeu1aGaqCIcM5MFjYaTeAwl6KJrYVLtFo3zIT+Mtpf4LYgO3Qw==","signatures":[{"sig":"MEUCIQDP9GkywzFKcBLDnU/rkHJmMDu0ceQ3uoDTdOlyvSCMGgIgKrE2RryUQvgI96djVZuagHIrci9EzuRHtXpplXlPeMU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePeuKCRA9TVsSAnZWagAASpcP/1EPi1yp4nbEJd6mkBy4\n8sp3r9h6jiUYVAGWqef3G/WpqH7vRWzQFdTrfeI9WdqngdSx+hTtGZUeJgy7\nvpbbRx8owCoZAYa8YwR/IUBNH6ZzgNmAhkul65yZPb49wboA/xROAo4hky6Y\ngF9LS3ofb2xCgg6Zi9UcOOYKXz3DqFrl+qZqnm0Trg2Porx4tlvjl7h5uvIe\nw0QpLqydF2qaGOyYemcfDUJ1TBviuqcKVqSYTZJDCN9BtnNqXnDEJ4jOJBFz\nd0WIl7QikInC4bhXJuTg1TzSV4bv7JjYcfcHLfyIyufOhAL0VPjfYDbc2aU6\nCmyJaOzWQGkYP6IW2fvTV95vcYyZO4H+YdtRty6g59OBu+5CRfOpblm8eseK\nglj8IcD4BM4Jj9aszKO0kvElznGSMc9N2NimGGzLJy3dmeDQt87BSN+qYLPN\nBZ04hJzS29jFxceuWB4IaZLQSTpcwkthWAh99HTwXr12NT1NGcD1E0Tt0Hxc\ngucmSFk9PCboTLoRk8Nsl6g5ttuHiOuTl2b/28i6NDxE8i3dOykKuh1+XQnY\nUeeUU8xJl3yvaYAGCn0U7bZPVhGe2MpFPIjSND1B6C88R/NG3h19PicrCJ1K\nCqFGTI3YxF4MfaEr9Fym9DlrBxqh1TFma/9Cg+DgFcYaum58wF9peVXiD3tn\npNw1\r\n=87Ym\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"f98276c6136d4bd38889e0b4d6354081a3ca941c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.91d9d5a65.0_1581116298477_0.5964740810502847","host":"s3://npm-registry-packages"}},"5.0.0-canary.d5c006ed1.0":{"name":"@material/dom","version":"5.0.0-canary.d5c006ed1.0","license":"MIT","_id":"@material/dom@5.0.0-canary.d5c006ed1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6754cdaa4811f3562914e2968f7a595e26c951b3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.d5c006ed1.0.tgz","fileCount":23,"integrity":"sha512-+boD0jXomR5pn/YwkIGhhlgsv12mIL5EcEpINxwf5SCLDTHOamOb3HjvH4MPZnn+pdkutJk/G4P2XPbXH41ARg==","signatures":[{"sig":"MEUCIH9ANFWgmDXjZPcebiW3svY9EG4Gwtiq6Hi7vbA6hexrAiEAozCmVlW/IPWWBDhkTY3fDB8s1ZlSPEJxejR4zTU7/6g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQYkrCRA9TVsSAnZWagAAvlUQAJLBt3WJC4AY2h3eFFWn\nswBHd0Y5HnzFttRKM252V9glPFAiVzZRcMSJbYn4UcuZUZ6J6WXaFJS1NxKd\ny+z9EEyUdzS+F8XmjcmXu53hdWkqKpPxxL/0JvBZSkr+4rU9IS2PZZ/G58Vz\nQv/eeGQtDfSVAFxOcsctuDM+iRJFpH9W9GO3rKYoQ1gZtP0w/HJrEaO9MOIO\n8lXTwMowZsNxWOMb+UtNwu07LWVyYN+GDZeK1PwjSlnaIU6RMLyeU43TwqcQ\nJKtOznVVn7geOKsD6ZQwaxCGfh+Ca39sLAvQ5kpvijata3wcuxyr+xW4Rb0+\nDzmxFy0HBOklEAvi3j5pMV+ilMeicsPUakjf9KiLiS8gp3T5eWh2lwGTS3VH\n1Zlzh9yMpG/4Fu8/h8J75bep/RO6iiiJ8n/m0WtxYq3iMOX2KCicfw5fwyCa\ngCdaLOX2f4Qij1D3Uwj5Cf541wFa6vDv6Ey+Bc5AjQLnH0sAiGXqruCUi1aX\nqRRuKXXwHPnlL5/tU2a8W9c3FfYmY63SitnNHJHFuH7WAMs09hq2JUZDetaS\nGshdlr5WHCDbj9S5TqRAOx5gFNvnU1dtn+91YhQc8icwJ6nfJpHJjVVf8iOo\n7LibEzmDGZLOFlDZuml9cSSBwIplf9w7E7XbhemZT42KAQdeTM+OLSVKJ0XW\n068b\r\n=a3B3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"fe50932259fd2af2b34c60968682a0b94f7fed66","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.d5c006ed1.0_1581353258956_0.2802982215082124","host":"s3://npm-registry-packages"}},"5.0.0-canary.559f1a570.0":{"name":"@material/dom","version":"5.0.0-canary.559f1a570.0","license":"MIT","_id":"@material/dom@5.0.0-canary.559f1a570.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ee056ebb19ceede3a17017d70a37947c5af37b02","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.559f1a570.0.tgz","fileCount":23,"integrity":"sha512-eT+Qa0TQP26aJSjvwgsgPCyiWZArfY7xNXexCtDY/zjjvJKb0eYpIb5pArI+w3qiIgRXKrOehfatXGSqUpADbQ==","signatures":[{"sig":"MEQCIHATa1JeNwnCSa8msMdfuaR3fAuj+X8ARXxrSdQh+77WAiAmsitr2fmoTw9oVqfeFl4bkz9Oeo1hpvbI/+6O52eAkg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQZGuCRA9TVsSAnZWagAAHR8QAJqlIjXFIuq3Oe/XH+lp\nP0GvgG8NOxdjzjUxPDdaLYziX4+9XHDSqPmjF3+ccBwYs26CWp9pje2SnQnF\nxtmjVCkSw2hSiCkLGTBfNrN7ta4contI6UxDYqRewwZ3meFMGwu2Ia3cB2vD\na84ehrPskALKQGKD0w2OES+0gqQhUyxpfNf2dRVyuyBLTTG0c7JANHQop+tB\nv9mC9e3i6Kp5hP65+3QG6sY6mW+Nm9nkq0jynEDsHOhX1Aqc1br4ycvVz/p7\nJuV1Z4gBXKGo2Iu5h0qeY+VpyoaXexYaz2uFLc2pXtGXwuEKYOmYIdDMWGOT\npuQP5G2jbmVCvu4i/ubouHALiLv5+UWd6kRdkvsnpk30YbgIaAdhYM3AFnlB\nOnfpaY6efb0UfF3m8TOVLmcq2mVFXULkvBLfnlvKds/8AUcDxjfDDPYdFxFh\ntxRsbKiMefoKtDYGGwwGUcNDnyKEEJoWd6hG1Mzg/yGiqF+hPOUgylJmIt6k\ngIs4SQLWiJlbfiaBSz6tQpu9bZ8RooEz+QhNB9MZ33EggR5aSQo5Rp4hz6PG\nMcuiX4Q/vfRTBhr4o0hn87j8bHpIPOrwiAqtNTJHAfgEEcYWALBQ4JbuByaU\np/l/6kBDXFLBo6q9P0CAXun0E54oJWbukd2RYfWIQ/4CSsRauoo9YSZoi04x\n2kzH\r\n=ojd9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"a4adc0cb689de4e266e65d90d614fbe1177aa5f1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.559f1a570.0_1581355438046_0.2676726787263388","host":"s3://npm-registry-packages"}},"5.0.0-canary.ad3bbf782.0":{"name":"@material/dom","version":"5.0.0-canary.ad3bbf782.0","license":"MIT","_id":"@material/dom@5.0.0-canary.ad3bbf782.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"12500f803a17cfc9de9082e42482494f5885d70f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.ad3bbf782.0.tgz","fileCount":23,"integrity":"sha512-MP+umHjXJ4tiI6ogUE3o6EltYa27+gvRCwGWRIrP5+QykqxHm+hcXtfQAP34zHJFbSfTVt6RRmKtS/H7jRo1Fg==","signatures":[{"sig":"MEUCIQDXCYlC0jcIAoToWvMpz/JKgytuN+Yp3/N7VKw5jhLa8QIgBJkyA2N85DGkfaFJbImdIu2IwmzftSyWsjRrvOo7Upg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQaq0CRA9TVsSAnZWagAA+AEQAKIPERJR0UnDpoJkcZ1i\nADYIq/DHmTCKbOMCvUDRGL6GRY9capmCYA0ckmF4mkwVZXVtO+ujzlOrejOi\nyADOYQiYhY/MBttAu7hjPWsR4LtqHPqL8fYRml6PtTX+Abcv4S50l48pq4z6\n9FCT7oIhVAjC3qDxAu/7MeuQixDu+2AIBPTlZ+8oEymYyxOsPNh4UQOd+zZk\nhObcYcQ+pRf8zfbanPBxxuHGb+jynisU9QhmtmwlHdr87H+OI4vXWuUfZB1T\nr/cw6PVgkAmqgJ2GhB4kb07ca1YU0fxwDuq9IQQ4xMgrVWy/a3nRqD2+rR4J\nGhVS+bFq1xbLQv9XZ0LviXUr0N87+WYF7i6btVparZIqHzbbpt5910mL3BPs\nk7Q2fovUuweqJWhul6QY2qCpKjFDjOUUapE+HvWj+TcFl1bjE+zaKvN3/HrX\nRyjJ/Zme7emgfjed+UnjqOpOh+SaRY0CmhQPGp5uR62DyUGOSbC0jshHC0Dt\nGQkLVFi/sKSR+fVjJ3wWQX2F2BdiIzVf4QXG2JscegX71H+yebAjYCaTqRUo\nzhhhHexzrylfKSMiFSuOU72aEZP2zyKy66q1OUXERzuQEwNV3KkxHVOdu7Gx\n/pcCXJbrq7uuXEn5WxlmgjAb8fK3OKWZh0UvkrGzS0BzQJDZTiYeqSh6uFnZ\nc9ar\r\n=/qQR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"48e565307134ef2e860fdfd1a8ce59613a783ba7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.ad3bbf782.0_1581361844337_0.32113743209407386","host":"s3://npm-registry-packages"}},"5.0.0-canary.570d8e49c.0":{"name":"@material/dom","version":"5.0.0-canary.570d8e49c.0","license":"MIT","_id":"@material/dom@5.0.0-canary.570d8e49c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3359cae9bfb32386b2bf23a3f900ac0a47586d1a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.570d8e49c.0.tgz","fileCount":23,"integrity":"sha512-Nx9kdhoQIzAuQt6j8hYsCTeryIHHvh9lWdzUTgjuAW7vRpN2xevOZiK4YPQDq81jCF79fWAU8/W9+m0+EETdyw==","signatures":[{"sig":"MEUCIB/4CL7KDTI6paIHiE7T25TyO7kGYLhZIzZ6e3lCl7RLAiEA1qTA6um4z4rBuiFqXW3FvTsYRdYn7KpvJmfy+qn41QY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQcA7CRA9TVsSAnZWagAAWtkQAI3flX4d2jSZRrR888hy\nDtcv3N2jj2Y1V4hF/9xo+WCeWNMDeYNBwGbcIx/SeFfThveZSAdNryTylLdZ\n6w0+t32gxJMgRuw/TxAzM9GUNN/nYkPuQm9TEJt1spppf3LIQVXMLIVom6uw\ncv9W0Bv8whKpClC6QqblavU6X2OJ+NbaTC8C9DHWob8+f8Ne5El5lQT6ea4M\n6ZhIgueT69OPw65Ss1P+iiwXPhOI0ksrY2EWWMHXCgEALOvuA0cwVKXob9gB\nuUit4UMcH01JbWf06iGSsnsTQNIVBS7S9E6JJ5pmmBPFOOG3ZgVqBTn7GDiJ\nCALej4rbm8mOlf0lsp1MQ+4ICf0MOlFl5pUFUvbdy5QhEfDcMm1zZ1wKm/Fq\n8oFa3zqmf8fXrn9tJOXbpWp7TfRFwO5CbbR0MsyjPUSwobIExJ917aymjW4Y\nFxgneGM1niDuIjq1G3jebWO47uXKHgyg0+oZiOTqcEBjm7DRUtAIg0BK7UQf\nye98r9a34rgNV+xRJMYVLHcNMFWtqMGGPdTak/Q7I5fOm6YkpQlk8J2QC2QZ\nJuVAo7xVze0orJ4Wble2olyshfhzbf1KtYEboZ9wXKH1rz5lzI9Y+BucHBsG\naQ/+cPQG03DfI5xvei+nNsgV95mI6KuwPnaFUV7l/ih/+ajM/vv9a7h9b1ph\nQ7B6\r\n=8bGb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"b6857e33db49c411cf5f55873a45f72841824fb7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.570d8e49c.0_1581367354887_0.1934700917366481","host":"s3://npm-registry-packages"}},"5.0.0-canary.48b06b89a.0":{"name":"@material/dom","version":"5.0.0-canary.48b06b89a.0","license":"MIT","_id":"@material/dom@5.0.0-canary.48b06b89a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ed54c13c12425354d0d9fd468a856bff765c9889","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.48b06b89a.0.tgz","fileCount":23,"integrity":"sha512-sIQjw4Ku9cwmTaaAeNA6pu/w1M3+8HeQRPTtHzo9gXOzWpGxXwj9zdZjWKRWWhNt4teDL6axTIw3skwGVIabsw==","signatures":[{"sig":"MEUCIDOPNerTXrjbEUCJReMh6S/NO3TYSpQIi8PYCw9W56jpAiEAgi/rPSjjbU9fX5wIOzGkylekCKyVSRULizbzs8CrbuQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQvWQCRA9TVsSAnZWagAATyoQAKCPTNgQFYVuPQvUqT8A\n77UVYY/mklGyXgkDNxHlfKrtYXSAZAMYF1HZPdPBjYTIli7ecu/+NljM1tUE\nUJxByreXsaWBAHY4T8L9KK7xPqxMxgadGWiIzpooNdBGXRVLLTMK16ZX1umI\nVGqq4UuDbDuW1WEW7jGUyE/Z+EjqsUyaIAr/51LeedxoiUQaUOWHRxBR81D0\nVTbD4/zfP7kAwDGjH5elCAne4xJJw4GRVJuTjTGEZ7ws8mbi0FiXbmumUNTw\nvKiqLwao2x28YtthRbLivNmwT1lf3h1Q0RCCdDpsxIRimNoDiR3u1UZwmJ5M\nZHlDtbmdy7FCtXT+5XKlU0tQ/XdjR+lsB40YWGlc/DZG7uaH4a+TmPs+o3FL\n+s/bmXL7NJkAsUqtsvW3VGxtvYwYCf+vQD/qn1yAbgKAsPIYrjbpXG8Mf+IL\nVYtFDe1HvVDcNiG2TnxNXg5JkbRg5j7ZZI1uBQKjowUiKjFw0fIhZOuUuDci\nO53rhWdIW9rkGQANnWQlMADgXhIiZqTG9N4uAe0546fptq63fWQq5NXw8bnJ\nqsmUOqlOOfGMaAOa9s3bU22c0t+/G+lAh6b2J+7JiSo8dJwYC8FUGDgkT0RO\nDsD1NFdVxpDykg2UUL7fwPnQWL/VxKZgsq6p3O97YVYV3mT3OIPrGn/dXTd1\nMu7d\r\n=KhHS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"540a576f2286061b02bebceda7cbf10554255781","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.48b06b89a.0_1581446543799_0.9557842458406469","host":"s3://npm-registry-packages"}},"5.0.0-canary.612443dfb.0":{"name":"@material/dom","version":"5.0.0-canary.612443dfb.0","license":"MIT","_id":"@material/dom@5.0.0-canary.612443dfb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"093eb848d5d397df3c9420ff9570c280f616bfe9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.612443dfb.0.tgz","fileCount":23,"integrity":"sha512-+wLrJhvDK10JW54z6cWA9mrjz3ifoBY+wZ9KhWKYlxoWsU/Xl8QRbapiJQ+45cTudIqPdRc2sUlFAuyozZC9dQ==","signatures":[{"sig":"MEUCIDwp0YlBmSzUQOXHkR8MLN838Sk7uF7BfT6QI1f0XE0eAiEAmI58cElyqILREvDMkpZAT0l4erDmFuoJcVolJwEpSMc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQwTxCRA9TVsSAnZWagAAgC0P/A1b4hTkpiapnGAJGnbB\n1eGVu5WgxjCm+mQB1NoYppq440BOIu+SCuJAZXi4/IxIKzalq848E5pD3KLZ\nZENynA50mi57T/nipslcvYBJ6B6Pg4nM6cErGGx2UJOmcKJvn6m4C9ElZdUn\nbvigsZqIaAxASbdTROHWT3GXpX5zGASpllx42f+HDg9krwOBhnkSwoWXLxt0\nE+N3W9lLG7OTRVTCd5ELlZjHjwrdl5bnDymNM1dYnADH4NhlKWiNoYjZEJOA\nzJOF3wgEZ/icdHyWUqdxBINTn9GMqz57ukwDnWZdWksK/xKnTkZvOiDjpjdx\nOaX1/Emeavma+ks1fJILohILEMU1x4ZtUAbDg5wJRk6agK6a2N03NMi4RJxs\nnH2Rihs22EwpybQ+WtcPTuzXTvk86EK4YOGx66dJLMxPk/9FzBJbbbvFtpH0\nxdnF/TC/sjnIp7Jpn6mErNtIPc7MdnrcdN3+1OpQzdDgJ+drpZrVY3x9BNLM\nvLbT7bQOisYggEaOo37CIvXTuLKi7tkWxi7gs9fqYykaFn5TsolmX2DsZia7\nmvv9s6fAhbpMUwTqAUOboRxJtw9nr8ll1eHJXXPMjjVjNm2/NN95heKKVfAi\nidqeMoluRMmC4eXVLcTq247OIFoT/LK5mWhdT+1m0xw69GZuAvYjrmxYR5Dj\n2B3Y\r\n=8DdD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"622585006b9702fc93bdf0ae416f6c58e398243a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.612443dfb.0_1581450481243_0.10085982853581732","host":"s3://npm-registry-packages"}},"5.0.0-canary.8c11ea2a3.0":{"name":"@material/dom","version":"5.0.0-canary.8c11ea2a3.0","license":"MIT","_id":"@material/dom@5.0.0-canary.8c11ea2a3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f2ba5ee8bd6271d44e4637429817a61f49720daf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.8c11ea2a3.0.tgz","fileCount":23,"integrity":"sha512-aYCNCMJI2o02Uz+q2tq0L7ErzzMfriwESSuqdmJzywssUQtllra+DTUveopUAZNTo9h3rkj01nz74Nn7WYHeHw==","signatures":[{"sig":"MEYCIQD5YdDZjC8/e3YmLUIeYf7zl0jL8+Jhywi3aYhE6tfdJAIhAIOKGhwmB6AlFp5ZqsFxQYdv22cKGVinBWGmw1Ninm0z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQ7xkCRA9TVsSAnZWagAA/TQP/RiOA8vBbb9YmtKuX3Y0\n9LnGim50KBnm49fAOr8L2DsYpdnoUR1K2dTQLrnVN0GZVPN7VssmjoGYwg0P\nrkBf6QQWyNg0LNnIlWexY4UBUrKY72EdrXarjyeiQCe+Vdr7jUpozmivu70p\n1irOzwQ/k+PfqDwOJGz1dSYkMEMYQ190bxsU4nbRUEjEVpVoWdA28Tk5DtDF\ndrb6v7kkTFNqsdZ4++l6E06rjkSEJD3ALT/v8OkXNrdHYHtwRcCIeqbG/fKC\n6V7wGY2tOycucHr1PxOSUNRN0DXb35PTlzSd7NMKcEuGz068JLX7ER8d5ot9\nEu1u7Il9BgAE6WqaY8wWiyPd0mx4OVnPg9lhRSTMaSUL41Vuf6lNiLoQJsGI\nNClBuNglNlflYyLxlgUb6uUakdMCzEuQfYlVGLtfoXSQVzCpC//Gf4xfIam/\n1E6CgxWFowMCOjNptUVCqiXR3i/fbanJyG+TjsxMxghth+KUcFt6Q/rF+X48\nhBYjs/BiQTHmP8JmvRRjVeum811W8dNehlzFjT2REwDAZkhW3gX3PQogIaoh\nLzCR2JCzPWZLGPxl+NhrKcysYolR62nR2CASiP3azpK18mfA97AZzJh5Sce7\nCB7l6eVXiwyuN3bFaPNjyYEiW0//MdXPkYJX1K/LXy1goBTHMONIr6yMRFIy\ntigK\r\n=ky49\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"47068a39cd18bd1e384c83a2ca5c3d53ef8bbbb6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.8c11ea2a3.0_1581497444354_0.5088963725976223","host":"s3://npm-registry-packages"}},"5.0.0-canary.b2f3d311e.0":{"name":"@material/dom","version":"5.0.0-canary.b2f3d311e.0","license":"MIT","_id":"@material/dom@5.0.0-canary.b2f3d311e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"edbce090710156b242265c9ea86d53e756e635c4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.b2f3d311e.0.tgz","fileCount":23,"integrity":"sha512-66Ia6Ht7dpCngbEXdrkfLwXxWyUyWer7ikCDl3JWqkT77wBzREEuI0i0yLqAcApOTbX4KKDKhy6Cp42luvjeLQ==","signatures":[{"sig":"MEUCICqOPrtMI5xzv+jTD78UxJCNsGkgq3hYsO6l5YSJKnb3AiEAmHi2s5tkeskwPNeyGD/FCRCoF/mAfJDgylTqO/XlSRE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRcLfCRA9TVsSAnZWagAA9LUP+gLGFp9piOEyD0TTfuiP\n6nIOfxpD1QGvN0/s9uhFKZBLVnBdw5yY3j1PjD7MnuLVWpBr3SAsJzSoi45Q\ndxatebF4XoonzenpMmKPUIz4OIEsS4MWfhowGv6KraZqekW7CkFDbQTOrIC3\nO/RqCP5zbMtx785T6Wmk/Ay3zxL8mMyUGqafc+pAs0ho5bwHkJz1tlBvuh+6\nWu0jqmR10eL+HDcJhiDTcFtYeAGMbbjXirmrXa1S67gSTpj6TzXmdreTgFda\nMyzH5RMP/fszaM2L3n9lpCsPzKYNBYCkTE65YoQ7RAh70YObKeTt1EF1htOL\nHTEs93UeW9PHrV7s542RjCTrCLBG1q2WrH0Cqw6/L9zBJuEQRIywnw6BYM+Z\nqU6apND/mh9OBMwS2zk5MaHm7Qwt7zGmn5f4gcPnM4v2LKvoITFd44gR9AE5\n8SQoocJQ9pqHE9/lw+iwMzYzk9nuEX3CL/Nl/JsjmuROn596A9kV6OiG8c58\nxWs10yNjcm/J+wNNuiHfAK7b7q9SAj3RDDaHcTxn6rdE5fIUQY8zHZYydXsP\nrYo3xkHCSsMeZV5GvScuad3qo0oq/BMqiNeE+SEqs3bZO971gJwxSP4QsdIg\nvZEoTea9kSY+TC5sF6cFhO5Dxl9lZe7ISCLNQZXnfL4V0hQf5eyaX6uf/jyE\npbHU\r\n=/+ru\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"e8b88d39be927e40deb73ae78a049ece8c80b9cc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.b2f3d311e.0_1581630175279_0.13713588787771158","host":"s3://npm-registry-packages"}},"5.0.0-canary.4f488d0ee.0":{"name":"@material/dom","version":"5.0.0-canary.4f488d0ee.0","license":"MIT","_id":"@material/dom@5.0.0-canary.4f488d0ee.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c6871012cdb585fe835c66b3725e676b8450e84f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0-canary.4f488d0ee.0.tgz","fileCount":23,"integrity":"sha512-62e5oTUFjMq0r3e+lMKMNNLbCvtVxKNAs7cyyqlfQTe3gsblhHeD4cxO19Fxn6/FLhFzzIwGUXSVRu32SAGJPg==","signatures":[{"sig":"MEUCIFsxMycYoLMuCDfAS6DEIjvmQwY2uckObABA9Rg0jMi2AiEAt4ydPgZYu5jju89CAk1jXb1IzmopcTiklLWvOGWKwMQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRdY3CRA9TVsSAnZWagAACgkP+gN8uzFtcQB+WrDSdSYE\ni/CifNdF+jpS5PdnrbosjK7BrcF/gW6omxD0zn6icqd75oi4Be/mG07liJ0A\nLAe52mjPttIRp1239gwRKUDktR8Z1ZZDgsXXT4HGnAUeQVLlThGkDezJ32dX\nFtPtCdIR1qOROR0y93n0qCQDODpPE/TnpLkN9c1F3zNzbXIzp0LguIY+fg1B\nogixEXNwmlGvT2q65Vxx7TTbXQEzOeqrS14c/nuoNB0tYql8H/Q5tgAkh/wo\n9FV7KUlyEeoC3UIKU8+oLDLD/CLZNsGJuqFQzzHMMBFy1Cvkv+EOTRnCF2Pw\n4Ty0v58Ai4qKt/PntLOCDfR/1MPBSr5Ba4amaojk0uvIiADjYCRaQHaE8tyX\nFom0cOdxRBXpJdK3lMrK1M2hU5IaQ3mpI83OdJCggVIPnHbIMlp69t7n/1m8\nyHB9Ff0/TXlklhb6AlP47ZeieTJDhkj5vHPgkeOPbowz3uzsdlPGQLGj4Qrp\nTRtPzACNQ5qxOqb2yb6A9oErK+UIF6mTEIaK85I2QchRddHhKP8wq1+Vb288\neSCcCuVI5ue5tFRtsqkj5c9EIb/y3zrBLGWmAXikL3BHQISUiZkDcDKD2AJH\nlJrrfvPOw17XkKTmF8rhQVGBoM1Isp8nRwuhA4YfdZlXKJ7AtAmVUysOeB6g\nn7mh\r\n=R4G0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"e3b2ff94a1a6e30260b88a9da6e55d6ed122c399","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0-canary.4f488d0ee.0_1581635125016_0.5230113803433951","host":"s3://npm-registry-packages"}},"6.0.0-canary.fe79de07d.0":{"name":"@material/dom","version":"6.0.0-canary.fe79de07d.0","license":"MIT","_id":"@material/dom@6.0.0-canary.fe79de07d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cf17a06b44140a692ea95034af36c5c33c4515dd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.fe79de07d.0.tgz","fileCount":23,"integrity":"sha512-T69Ff/gsJW4gW8hlK3tMKQ7rNu96HhxQcOmh6gY8JaxSdcNyNeZrEs6tfs5s10tXoIZQCTUqHrfK56lvapecIA==","signatures":[{"sig":"MEYCIQCXeYLBUvWYPPWyYJYpgYQxu9MQJxhjMOjhuvUTYnm4AwIhAOvKuEFqTV5OxP/RexWABed5St17vpaZp4aC4Jet+ES5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRdo+CRA9TVsSAnZWagAADb0P/1TsiMWEPdWTV555pyMj\nbyOiVocbB+48Tx6XulayaX2Vn44sou8UGvWb0ye6ESJV7H8QRERXJRh8+hlX\ns0omOws79B8ZC7s7EOMY9tPfKtKbbkQ0fccsuO1nRSS6SpwTgCooxpkWKLea\ne9CFkMamGQwG1j8p2chCziiqzx5ZGncM0RHqc111awh16nVhbhGnm+z5JX1V\na3KcmLkTwUeQ20U+vmkgwX74I8YDPwz/Vj0ulVkgSaFiwcjXHDN+utHPJHUf\nsECsgfV+sWlaQ1UjgmS2CdLmqzL34rugrM3Qz2uRG3hIg4Zpg5MOf2XF8DYd\nW2vtoU7BgxNNEi4mRWcLXlDV8Qk3uXnPttVMB8cEMWcVBhlDWQcDXbSOf3nH\nVhpmGPmyZTbFrr5TsfS9ANUTJQVTjsuF0NVwvnzY/WsITd7Z6qnxUnGe/XXn\nKjPzS0oe+pn6oN38IIRD1WK4G0/TqS+c7QQcZ9k9evQJL01XqRCRq9nw0X1M\n5JjBcCaDp+8kr1d5KQLkRqL8Ytc+BKG3SqcDL1OCgSLmSh3ZHwHXaQISTbxE\n8BahWFBT+N6i8W2jGUUgf/QI7qYhA6bNlPD4ykyDrNJY+yiFtl/gZl/Ly1KQ\nv1I3imrK/wTzyMDqSxiSkxFs/tSS8Jdxo7li8jUubr4mg7sxfxBNpmf6utSv\ng/Y0\r\n=nV6A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"e2b4b3810f62a16846d719ee7439bcbbac266d30","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.fe79de07d.0_1581636157617_0.8804389252040579","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"@material/dom","version":"5.0.0","license":"MIT","_id":"@material/dom@5.0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"966f7b9d8fd2c7fc176452bb355ce41f81444797","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.0.0.tgz","fileCount":22,"integrity":"sha512-Mhpt3Ib5l5pYEUjmKQ/sXIcdVdJPhM+uhcqbXha4UgXmD+qc/GrmnDE9GDTQq/WJ3nBjs9O4nIFuqwQTmUQjmQ==","signatures":[{"sig":"MEUCIGcR9u+eiuDiUaGVN7BB0/2UPweeLxkDJi47ow3Y6xs3AiEAlAfIOAS2xrOvBvSqMIouDSjXy9mh8CjgJQGuzKPqZ4M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83444,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeReTtCRA9TVsSAnZWagAAg9cP/ibJN1Uvoms3M2Ei9dpY\nkXbrjHAwM1J9EkTix5Yfd7TsDq1WwTUt5vHEAGVZvFRsgnXgD0POb/a9q91k\nxevujWDWcqTbcY/LtmgNUBHqIVUB9/Em7NvQ156sVsnk9iYmLzPkewDcq6o3\nUogveeCgknQuRrvd2mWM9VY8ze98gc8imwCuEYjkPTgu7qwSY5vGpB6Qqwd7\nEuX1jWe1sGhk3gP6f1XEsiTVPvlieD+q04vFTu00SSFc7w6dOaP6RCaXgl0o\n65f/pSpuWsaHqakMkyRhC0kOHYSHqDMaBD2vbY2/NwOQvpeyYyx8gu7pQMZS\n2N67EuIBquyhEI4/enOo9a/H8q4PAM+91HQEqnQsxfKGYkSG6OkaXclGrKHy\nO+S7eGzxz/txfTz3L0hZg6aHXOMlk87C5FkCUGtn9Sqv731U8ISPLbiIssXx\npsOO3SDbT2ifGuvNI4gwg7gcK7F5jnPl/m6OatC54ra+iT+/DAyDS6tL7Eyn\nuFqANhjqqZl2GcsGuw9ujVzLTywuTsROytj23DrSLWjrnvdegJAqlLjzVGGb\ntIFkAr40VFW3XbOGz4KUQOtpa0HT+yGW4JsFheJhtD/RymDrmmdts+jVjkzy\nFU/HL+TNKYTL0p5qWC8MnVSaZMkujjRJDDERW5my7lx8nI4SWicZTxk9jjVk\naiUX\r\n=VV4l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","gitHead":"47845087df2f88107786b4577b1be4422b14404d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_5.0.0_1581638893156_0.19595338424679087","host":"s3://npm-registry-packages"}},"6.0.0-canary.5e313b1f2.0":{"name":"@material/dom","version":"6.0.0-canary.5e313b1f2.0","license":"MIT","_id":"@material/dom@6.0.0-canary.5e313b1f2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7c668a13b27845069a9c2da04c41228af4a5b4c4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.5e313b1f2.0.tgz","fileCount":23,"integrity":"sha512-jRRxfl6CDQRTgMzojt9dU5OuKtWuoPMPjClD2GqW3kXcCJIVKv2L9GevdUzvDyRs6+0xvHq8UscqjtzahmKU1w==","signatures":[{"sig":"MEUCIAe2rTMBCtcMghf0giLPn6Sk5JS4qsh8azFRJArjhFCsAiEAgPPsPItaNnGz3H4cOhPcH1iWilVIa9scS4j0zZSA/ws=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRzGFCRA9TVsSAnZWagAA6FMP/3HfCHOJBaDZ8kTrES1e\nOI3NGtn9IDRyVuI2T3YhBUaDsbapTdiR1z7giE+6ln4Y0TJiFR39vcO7+HMG\niSKSbKP0s+amBLuDA60dTDf71tj0ls9x+OlCoQNh/cynGpILXIY88NuEUycQ\njUmUAN+Ntt+fKAAqzMinJOWPtgm37HVUUp5IFFl52jGTp6tT0e1sunxy/dJH\n5JBouwoOcDQ5i/Ot4nQbPjsMqik792wlFF/ByLeMMbXt3V2MbQEuH1RE4uYN\ntjokLosQclvzytb3wUJnMqNQUxTZokta9FB+W7O8oKxkpRsx6Mrm2blX7fPc\ndNbEBFKQeAwPMnAE5D869+eALfDqblOuN5FzL9KIwbgEIUaNhwe82n1vK/Jk\n+W6WWR4VFa2Q4bn50PI9wx67lECL2vJM15I+wwTb1FpgMAGXe0aqIgOfu3Hw\nniH9VTg9EmoKissprxQ6svHnS3okSPJy/qP/gHysqIhLuuvJIcY+3t6Qxn3P\n+W/3YRq2HshqGM4jJCCFeoTmXyezgsFHuXKfOrXDG3kKwfzyQc0Pxgw+9w/6\ng6VADoFaOdaMPe99R96gdPEJgMMX3Ndf58olmYNZCb3gRp7Ay+vLkr2UQ6YO\nj3sb+FGOpGByAN0eUQlwRX+3EDp2Hq6foO3MoAhRriUoms8uM7XP5lIN1tPA\nb1Er\r\n=MSqN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"c7787e7880c79b0baaafb2af1123bbc383025b20","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.5e313b1f2.0_1581724036929_0.16693102815300342","host":"s3://npm-registry-packages"}},"6.0.0-canary.6a56f387c.0":{"name":"@material/dom","version":"6.0.0-canary.6a56f387c.0","license":"MIT","_id":"@material/dom@6.0.0-canary.6a56f387c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"edb5c84227d8e017480a00e5b0576bbee684e1e7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.6a56f387c.0.tgz","fileCount":23,"integrity":"sha512-0KIBCq9o1avVbtUI6UkjQ57rnrpuagUFouhzojnNLXuPnDSapNYKPfLyBzQV8w+mL7SCQK8Ttz8WeQu5grKdag==","signatures":[{"sig":"MEYCIQCteLDH512IELz9Q9rs26r7P7BsYURN9hwHP/3Dq2R1DAIhAK09BdyD5G9iqIzK9y/S362WLHGwkp/Fscw0iXDHdM5I","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTD4wCRA9TVsSAnZWagAA37MP/jW9Pg11wRKtsabts8aK\nK2FBQq2rfQLKOs3pzYIxvZNUcLfJJp7SIO0zlS9zfLQgay3W3PzeAabTAKv7\n7UOWCQ7+fzZ0A4VnHoH3rGbTEJr9sKGsGVXznOHSB3tZ990NQYcI28X2uQ1q\nVT8CLqd07YnXKkpJmwuTgdhWai3h1wKDI5VG5a+HuuLVsiq1H+vMmCc2D8Q1\nlF3Ja6dZFGxotLtyCjIJFRbWFOk1ab1UlrSlWaGD72/UeSEw4gY50DkmFr28\nXnVSgMJxft95peH1L32wRk4R5L0SYV9wufwW9mdkLpuQiQJWeIYl++Jx6osr\n288z69SyQYx7UMojsZDnvbSSqDxyR54m9VHuYzd5itYa26xpJOlumUyWsfTh\n2cr0LcQTJG/FzMySqlrqTI3jPlKLcy3BrQcQ1a5MgnU19rn0MS0Ua1eVN7xC\n045h9tIlA/wbvdKAkvPWw7ROgcwOpKjCD0ua+TPux5/+xLF6Ckj8R2HsMrgc\nM8DpzfQNZZFRCaxeQwwVxhIkq8nqBhxjdOfCpXpLoaJBm1h6TBs2n06WUQ7X\n72Djm4Jym6tJ6z/nDNm6aLRwDjTU6wVcqcjYNFATHhfuDtcsUrOYZaRAjRQx\nzfofSNqRj/Pl5iZ6DURzF+I6o9iCTeo2523wEqkAXOxvWixyPq4ACvBUoN7A\nuWFE\r\n=yQYw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"1e3f916aaa994ac19a65c62b461edb01c08e95d6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.6a56f387c.0_1582054960243_0.8302115858138361","host":"s3://npm-registry-packages"}},"6.0.0-canary.bdfd52632.0":{"name":"@material/dom","version":"6.0.0-canary.bdfd52632.0","license":"MIT","_id":"@material/dom@6.0.0-canary.bdfd52632.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"341324eab6db214410f6d13586019f7c3ddeac6f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.bdfd52632.0.tgz","fileCount":23,"integrity":"sha512-OOds/d2p4e1PHSWRX1tR5ZUCZQY6b3FHrH5UlrOYg3Lx1Fk2RDJizOIj77ciz4g3gjcCD2tQ7Y2mg4sqfSKpzQ==","signatures":[{"sig":"MEUCIDaqKhCxLfPiuUzAZDzNylHNTNkOaA8Twjy4Hz4U4Zq/AiEAgFlSCIxqegPj50JrCkWTDfRCqSaqDqCG+eY4rA8jofI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTZjcCRA9TVsSAnZWagAA4F4P/i9AkucAEIDCakutW0Sa\nelouGSWngDT4NxUOuJHR133M1jFuX1PsVTpln0TkiYOf9GHIw6M5T+eyeOTZ\n6zPGtuki9KivdAf7U64qIf+hRfsHNZnlzmKp3WPZyIXTEiqzNtp1wWv8lKS2\nIdStggFbUqHCfU9txyAXhTSDJCejSroHlA8QSrzN2HnXSqtO9TV5wfX+pNET\n1XBqkI0HQJRGedhjX5UmUrBR5XbS7a6/IfjGApg/kBzhpUhcJGOUFnJD03MZ\ncMrH9w5U9DD3/Pa0phfv2c6d8rIlBEwm0fkdktFp7diZUQvYiy/JUXPlAa5C\nQHEL3TKEF5/kD2B4XOdJJIQ8NhR77gaBKwhnNCHECfYL0bU74qdUxhArai4+\nR+ZHyChRWGCpRfGX7Ayd+tUBpPfHw5Hr6miM0ZQPDUS33X361+epwXH/ggop\nodCjtJZ8M+DSbvrPFMPwAzqx1pCDZ+P+sKuGuyn7R4YTDJ8pfDchw0ajHLKz\nvjAn3zoWGbMoiA3hrFXYqF5ywAJId7IJBp6ES0h6EqO48CrpMxvdt7rx/l7F\n9KCahceE7EsnH1LRAvb7e/T1dgtfNUQqGj+j/CdngNV4TqRyfmH9OERO2N2h\nAP4uYapBEi0uwY/siGXQeIpoeoHfIUQcWd5tmXaLn1EXbuwPsQkC9/3zlGZG\nsv28\r\n=7cJD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"533f28d31ceee3f93d9c7695d4f394323e37af4e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.bdfd52632.0_1582143707472_0.5303389582882807","host":"s3://npm-registry-packages"}},"6.0.0-canary.ad2e4376a.0":{"name":"@material/dom","version":"6.0.0-canary.ad2e4376a.0","license":"MIT","_id":"@material/dom@6.0.0-canary.ad2e4376a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"674b74535a4dfdc4e2b8ac2bea7f51572abcfba6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.ad2e4376a.0.tgz","fileCount":23,"integrity":"sha512-iN+XczleZr9PVTKcq5yv/hYKldzSQw3jF4S8FvqVNJY1kCtPH7hnP54QLv8W0yc4lCabQ3lpC4xaXe4QPV3+MA==","signatures":[{"sig":"MEUCIFpgbYhNv9VzwxKKTkJbHlyyvH2K79KCYRuU5pxZnUAJAiEAqCkxKDDE793BicMkNOzooyTj+Z8mAa+8tTObkvh1RIw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTxMDCRA9TVsSAnZWagAADWMP/3gsIMtadJvizcZ99Evq\nDM/K88AKLYjwEpBc1i+vTDmf+n3xK2ivCIbBZdN/vMITQ25SZltm2bGstg/d\nY1VH8oq+jKPsfh0ldAnHa5njB6Bl2XKeL2RYjN+xqahs1F7OFECGxW9uJ9pm\n8Y4KEO/NKPfohb7CsDoI+LZjaFEI2j8mvPx9IYCCWJs6K5wgu1nyjdJZU6dC\n7bZd9cMC8y9Obhfjh7DxdYasn2FMswvbQve8YDK/4VazQMxZ18lVwVrli1Uc\nQFG5Oy402WI2sPNCBiiCHPX/NIUcuJh802ZfsS8+KdOAMB3MoYdjr2pKrtqr\nZz0Bu8p3d72geJaCpPrHU5WxJmjoJuI6UTKjxIUDcNhKRjQQchGF2MhC2avb\njSzUSO8lKYSJxckwcEOGS0hdUtclOKl+GzDDsENynzIt+oxY34zmdmQ8WHQf\nveb2vw2jU71TbgsjBj5K9ygS1VF+ybkciW/0D0n0og4pbRM+OUj5KPypHMV7\n/i+HkMJYAhnK9ls7GrhpU9z76owPNar1c3IsUnNRnbelVzVvJyE0s6JTLB7D\nN3tiQkVzhRixkMjd02Cky/jzB+7ZckEMLTXqHJGhFKsJeMeLMb6ZbO02mh8x\nLiGFenW25ywi1vsI8x5u9n2vl0VadVj/mCRGWfDgm9NxvLlFlCx2Ze+g49kC\nwQuP\r\n=OPZw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"a91629ff788e0ccd5049a85d588ddf65efe5899d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.ad2e4376a.0_1582240515100_0.884874898613597","host":"s3://npm-registry-packages"}},"6.0.0-canary.765caef18.0":{"name":"@material/dom","version":"6.0.0-canary.765caef18.0","license":"MIT","_id":"@material/dom@6.0.0-canary.765caef18.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2ab2ce546d053978c4e3074c629b62a2745a83ce","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.765caef18.0.tgz","fileCount":23,"integrity":"sha512-TCUzezZoPaXTADGm3aVE/S6D7q69Rdrur+vWQcof7/FEieohziAYk7DA5O2dLpyYI4wzGgTZpPsDuDNbRM05Ig==","signatures":[{"sig":"MEUCIEXpBX4K74Up/1Y7VPECk+O0TUWAoYLBAwOS9DIs2nhGAiEAr39raQIKbQwcGL4TAQrtqPyAKNa9Uh3/+puIYpyct5o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUBQWCRA9TVsSAnZWagAA7QcP/Rr5opx81cjiQ1JfYp8s\nKzjxSQGOCEGU/Rx5tEtFBsBzMVvit9TecbWOoSH9GoWUT1/GYyMYxwG2FKc/\n2lOrwAitzSQnbspGWWhGqhvxx5VWQEI5SWZZJZZA9cVY1x45t3MguZ1DQbWB\nvsBgoF2zm19kddzORaJkZ0VPTdnP40JZuNDh9tEIydewl9AD0cSEp8TI7mFt\nqU5MkNJy597lqDMPSjQtLLU3ZO74paWrgNaD9ZWv13P2QJMOyfhCUcFWvMq9\n9cwWVG0bqEF3IWOX5EEv8u3477vMYjv6T9G31T4gIRl36N9fLGJR6Ma2ZjzZ\nXDUmln9HlmKJcnnXax+zR0fYjp+Y/r/1qrPiSpsVLuxMn4CHbsT/ZXhsgnwC\nRLWYq7YK6gErkJpio2B9vVk1YGdwb/mN9Uyd3r7L/LH0T6q/RIllUeZQqDjq\ngNcJ0tpiNP22oW7AeSyPpm5UUB5Hk2VYV9pTKFvQq/gGgWXA5/6yT07ePjVr\n7tDG5vfPxYOniLKDjEq0GDZ6D6Jx5kMADJ6WXpsGt3SVkM6MZ2mxH5ncJFyl\n77qlvC4eVoz6NVwci3HT7dxoiq6fAGOC5ItvkswhjnIqHokscDSuG1L4SQAO\nMR67DGrJl5ZwPz/5IIq7LWT+rLMasgMSgAXnEcCHSLHRM6P47yt906O86jsT\n/3wj\r\n=itnL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"e18ae69dc972686bd9fa70c34bbdda38c5caaf0a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.765caef18.0_1582306325930_0.5363894404064726","host":"s3://npm-registry-packages"}},"6.0.0-canary.949562303.0":{"name":"@material/dom","version":"6.0.0-canary.949562303.0","license":"MIT","_id":"@material/dom@6.0.0-canary.949562303.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"56844efa8632911b0b315a3592445ea693963709","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.949562303.0.tgz","fileCount":23,"integrity":"sha512-vSOIW8aRtHZtqGFRuIEwValEE1Ds5fydEGsMfvKonuSKfQzDrFVzizSL0mtN+BajtpfsBTStpPlb+V+FHDYlxw==","signatures":[{"sig":"MEYCIQCzy3SGo/2tBaqCu4aSUPu0jUhDTR7ux5D95euoDEs+GwIhAPdBERipLKpgWt2TjeqOd9D8KrXYCDEdxQ4Q36cgVZIV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUD9aCRA9TVsSAnZWagAAm/UP/A3Le0cJk7wj0X+3U5P5\nwBnoxCqi2873cA4tcenu614wShCT227IOhXWSSCK35H9WvVzNnMLDl/zqAqb\nxgAhy2uCVC1uyUcbngLAEHpnt370/HxaA1Yj9bgpEpFT3qXMJA2jYYZeuI/g\nN8iXdTZCh6/4QuTF1w/OC0hvxWQlq2yOtmkObjMwzRhrMzL8PHjEJhwqIzBY\nsGctdjIzbaNSouZMNCDIm+3JkAOYlYvB2vNqgv/nV9L+bHG9wIgnwF/D/5ke\nRiOTBn9qPJ3VCaeMrrvC/RNqq5LzOXXxf4UX+KElQIiujQLkc1iwroeTQp/7\nHItpfBUu7uGQzzrDkFWBBAnxG78YdpEdMLiccwio2x79o5/jn5+G0mfvf4D2\nPvfdrnASe6cPouMcSYpZQlRYoxu+eCYq6modyNkoroul3/sd0sjtgkFyLhrN\nfJJxpcIN5mgTb7DzGKPZ6e6vZrtPmKQUoy0++f6eR//ZBmSb9jRNWzxAM9AW\nvgykm6xxzwwPpChFE5aVxQRF+QAu1Vz/d0aKXvHMJR1NUOCUCN3xY5911yhh\nKBbwSu91L+IsknE2pnbopk8CU+knkD9Hwppams+MKmWJK8ildgtTNf17lQ8z\nCFn89VL6u9FNO2c2NV4mA3Hyy2E2C21lrGUY8R1aWuYWqxqhebZgdY3PUNg3\nFJ23\r\n=IF4B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"b23ce78ac58e49e4a566fa22d5a4001cffa160f9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.949562303.0_1582317401648_0.197742253984442","host":"s3://npm-registry-packages"}},"6.0.0-canary.7ec96974e.0":{"name":"@material/dom","version":"6.0.0-canary.7ec96974e.0","license":"MIT","_id":"@material/dom@6.0.0-canary.7ec96974e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3320a80caaec82a9fab32bc751c5e31924b17b4f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.7ec96974e.0.tgz","fileCount":23,"integrity":"sha512-OFAIFaHV9BEMhzJU8iY3qZ9JgqWguCPlnkQc6KIG1ILdqSulVqkGODxV30W0VPQXAwBgT+J4jjJvBkcZysR21A==","signatures":[{"sig":"MEQCIB6f9avXtX7g0foKWmXAe2H9jQqInd8MMhDKQuSd1HUcAiByyaa1wlfw0LgrJSfoRZCxcPu+YKif5CtmxcsOKZBz7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVByPCRA9TVsSAnZWagAA+XcP/R6+JBXzCQO8IJX74dcr\nbpHt8wS8HWYzqdq1eNwjqIL+YMLXVaEsacEF4CyaO3wwOqCGb/kwokMljheY\nKHUhSQqXEdOyxjigOgb9rMA+zBKrwbyhTP22kot/DpZBzCGKOLPRDSB8ns20\n0z5cvvaMOLWfAxQCAzDOkV6P0LRDEu06uiMZy7JD+KPh4+SM1nFbNsYrsrsf\nzFSsbdpYBWFSTKAeFn+b+HuwydMbzoDxe9A1FeIgDO8HE7qr7RGhoWf81P/y\ntX4KeG9bHAnEFYVXcwZQJ6cgBC5UzvFuhMtTDyz4mYF1H7ad/NuM8lghhRO8\nORE3DVMn6R1ktLKx9SBLKGcwUsU3dCF8n6y6oF1XLqbQvMMp7sTs78Y+dxza\nfAfUbJthcynA4gB8Qyr+kXmiU4iiig1+HkiCHPkmdih6205WiMGqKjD9ipbb\nIFbG9Zuw6eDfmUC+5olp9yRKaZTYen6EIGvDtntxjujAumHuk3NQXNBwQRP8\nO2j/VrR013REoaoek4IGIRl9iXXjuVMGf0zAuQ8avDkNrf1KgaMGFIM046yG\nDv4nfbwuYeYoc+MGDToMhekiOOAfrnaBPFzFdU9rQlCuN4lPPSmIIY9uqTOG\nOwaJHuvAP3RTySdSUtYNJNamX2Yrbcs88U/vPLCUlgQwECv5EMcbw++WRmpb\ncBxi\r\n=IL6D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"79d3bd54f6272eb54a09e4cbd6a0e62f64e30a98","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.7ec96974e.0_1582570639580_0.9366237565383364","host":"s3://npm-registry-packages"}},"6.0.0-canary.265ecbad5.0":{"name":"@material/dom","version":"6.0.0-canary.265ecbad5.0","license":"MIT","_id":"@material/dom@6.0.0-canary.265ecbad5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"335625629af8aaa2a05d7054ce35409a83098933","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.265ecbad5.0.tgz","fileCount":23,"integrity":"sha512-q2SaOJUtQOuHherbqPXA1MhFv9v62AwM1C5dLrrpumjBJQP+g7yXQoPQ4zpNp2w4C4B6Cqk+uY2OIOUgBe1buQ==","signatures":[{"sig":"MEUCIQDkccVykgLHjLat0Qa5v1j2HXhLyisInuBLda3XzpOpfgIgbOgYRkJZcxxmxNoF4ipgeFXdqeJQBYKoYmxg5NjLVrM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVYrMCRA9TVsSAnZWagAANvEP/jSCEPP3UYjh4h1GLXbg\nelBTVTIeqk2wX0I/hTm2pnhfq0vFjZ5A/pAt5gUicQfb4/b7zt+Baleq++dK\nXmoBI/PCNshb2EQEQ7hPUAeTpo01FJqydD7NiiSI64uZLh3jUsFFFDZn0JIJ\nrALP+QG+lYIHBipohBzh8mmNi1/ss7kJ/MibzLo9Xu8uXJ2z5cKLSQBc+frV\n4V9GnzzI2PkANGttauRB5MJWmZF+qZzdTtGk/RDqYA08JcdaktzJeZPmAFvM\nov19tHblh/rOu628B4PhL0pEr+b/WlTqg1WhM544CIfkKuFzfOJye53vjFrG\n5Yu16LwUx1yeSyCsRqBsw9Y1uL5H2gS59wsJ19/sa+3TXQv3Y0sWgpZgPRG/\nyth6gmpC2OgmumzEAlgRlnxfPfqTPSrP7Wjlm4Ddf5gYeLsNViUsKxJv1Adf\ndF6lHhGIQ1/ekMlu390vI0QAWE0iS9Gg0/SNCmhOUvzB+UA+DSP/yDzY/XfR\n8xqfs7748e/ZH8N4UsKhPu8Fhw4W0eBVY6fvAN7rIfKltYSL0E2YA59YV1AW\no1XnHPkRE2AlXuG3N6MrUdepIxSDFN8x6CFxKedd+copNf60VPOos1gJhI5p\nUyRkml3TNEiH3K5MXjcUCyhQvGECApBlGcxeM/VHIS0BLitnpIXl6V5/rwlu\n/k2T\r\n=uoeW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"1600f4154da0a0943fa8aaa13dfa15c79b0ef89f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.265ecbad5.0_1582664395493_0.7548833708184917","host":"s3://npm-registry-packages"}},"5.1.0":{"name":"@material/dom","version":"5.1.0","license":"MIT","_id":"@material/dom@5.1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fefb96e1f744653dfc3ecdb01f7ebef81ce1faeb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-5.1.0.tgz","fileCount":22,"integrity":"sha512-tBbl3hG34Auv+2sboWhtstXeZ9rx3G7hb/jEXs5xZ5KIfZHwY4mbo0KqR/fSJZKaUsvk2Nc/UEOVcUx2mTNmYg==","signatures":[{"sig":"MEQCICyF1KjsJReYLB26OGO7jhubXEG5E0mn/t6bkI/Ll1SwAiAxZ+aCAnrenO0LTN40Oyipk+CzRGvxNNWoNNAhPAc3Jw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83444,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVZODCRA9TVsSAnZWagAAe0MP/2LfPFF6NDBVUIaZ2+2z\nkackrbabEHot074wF6uY9EUgcs01xHG4ddvp8C3n+qQWd7PQ8+vW2u3v/7DL\nl0IdOhg6c8poP1zsPBu6t/Ms4Onv5+lZX21udLGjCTxxWm1fY2a+wUDOM+kb\npLgCeZXaZY2o3KjpL8ic3ApUAE4731Uofx7J0xg4wiOftz7i2r0PqlXCcJ1U\nX3TVQbniEYccHhyVRQSag1H8OuAsFNRLRqzhPrKlpcrrh+l69+6NAd68bNxa\nMQH+PdgYPozqUdZHy3RHHPNhc8LWKkqUhFdmyKx9pE66Uz3vAjK+NYEQiroc\n8KgZKvApwlATjpPisf/Ac/NEaJUy5pKABDsDDgVnosvwMlKxqxwV07XgOO1M\nyIwfjKpk2tyApSPQ1hpRpQbP5IaKk/NGAHbxrSHWmXomPJnNKVVGLCrvEG8Z\nZ/vtwLAPsfcGeyPd/t0vkHSFx49XOgus4bKFohxJlNfJe946P+I51THrtuHf\nvgfU/3Z8G1isO3EilkEAHwrW7WnP4fkwTfFPlV7kxno0FGaHU3o3XHj2PLZ6\nF5il7Zy+cDljb5074gn6sMAYNpRXyZUZhsT/eGQPhiYuGs8PI+8I5yS3xwHI\nCG9OXQVH/KyXPJvthDI09AIcsf9v26Vzu25kXbDCCXkfFAmulLtOlVYzpcXm\nEzEU\r\n=o5v9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","gitHead":"2cf87456f7b6bb4803ed5f1b18a06320c301a1b6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_5.1.0_1582666627491_0.022972556078050044","host":"s3://npm-registry-packages"}},"6.0.0-canary.2cf87456f.0":{"name":"@material/dom","version":"6.0.0-canary.2cf87456f.0","license":"MIT","_id":"@material/dom@6.0.0-canary.2cf87456f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2f1844afdc6f919be6a263243ce65480fef9a7ea","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.2cf87456f.0.tgz","fileCount":23,"integrity":"sha512-MuW8EBxxTOQcBnBIX4kp7Cw9Y4sGRfvplsUvUR2/YdBTlOfZL5twczycVECsidiysYXnW75Pwc5X4Y84MMJdNQ==","signatures":[{"sig":"MEUCID2M42EePE9Q+TErjcdA5M5MRVB1PNUiYlf7DRupwFgJAiEAw+Ek1DTZ40dqK9ZuV/mE6UVqrfY60HiG7nKVeXwnZhw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVZOuCRA9TVsSAnZWagAAEIsP/iXkpcs8OxJ3EpuTXjS7\nDGwWqAE7MMU3b21J3kCvY2Y/t9YGcfSc8M1SkEewKCw7Jkjb+n0INmRpb/Az\nF58J3wWR8LDL6XszS6ghXF4FwULKwN0i0QBX+l2JFqChfB4Mp9H6xwC3LRf9\nYcr+gh+0hY63MyaJGxAbsnL7wBurcZdIJtpWygyja5F+BLzfIVsKmBICMRhr\nd3LtuneG8M8EilFN968ID2tcNHP3me+z635ECKcx9+8wZ03O/JXBCetZUIkK\nhdm7Wa9/9l6Gf4M2dwinhJQY/S7HnbMo8T02ffNaxtQgO5fZjcFTCcA2LL+R\nJOizt7Nogu+U1GMzvpaTSsNAGFpdqOH6zL6+mD9pn/KWOl1mhFrqi7xOZdhc\nF78f2AFMjpDUHiPa91dD71Y3Fj3XwWnGEAW8x1/U92HBvhTp39wLI/WfUVB3\nud6OeKC22eWflhcydMYvRv8C3KssxhwYUV6pnUBDPg76vHr4r7UV8TgttT20\nIWwVMWc4x0eWWCpD8yyJjX/x/70DvSW42U2IlQIPCQTonqI1yPLl/N0F8Cpc\nfQj4hVjTx0gr+oPA2AQaqvjgHr3LVigmtCoKe6mU0ipKxJQ/XNRjfEdG9BWI\naW1x4cpoKWsRQ6TusYW53Szrjqe07LZuYM6i+I+sS+jyQUwM6+cVuSoAeWCL\nguhX\r\n=A6Av\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"f8e328b58b1986d1b2e248ebeef472088137ffa9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.2cf87456f.0_1582666670137_0.8014783374015557","host":"s3://npm-registry-packages"}},"6.0.0-canary.781434a92.0":{"name":"@material/dom","version":"6.0.0-canary.781434a92.0","license":"MIT","_id":"@material/dom@6.0.0-canary.781434a92.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ba9a61b6ef59d0a244ffccd7c026ae82bfdd674b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.781434a92.0.tgz","fileCount":23,"integrity":"sha512-Vq/nNrtaFXW7kgPCaI47UKnYARs6TcqeeoQ8L5eG3lh9rEEO+zA65PaPnxElT9xg4L/0m1guxrv10yqKO9s64Q==","signatures":[{"sig":"MEUCIBjnswoF3j8GYSPV3Er4WEGOBAgy++LA+RbemmnSA+xWAiEAwqHDVhVdHm7+O/b9vygN+lSaInT//g/8amAsilKxfwg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVa1VCRA9TVsSAnZWagAAc3YP/RLKR+HzRCphaFP3t4f+\ndfRx2Rt+AHQP9+dgR4GN+MPosycwYs27ZfDL42R1EgNM0VbT05c8h+Vf3CqD\nzPN6/sT3Qe/r/vHpggnsBTIuqq/LknRo6nBlw+wbGNQ9sI+sqKp06Cz8+XUz\ntJL3f/oCjtya0Bk1YmL0PnVXlidDFVYBV28XTSJGDffxFjhpsHsP4b9Z1PUN\ngFG93MbgZKgSBmXsI5ggr4BwyBKAY5AsMepZttsr8FD/y6VvPDq7ruZOGcuC\n5q3BS6YsHf1lcBof49/AJ7RcKmhm6n7U8+jnCmwrnhW/eUJKlAzcrQDe00Z8\n2VZ6Flvti8CeMy1kBzx9oDIcpJTP9/lFaoPiVjMK3NJZS/5cZbz1JIrPsLgo\nhwLQobmUJejuzSEy2wrP73ZdLpa0Br9MD7XVhVT3sRMhs4MajcneBh4IwemE\nwB8U+j7PVbAgaXn4nsZZyGg37uEoiMjLSc9Dl31KD02i2StP69QpKZrwZLTr\nCGoDVpsUhlNntW/t2nwN24uhb99XYT2nVG1G0ru4RYCaN69AdpC4Cx4kzSbv\nTEX8PyBFjsaeT+eDpsYui64qvriMDxxKQorLVMldQfP+Rr95iK1k7+phCOaI\npS7mni7qDhrTwIMUrXJcIkmnsnFiKi+W6Uwm9YeMLvsp72pTP9ggfN1njxVP\nMg6Q\r\n=ErU5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"550f1e0ff50e94ece83c72bc45536fa64683d7fc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.781434a92.0_1582673237561_0.9263812139830996","host":"s3://npm-registry-packages"}},"6.0.0-canary.d6f60c98b.0":{"name":"@material/dom","version":"6.0.0-canary.d6f60c98b.0","license":"MIT","_id":"@material/dom@6.0.0-canary.d6f60c98b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c3ecf07e2ae51d477afb392780169a48feacfe43","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.d6f60c98b.0.tgz","fileCount":23,"integrity":"sha512-3GK+UY/te+nHI2llfwBnEe8qyarR1V65KY1pN1grCw5AmHN9PRiyCqRqSdjE1zv/uaSafj7I8A7cjoDIr8Sq6A==","signatures":[{"sig":"MEQCIHM3AT9+CIoVromeNTh634AvelU4AvVPcrDQ4H25BHa1AiAbngyHdU8eiQIjLptFOVx7mtjO/YYaGsyNyrM3Rq4qcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWY4ECRA9TVsSAnZWagAAGpUP/3ksXa3isg6rsdxiHZlG\njnSAIBkTQG19OMffrhcZyzunufCAlQ2UIvtaYRcj6woEdyhCkYNr9nRIjydm\nB619mcJKzIDh1APqixW6DfOdwZI+jqC7WI3nM2QwdX9oAHs4fN0TjmPg+mSv\n6CKLpDkKZeec3rj4F+o/U0Ej+oXDxzA6nPUxd+jj+b/6xJleh/Ip96zJNlcw\nzY+OCFGbVJQkpt2SvvE1Nl1by2gLGmEnm06jtVNDxBkMsVEm8njXFoWzrdre\nJ+CgE2X7wnO91GY7YTdqBQoplX/b+0TH+SZQtV2MXwS7ScR5VekBU5jQN46Y\nTjqBUJTRN6/5rA5dzofiqODcWjNkv07Kx7ArmjjZ8rF149m1dPn+KPq2Nybw\nixbrUVnPoi+JSMUhsGHKDGhdolIF51l3JRTECA4bXcD3dniYiseXI9ybPs/w\ncydE29MhiczW0S5fbjXWa9mrzS1IxC0Fe9K5s1NiRw9pDJ37lsTcdTGo/YF2\ntv2g0va0P/agV/dnZRGyHiPbBntNCaBmrNoGpWQ7nySC0n7yK6qxf7hDw2HZ\nJ2WlRCg4hreKavNBLwaU6j5LkperilZg+V+y+K2Dombfcedx5jeF6Sh/7YMb\nQBTtacA/k1enZlvjLaEXKvPJCCu9f+TxbDd0EJlhLeSbIzuXTzbScavdBaf8\nbOOb\r\n=fgTq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"51319f628dc2d5447017b393bcdda8ea48a93896","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.d6f60c98b.0_1582927363870_0.4516831292301924","host":"s3://npm-registry-packages"}},"6.0.0-canary.69edc6e28.0":{"name":"@material/dom","version":"6.0.0-canary.69edc6e28.0","license":"MIT","_id":"@material/dom@6.0.0-canary.69edc6e28.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"53f9f5c6acdc2bf1b1046772641bdfd431c18452","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.69edc6e28.0.tgz","fileCount":23,"integrity":"sha512-fHoJI8U0OwY8UoQaeeifjNJOABhPrR8ozBDjAeTfbmLYZCVvqohpgJfsGAdZeAbE4u531bm1GAtVezyYARKDig==","signatures":[{"sig":"MEUCIF50kvu8AbsbLys04c6Pwwirae6lhPVwRSZ/P2HfY4kfAiEAuFPMb8+itLCs0011LiNVRQYL3viZmFUBv8eIWLCK9eI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWZAFCRA9TVsSAnZWagAAQqAQAJPw8a8fdjNB+C5+2ZsE\ngwjXJDQ9ZECRT/A//nY0D+iC1GI34h++wZLF6GYmadrEn0iEQau0LRhiCAaY\nWjk31RQ/wcDCfgz04n9pqXAaznZh3MqDqwHrC7no857DRMdHLFJACKI7ZATZ\nBZFZbw/ecTSUcpKkX0qxCTW+wUYYZm0aiADbQ5p1VQoAKjvlOdm+Q5PV7R5H\nLQy79dfjsKpjuA7unBbJoD0/PgE9vpK60sqid9z3BrNFFJoTJsZD8OWHuqxE\ns7kvChSorgpbzeg8BzgszGWRTxOkHWcCjXYq+KmaJ3pV3Oe/AEByr7zHDrxt\nVxVQ4D5pYXbD+QN21L/mGSS8qIDSi+jGRIfJ/sXG5xpb9jEF419UOXhbGD/J\nlq2+f5QxCgLBbWrt8OeyPXIsbZm7oyqNv3TjCpjvyOc0k6FlJFbjEffNC2Em\nPecd6Fs8s4cYbRt+wHlHWeHY2DC7F85GtTIILX+WsUZq4hUmObPQ8LTIygxM\nn+6Y1fbw4R3F+Fqw9lzBM3xHlii54hSW0HV0le5z46KLstNjDGp2utV8tV5X\nQEyC07dL19kmO/z+cK0su8G7gDYPa06wK1XIR+e2qwAzeSCKOK3Z/xzHwX0w\nMNbvXYS0voERwyZcIFRRWe3Gh8Navl10llcN5QmvHEDA5DoCOtuWdEtIyYob\nCW8t\r\n=94l+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"7394312b46cecfacb3ac97cf147ed16fcc42e538","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.69edc6e28.0_1582927877344_0.04741078977477042","host":"s3://npm-registry-packages"}},"6.0.0-canary.9372e4939.0":{"name":"@material/dom","version":"6.0.0-canary.9372e4939.0","license":"MIT","_id":"@material/dom@6.0.0-canary.9372e4939.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3f3c221ed72820756e972a684ce19f576ea0d2f2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.9372e4939.0.tgz","fileCount":23,"integrity":"sha512-b27HceYTjLqYHTIUM1cQhwI3chIkRPuiLk/KlkJ3TA++BEtyvfEUxLpKyT7Y7PDsh9J7qVQFPt5kZRtjMNP3EQ==","signatures":[{"sig":"MEQCIAke0KWS5u0aEZKRHTbVpwY9nQmKLV3pNrLTxTplzK3JAiAgwE12/e72z0xkYCFntvSwP2NuLRAX/gBArdOoRIZipA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXqtDCRA9TVsSAnZWagAAIQQP/jP9aCGGvn6/PqDxVRab\nX4PSPYk0otGyTDrqJhAgx9kOksQeeFewQmKR3ZbshW8tjaPvSIxDDlIWVKJL\nngn44gGTaJLjUCj0wkP5kZnibIk3vJ4FfvTjlflUEX1+kEL5/vJBbuDrT7g1\njvx+kiwh5ghFxGsidTpKPmPwXj+izpx6E6orpspYuwOU9Lg+UIeAugEwd07d\neFQRwqlGgKUtLlpB9gKBA7ihUx7d1oKY6qrJNxfPix/sCh+HPYjwhtAkUcyC\nBnhuehaTddTBRiwUmH/jlLpy8RFhrTSl6B/nVVFZ8Cs3HkpGNnRlzf3lHugp\nyTk+LbCf8PE6BpJRHyhpvWfAFy5rujU/WjEl3melTcI8DFpUdTyLhHcOcYO4\n7Hx+Zj8YXvTyHPfWI8O2E1lf+uSSAwAc+utmvRYs5a3hv4yfIeMEHhJZUyAf\nYqv2HZgHlmd6s8dkot+FhhYocZAgVQKnD56Ph2x9tjkBDFpgH895zgVo2Jyu\nIBrP1wu7mk6Hg+eePefrcLey6YdKRuupB5RzcCiJGbP3PpEPzpTDQollZyzH\nfipYl0itHaRhtureL/rPfa4fOES9s5YgasTAo8TsdY3l0pe0LXVjS9O4uSHv\ngfiu2Wgl3zq5bwadG5gp1yxLb1HIJsbfgsQeOet7HhPuG2gE8oPkr1HyFJTE\nWhFZ\r\n=yHwa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"e54df7e88218f93cffe81e63d7e28371126d5611","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.9372e4939.0_1583262530798_0.009191568582983756","host":"s3://npm-registry-packages"}},"6.0.0-canary.9cf5e9842.0":{"name":"@material/dom","version":"6.0.0-canary.9cf5e9842.0","license":"MIT","_id":"@material/dom@6.0.0-canary.9cf5e9842.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"19da3cf89d85baf611df4db2e23b8689939e5b6d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.9cf5e9842.0.tgz","fileCount":23,"integrity":"sha512-l4ZAYtrspH1HK6eFbobKSpkLERZ8rQdN9iVAT+w+ymatqs85EB0TtzUH7Eqi+e/H5sr1/RYFAq7Cn3k7fDf+RA==","signatures":[{"sig":"MEUCIQDANQneDQkC7ChQd7UlcGYB8VsbVNF8MK8mzHT0e5hLcAIgUEs/JiDeCAQyPkbGawlgqGP3loA8NloUNoCZqnBx7PA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXudFCRA9TVsSAnZWagAAgswP/0M5dtAqBK4z8uJA7h0D\n3P6tj/4YZdYbFTZ2EQYYbxPZ8tLhuf4veAysKhuk0IjKQJZwS2ypfvJe9M4K\nfNkTzLeRPsl1nEIwc+FsFRTA/KGmHrNCkuExvvZe5ujq0n+sBdZWHuMW1SGu\nBMuPGvemOFtI3F9ujzsqyrqxV42CCdR+EAodj0r1v1LsOBEEawmvhvrKgYsr\nYBLSSO/dN+lG8swjW6CP8uGpI32+Fnosu96w4x+hs2nA9DN9KzjR2SEsRk4W\nmYYBgZBXOEcHGW7Vr0bnQbcEQnXPOMJQp1P/WXzJ0tAEYpTgBxRDNOKX6A2N\nnQRktAiojzz46r4q5t4gnKRrqR34WIHIBg89iSK20gjiYu+Qvg+yns+0F6IG\nMaJjMHRI56L481nOULNabHePQCotsmqrwH0jT7FXKM/mFNexDZ0XRYK761vC\njxzJha6fqLw7EzBGguFOVVGEM0GmkaMT/45xd4H3Jt0IV4vYyu0zyCngTg3M\n30HriKi4MD9hXCSXRqderHroSZKlVeGE4SeaU4iKllIWB6hwi0jxOrm2O7/q\nADHozhZQb0XtSOL4LhiQPG+YWcbfiy5CSVpvNU97wln5QxWt+BMSRG8WakTz\nicPIDwCGbSYHaOqwBelThtgE6BP0JeWyGGpCn3ITJQb1nu0EPLUDCRa9m1GL\nCj/T\r\n=7PDz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"9ae3d1faf8362261d4cadb5f9386265501b7f143","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.9cf5e9842.0_1583277893197_0.6287169038058971","host":"s3://npm-registry-packages"}},"6.0.0-canary.3657f8863.0":{"name":"@material/dom","version":"6.0.0-canary.3657f8863.0","license":"MIT","_id":"@material/dom@6.0.0-canary.3657f8863.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b08aefd9a961d74ea31240bc7eb6264ca96b9b72","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.3657f8863.0.tgz","fileCount":23,"integrity":"sha512-gVPSiOy7emEiE1xmQarQ2qAyWuAXs5IKBON4906MyQxo7ErUDbVJKo/rCrWS6VMlvWfoHkWdglG/jgRHPlTWPw==","signatures":[{"sig":"MEQCIEqszZ17tUACNDkDMa5Rmf+avVQokMCHc9AoUD8pl4FlAiAFd9EoMs/5DEwoL98W9zIBOnAew5t7JBkJG9tjWOyMaw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeX+i3CRA9TVsSAnZWagAAMp8P/jkuUsCQmXVpML8dUQDw\ntXSgiBssl9HK8+V3tPu7LW92b9YgH+1cgmKNJWK4+PmOBmNNLW1h6xRF9CUS\nvzWv6QNyOfqmwWbPXw1WQ3P/1cVEdTcGZ7TbfRUh1jJfRbW6FZGCxQzfSBSe\nC9Zwe2LZzmM4oVRMyf0D6cDrm2VEt9CJDPshWYoI9iD8pSHwqng8ACqaNZAc\nyYL7Ig3RxxT2B1HJHga2GTx7FnSKh4AbrTUPV1zSaG/i5f5fFhOm/xxip+qc\ntrTWTCxE133UYdhhFoFZaTHOEvNd/J9IzgdlhC3Utaw/4xVMxixkL4gJ7w8T\n4+LksDAHoXIRtEpag9xDgPq6WLWgeAEI3DIekImQEIP+oR1TFY92HJ5pFzpI\n/Kv1LIr6EmYQ40Ajb/WYEgavaLahBTe1Ffnrj/cCwp9AzB6wyjZFxi9myS5Y\n+9jjI1kzQPHFPki3C9vZytzpLOJviqQNyMoZlkl9mLmCRehd4qg69o/GipE/\nnahvxa5z8EjZVbfNjwP4bYZ4iWbct9+42P7/C3yaFvRXdMWm1+7jlb12iMOA\nOo1Tfg/GqZytm4ct2s9Z7VnsPklX+vdoIsL5PV6wvjLHQozHXX4MPUakws3N\nwHliWSoie40VrALhdRdviFUOQGrA7/qkkAi8B1IL5ZfRToe7QQag/NnaDeYg\nX5Aq\r\n=PHQu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"4075a5619b546f352f6366e5e90c61777ee28f5d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.3657f8863.0_1583343798974_0.7597679995577249","host":"s3://npm-registry-packages"}},"6.0.0-canary.98b843417.0":{"name":"@material/dom","version":"6.0.0-canary.98b843417.0","license":"MIT","_id":"@material/dom@6.0.0-canary.98b843417.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e8fe5c5b4716e705f80393fe3505238a7cd29faa","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.98b843417.0.tgz","fileCount":23,"integrity":"sha512-XKUaa/IoE+onem/1AR1nqPQkqw9qfrde7/kRdOMQubX4obJZoJvHIm4cczaykxMO/yqS8oMEfVhVx9f/Hmbp+w==","signatures":[{"sig":"MEYCIQDwyzN9KhvS11mouk6RLNi8MKfdLtulY4kyjDKHlAfmnAIhAP4IEA362taN26rr0cAk0ZJB7uBC625YZtUTHkoZNLqi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYUU1CRA9TVsSAnZWagAAR8UP/1WVMP25RZo5OYs7ifeP\nPo+6TxJpNhfRD8yzlRLhmuOmeAXaw8Oxoj+Nwm0T+9Cjdi+vjTM4apPFEiRz\n9pXtvd/mqQ+BVmP2p9nDKJopPrR03/T1+bdKi0nj8KW9YOY5trYFo9NupuPV\n5K0UFOnK1uxbnAtIzBLZ66YTCukL/CpJkrWL3KIfYhrKE8N1rZyPhcJaHjzb\n3AhAKfBsJj8+7/JUGMxCZaWVohva1/6YePZkgrMxJwZj4C7VE/Tskxp5dXY/\nl6rGupRyY+b95Lpi3SQaTVYFTZy/eYTPlHaJcfMi1H8BF3yNgThuSvMjK0Ri\n4W2l/HkewLVPF03Ax23Gdj/lnyRFui04ckWMYpf6WzV66DK1w2sCKHb1Xlsw\niKSm0DUcZXBQao+A+Hasib2fhV8RTT1zvE20bRAnHCC1xwWhnetzUV6S1EBE\nh4qlVxUGCtgQwtR5sPqvoIdzCWdy7Kd8e6aYe1Yst2eNSofpBueErXQvBrZY\nZvrzR1qMFd7GEgLCBNsiwsgUeuNUBHF+dbW/pp9Z18oVuotanvVOdj76KbNV\nlKQsvlJT0vldot0X2WfIFjQJwJBhPAeEQ+FcpoKRKemvkT0kDns1EaAE/PGV\nxJIb8SGKxZH/s3Xup1eEuhTDVEo3M1MBr71yCxTNaZsEFSHwROQ62trWAzU9\n+R+Z\r\n=GX/y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"68f2aa7dce5bfe926cedccaedf1c0c98166d0bc1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.98b843417.0_1583433013120_0.544470324592542","host":"s3://npm-registry-packages"}},"6.0.0-canary.17b9699c4.0":{"name":"@material/dom","version":"6.0.0-canary.17b9699c4.0","license":"MIT","_id":"@material/dom@6.0.0-canary.17b9699c4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1f71170fd19748b4306003135ec58fc81fbf500b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.17b9699c4.0.tgz","fileCount":23,"integrity":"sha512-ms+owYkTrjAYSybTZXbdBi4x5UUYHedHETc/TbyjkNJZ4RbcgyaG20jaxeR4/8W7SnhmXcZuDVc2R+Pbx5yq6A==","signatures":[{"sig":"MEUCIQD15CC6Ja3c0EAeF/uSHX3WOA13gRY1Jq8Vf6DFmU1IUwIgI/yL2d1LYwCOOjaOidvIkU1/kXEOtFsD4K3spi5/eDc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYVE7CRA9TVsSAnZWagAAnbEP/0Um9oygvYcSeedYaWiN\nYQYzARu4tddHsIEQ82yTxX7d+o+hlCOLXZfZGoVGQycU2nUZXOuQW+giiXCS\nILMC0C+f9ZAi+/8aP9IfagWEy7da0whTyN+C4+KyEbzq9iwuB8AzHgL/7LX4\nPIYTfDAcPdcfxYi/1NVHSQPkc7dxME5ChSS3Qdl8jQI2kOT+y+d8t4Qc7JLx\nLvKDVeKesYo5CnhcxJJrhSLhTFNzpVRS8gRisRqKJrRLueMpjhIvzYtK1JPP\nxsuxHQjLwEuRyDTJxdtJVMPTkedbLNagjAQ/lLQc06OVw6FRhb3jKQf+KseV\nVLRvWSNANj519xYvjiIAKLjxpjVwlnJuNyNxgHN0ofP8FJVOiatCr2IOwA2H\nmWblCpg4D3cXyPTQ6+EruUaKdhweCIxJEWX2z8egoRRynjyctq7YpH5KXXu4\ncfrDfYxaTRbkrBPC8GrSTaXd2X30ziMRssZoiD+syqsWjN2MKz07WNZAlqMJ\nyVhdHpLDowylVZz8BiGgqRFPJSavnL20AeUCbamcXcGIOsKeoa4dOfSkulEg\nz5y9DQxBWmmr4fqhoViq1hw+HA9u3nEwAoTvXL9Reo4me4KFuVgkxYrdDzdM\ngShi8JJxv2HNOspJ0Juh9r+zNoRs1VdCw5F16Qlbeb31vX+dAnJ7Y65gHDQp\not6A\r\n=0WA/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"5cc71188279f7fb4c0eb3b0b6b98b59815539374","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.17b9699c4.0_1583436091219_0.9770461811491917","host":"s3://npm-registry-packages"}},"6.0.0-canary.6ee035572.0":{"name":"@material/dom","version":"6.0.0-canary.6ee035572.0","license":"MIT","_id":"@material/dom@6.0.0-canary.6ee035572.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dd30d47483f537a59a1a8ee051b76b658233e3ed","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.6ee035572.0.tgz","fileCount":23,"integrity":"sha512-3qCMsDVoI8PlXBt4Q3dlNcWL9+SvzmWwHC2OQofdENRzaLdEgfg3SjtftfUnWqALJ81BbBZVZ5DNl/SCJngNCw==","signatures":[{"sig":"MEQCIBzANLLz2fVU53Xn/zHNmnch7+iMXCmxHj90TX/rcHq/AiAI2OamrqqRD34L1H5cVw6eDnEwheBMboWFs5taMHxHew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZnK1CRA9TVsSAnZWagAAJXEP/1Q3fMdh4lhHd1mRvTeC\n55uG9BFtUQcd1Ij4NfJ4r0zxbSV/0NoAHmiUlafqKaG4o1/Im1qp9CdygnRg\nkvnXgb17jSOxoHLrPg24hJ7DCjEqGeTL+oLXns1kN9EYcSRbxVoL1lDpofgI\nvUVwZ7UH3kbB5mVszn8K7GCXGOVsOtE8UlBqRi5q+SgFQ+F5eGWgPOziVMbI\nNPYNDzrzwSb/lqmC0cMU//+DF9mPGL34Kh1SPAgJg60v/FmK4N6UGqnqdUsF\n64eSmEcYmDpCPMHzn3TeWQuO70JWqf0vfawMPHtnRntX3bzfBLemylpaOU2S\nDhM3WffDg93HOI6TNPXBtCTXBP7k6nBq9jPwUCta2KzBCpKnl6cvaBciaQSU\neUOxUkePO9LGzSq9qm2mXth12x0TcRbC71cd+tm6HqfMGGNqOeTJ/gbX6PQ+\n62oFZiImoapQWIyAP4Fw+QnywV/ogpRWMMyOS/f2yHQs7PabyGsFqAMgZOm4\nGwnJ8qW+fITtAO3C22HptQMgmxAXtioOB3zVgUT8AL9KYnlJd7keetv/SZEQ\ngJIod7AhLIODwQxkd9G20+vHj1jHQEfziwG5Wf9HrzE2lRmRlQWuy1A+gjV6\ntku/PA9EUwUKsAWW+eH+cBiUqiifk2Ieg08dAveMLDGVHIfPns/EOkk1+P00\nEyYQ\r\n=7roJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"f7d234455251ae34ac1d568b4654bba0bcadc57d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.6ee035572.0_1583772340732_0.07507728112691536","host":"s3://npm-registry-packages"}},"6.0.0-canary.bd33cb56b.0":{"name":"@material/dom","version":"6.0.0-canary.bd33cb56b.0","license":"MIT","_id":"@material/dom@6.0.0-canary.bd33cb56b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cea13af5e3912fcaba969fa11fca27d57eb6179a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.bd33cb56b.0.tgz","fileCount":23,"integrity":"sha512-lnEjwl7YVKlkq50Xknp73NJAtmaDRbHXnDP+/vpKjbCHCC8WuF3lMKGvVABArYRUOI0h5G8CB3KZqe5wEyKeYA==","signatures":[{"sig":"MEUCIQC9unUAticp4A3TMJB6yCgXY1bWNN/vh1i1Wgar/gadfwIgRBmJHJCfw7E0eje1ViqPYAY6kd5JyiGi9ouc02tr0u0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZnr+CRA9TVsSAnZWagAALswQAICLqAczyyonOKXBUkg9\nOaUZl+52QVPcpBjbSu7ytvxuHjJO47Nk+vy+8uJd3oUW/7mwUnWMkogJntN9\n8B4EajpUO+1WT1DjmE0MZYrHHX65PgE4bAn9E0pcoKJnZHVxMbl+jmy7MUFp\nGnH+5V6AlxC06rNwzgVe4r5VyeC29ySyRqxiGKQqz2CXQZkZg016s8/cSSSg\ny5BZb2GdBJ7gJ0QwoKPcfskBMdGIBxMMjxM9DAKnlD21jIhTzU+UhES7tjR9\nIPNlYciJrnRzKavrURVKcA4pC+WwEgzvYhmfNMxx0Q6m+Mtrz1pRiQxMeRx/\nsPjrXOyf0ViVn8Qp4bcb238jYDOdkhGTp3VSjNtU6L4ZfgBqQApRf4Q+1jTY\nt6IcURgSjwARrSl9WtUp/JbiZQyMFEE0x9QRU/t96nlazpM2ZxPWaWF2ZFYK\nFMLVm05ZmtV8wq0zzNeEh5FlNeac36boDNKX9pxX2f0tjMuwuwksgBB0iTUF\nJTkS8RkVPYULJwnF1qcuSRQrkx2WpZeh5qKm3FFL0wyaPZ14+W9TAmUfgN6D\ngyWf8WOx7mXOeef+I1itchU9tbV20RtAUX/ZKlRH60C+A+gnJV/2sTKxT7OS\n5cruWyJdZPXMGh5WdNtcWBxsTKvDYe5rG6chdoXj4jM5faRZ34aB0TBqW250\n+XRk\r\n=324a\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"8829857459a9b7c92653d2bed2a8ad63b58b672d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.bd33cb56b.0_1583774461629_0.5228523035717356","host":"s3://npm-registry-packages"}},"6.0.0-canary.9ebee4ceb.0":{"name":"@material/dom","version":"6.0.0-canary.9ebee4ceb.0","license":"MIT","_id":"@material/dom@6.0.0-canary.9ebee4ceb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3c71331ccd1889252821bc3a549e5d874c7a3ce3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.9ebee4ceb.0.tgz","fileCount":23,"integrity":"sha512-YUSzp/ajTv3cf4nis1W6a1ZPobrLIBZ+HgEbwsbo4PTU9H6g4wALDvhmfNB34zMuCqaJNnnARr1viOoIERKK0w==","signatures":[{"sig":"MEUCIEPG7wKZTZm/Gn7PWyREnYwRXJt3Mue1JCl/vV4AMcPiAiEArGCoyyP3m74NA2t3ZfNt9RgWKRI72y3lxIOQur8LQ0E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZrFSCRA9TVsSAnZWagAAyDgP/izfzAvoOLPhKouWzEQk\nmF7b/YODrRQMFlPVohNZqLT03KaudU9d2bOfAuqOkGg4WJuzqrAYd2IgrlgA\nVFIFCHjgIZghnxyXhVUVfjkju1S9EVrhMuryt4yYgnUQKkipfzDPXc8QLNbK\nsPFHy1YYy7tFbPHVkxVChLx3yew7y6IiRT+D3xepASRn8hdn1Vo+qnf/qaqc\no8AzT1z3vw7kNs4BMrozTQk35QPZ8dv5w0X2ug3whHigIuO8KEgNwsBG1L0O\n5WeBC/WT0CJGnVLQ+zPQwWwxYV2QSQ3XeMv0sXATl+bOu9Y7XvABnhAx/Fvu\nH/rCEsYweXvTQuGV4ZZhnOvIPZMEDuvDH0y8DZxXtJJJAc2Dzytqn6LJtNjy\nfBl7a8OLNdk5/mtWVUwjBr0RlY26MlgH2O5mU9+ax57gPH1g6HubbAnHnsng\nFUs4kJDsnk8Vl3ScRB012+nwK8Gy7Q1RwV8SWqCGsWv+k6gURlrYRMs3X0qg\nS01jXH5edWAKRnsabWkofRYD9NspQ0k4V3q04jjlSDIeJS1m6PdvCued3Kln\nF0aTrwEpDFt5ee3xsoTN95jh0e+JZfiDFyK0S6ivOj4QyPgpds8I3gPUCcI2\n62hPvCBtJKbj6FO6CceQjvH+By/S2MKP/p428irKUs3q2cMN14NK3GWOSS2K\nuxDW\r\n=XiVs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"dfb57a81f5ec017319a5b83b6acaaad397e95839","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.9ebee4ceb.0_1583788370095_0.30431281480179107","host":"s3://npm-registry-packages"}},"6.0.0-canary.26c049afa.0":{"name":"@material/dom","version":"6.0.0-canary.26c049afa.0","license":"MIT","_id":"@material/dom@6.0.0-canary.26c049afa.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1bd4d32a986ed40dac73c17377d20f97aad762ee","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.26c049afa.0.tgz","fileCount":23,"integrity":"sha512-b+N1wZHioasFiEtjpEjLZu9d9ekZE7NcyYFT2lIl14WJyxsQhNnrXYYWu9HMcLw/SE62CzZKihLQY+V+dywC7A==","signatures":[{"sig":"MEUCIAXb3Cncuiz0qU1KgAdgdNbFDJE/3UKEDDbVmHblrNBrAiEA1nOgoNyqfZhW2KXPCcgj4+UUdTevPB9/gASebMNSO9I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZ8f1CRA9TVsSAnZWagAAHlcP/2vmbEU6bHBiPtwu+5tr\n4krT5ySaJl2vhCwsXU/VvsOCDmRCRJOncVJzs68242D4Gz5lb4NC7gQs6+Aw\nYb91GZHzeINMxpOR0U9p+qJgrjuaUFYYjek0HcLIR7zONls01DvkiRxkUsad\nXDkNjEmb6scb+xGNXLSWB+0xb9OXLXAO/E6dBVpTYmSmKhXVkoDRPdRsfjLw\nHUtpigyfHxZxES2ldTKiUvwIqBY7BaFmJnv28/RF8V+ppzM8lowTzOBrmbWt\n94aw0mn5qLTal9ixCdq8sYprejXOQna/fadtBz/qe/QHABaFCzOKo1jcqFAy\n8JL0ItUsa11P7ImoJw9iOb6gIARfgcaCAOEs/DmlGDS6Ecfbq4TYhkZk8y9W\n5Ibumj2FGpPLeDrM3DHP2HvLGGznOH2pjiUbdFuN3PbUCvv56xiDuh0QKvIY\n3dQclg+EJLkxOR4fUAPIoDvs2LFE8eWUjNDh+efiFoyqN2OydveWEbMiDyOe\nZ/h7/lK2Y2FDQtP9TXDMS0Z2T2IXWNXQgRvjuuPiPA0TBv2Df5wraR9RF56i\nqjgxqZwHNzFql/4FRST59A0r0Wup2qafM+wz/tBMDAU2Xv51ciZGAV4BvHYN\nB8NCZH6fpW66gptt95LGm2DojOex5EvNdCn+HTv+Qx4qDUMRZGPRZjUq0a//\nFrUC\r\n=yNoN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"042ad06994baa2c42398713e57185e4bafc82a3a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.26c049afa.0_1583859701427_0.9869982880742649","host":"s3://npm-registry-packages"}},"6.0.0-canary.a731fd0a4.0":{"name":"@material/dom","version":"6.0.0-canary.a731fd0a4.0","license":"MIT","_id":"@material/dom@6.0.0-canary.a731fd0a4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e533b6a9997aeee11dc208dfbe358300676e4cc2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.a731fd0a4.0.tgz","fileCount":23,"integrity":"sha512-nxBQTBJl0jeNMi3mAkLOHr3pJcKPyUc5GqnlgFA0iH8gzVa0Y1bW57ouBTI8wXFzgRjlubLtP85aDJD620JzNw==","signatures":[{"sig":"MEQCIHq6kvsmyF5ClSsp4OlEIediDR1rvqdIrimsz4D7msSyAiBc0li43DMBJT+OmXlNSr7a6F2ln3tdeNIZqVi4JeHsxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZ/kKCRA9TVsSAnZWagAAMxwP/Rf5V/4qFgReYtYGXfV9\nk4eBLZmj06cuu7VptrANdfNncMNqp9RCedkjz8r0VvZfKp4At3lRkJJjmVnf\nQYVVhr7KlwDLTr50vpOyQ4jhdlJzfpvfzkoPSad+dORZoMgvXv8VKaaCJD0p\nV0C1M+FkP4ECub/kbRtGQO6CQrCfvVoFXaXLUVrBmyd2utPQ06LPXHNaqZk6\ne1gzXPu/HDdnn/a+05mps4ApLF4ZNSG7nEXCOW7iRAhxOOaff+xX1SPQhtJz\n/VTLwfzTcmjQIF7VAfDwy+xU32vutuCkfIWnV8mjvl+rWOSrw9b+MIHfykkO\nDOorIB3dJPLFfR3d5Jj/77sadUn6yLRBYnVPVOOPGGoieXUVwrMIm/RFYE9e\n0J9/6VHX/pYCet1y/xx3FhO3OBZMsK/knZgbYVM90qOuc4jlyuZ4Sk/dSDmi\ne8AEKN7QJ9dQjZQ7G2My3UNjUc/hA2MUnjrS0uQZ1rAThFeGREHjpMmAM/IE\n0TdUYs5w4DIO5dQ8J5hFKVm/H1rxQuZx/oZuB+GXdOCF4yYaq+KjFRPkdH78\nURZQJJYP4+OprsU1bHpbyERlgxeuW+5tW3qpBdGqJADHebdJX5ibUTf9ZOlS\n380p71MMJOsYRKTYHSbyNmQZiglocz5sT8m0dalOB0vPEaQtFYToRPDaCLrs\nqe4q\r\n=E4k7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"6216eefcc94fba4c66ceb4b1fe9352d3cac861c3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.a731fd0a4.0_1583872266241_0.58829396012324","host":"s3://npm-registry-packages"}},"6.0.0-canary.1db5c9fc8.0":{"name":"@material/dom","version":"6.0.0-canary.1db5c9fc8.0","license":"MIT","_id":"@material/dom@6.0.0-canary.1db5c9fc8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5c41f71c8c464b69747a0469b2bf77c821d07af4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.1db5c9fc8.0.tgz","fileCount":23,"integrity":"sha512-vL4DCDZMHQvHNptj7sVdtbPPbR89J8vekyduH98/CN6T6/H75nukt5GtehsEYOMhGEbbhgaC58oLRuqUINBaAA==","signatures":[{"sig":"MEUCIBNP429DNMhlseGujejDKaj3tjsYg51lPP5BZ9Tnv22nAiEA5DyI/gAhr7x86ML8hmX74n9y0HI9X/JItsOjPM5lmRU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZ/oVCRA9TVsSAnZWagAA11oQAIZ0zygHhrHYZPC+tyEU\nJZ4cGfbdsZ63qUdPCsuylU80J6f9AHxTcFvFuOXqMnynN3jdHEWtZC06JK9D\nwT9QSog5hLEdbcR/47YHHXPIJPcvtMYKr81Lcq6KakjqtIoG3ynuAhVPnj4u\nHDFZ3OnDwRVQwp2YxDPg+uVUPRZ5VfRv2rMwzjFYSYVwdeP/e283jcaiHiJB\nrWYYGAhfas9rMI01+Ln7pYRqh/JocY18kQczvs7/UnKQ15EHRYRX5wR4w/Sg\nw7XhmSjsZNUGI0YER4S/WqAToMo2scLwhNKLM4VsYClx/rFKLtCC7Pl342pO\ngW3q/zZ3xlsECWLwd2aWFsn5jZFlGQigAFt9m+mHqGZyUVYZXMDxp/4TMBCB\n47f6iutEuAosJOH2G8WhEi35qLlOpgOAFEdfwTA5f79hxIYrBBcifn0wbrje\nZSV/K0R01taGfhkWeaza9IZLUxHjCaNx7fsC0FtBh2ZN6fNJwZMx7gvy3FvB\nIUcJRutQ/lYV1KLv1vCy9ut8XeCozgFS8o72XZlpCeabx+hZkgJW8fDuzBzK\ntVaC4LCO5M58icnjWbA99D9BtqD5icr5Td+HaMutAbqveqiEpT9jakVSoIss\nSxzrI0IQcDHJ7PKLsVugs6iyciA5PQ2P+4p0RS+kvYT3kfi/w93EEmnamVeV\nD1SP\r\n=+krm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"cc90b13bf23ae60f937a981d548d55e3641c74ed","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.1db5c9fc8.0_1583872533378_0.23340761092968143","host":"s3://npm-registry-packages"}},"6.0.0-canary.4971637f4.0":{"name":"@material/dom","version":"6.0.0-canary.4971637f4.0","license":"MIT","_id":"@material/dom@6.0.0-canary.4971637f4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b602cdecadf95cfdedb26aed7456a7b9294eb367","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.4971637f4.0.tgz","fileCount":23,"integrity":"sha512-ervLAAFLKIZVyDb/GpOGnBju4V/qbGDnRCtQCoNIU8nH6pY2vEQWSvYFilDJyu5osbOuEnkhOH8G5S+0fO8y7A==","signatures":[{"sig":"MEUCIAtfsswbeQSQF/DZyLo2c1hWqPfK3EmZVNUTYWMno41uAiEA5+83jByUeSLQN3UoQsRW2YlLvQTXN6Mm7XysrP9MNNI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaBtECRA9TVsSAnZWagAA5x0QAJyQDdHq5Duv3FusqAxB\nBVoZHI8XG/g7HUS/fICSIgcUgJLoEDkEhNSlqlSGBgHAWRUCJnYfnZxgJRVF\nfXNkwyDrIwiXDW4CaMVNN6DC4E5+pKXhnWeJx+7GbFhegUIRxN7NI8AAbgs2\n95JxV0g82m9R2z6q34jRrZ5AVy+doh43YjeamTo6aZREzbFBSYtDip+fzIEW\nDvpDRGg9V7DGOkwtnDB+Miy14FSBme/g/gfTScA4VQ8MMeh0WtW9oY7gqrDN\nRERFvoBI5Eobq9fImusFHqphT4qK3s6jQCHmhlzVLREM7WbOaRZYZ79ODTeI\nfsqs76gtXa243hXFRr7Jh0gczD0ZkVIySVTBHFgMgqpqivHkwTqc+6ojp2pn\n6Urvy45LHfj99+61lg99UAvxOhZWwLyymWSK1yMtE1OXc7oJj08dYI07Opzk\nGE2OyipVRsbcQRaw7wGaH/4F4IDf5w3VdQd0WtxgYP0QgnptNnnCPw1iHRGJ\nfjDbjxSyAZ56XuZpSglbr3w5R8n8khuDXtMrDoA+w+HNN2aLOOpCkfR1DBiS\nIsY8iCbSAeutXYHUvvaixPCbSs1w5CyNWcqxqB6i6PiNDlnTHbVLrhvcFdB6\nvQdh1DHmOnulw6Pg6YyHLQTpqMHD7jgm1DihKzEZc7i0NCaq0NJcfKtTx7vx\ncgBF\r\n=CMrm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"4a67187585998b5863a9eb407a3ac0a7e550061d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.4971637f4.0_1583881027720_0.018214407105145547","host":"s3://npm-registry-packages"}},"6.0.0-canary.1ae8130ce.0":{"name":"@material/dom","version":"6.0.0-canary.1ae8130ce.0","license":"MIT","_id":"@material/dom@6.0.0-canary.1ae8130ce.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"69d44cd1febabfcc2b7c2bbdec3bc4182516c253","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.1ae8130ce.0.tgz","fileCount":23,"integrity":"sha512-rPwIX7SwUYG0Boep2+J6mXDLDLdZVOSMioWSvnN3wb6YZsWYEIc9XUl1MGZabMSmlig/lKxxJrkYZvQy3uvgBg==","signatures":[{"sig":"MEUCIQC2mBAhJ4i5B74tYqLaFKICYNQP3MxZ6x2J3mMQ1tMuZQIgbEzxAU9x1fkJZCS9pAMP3K1V+9XbdZeCCg/+Bwg9z5M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaB0KCRA9TVsSAnZWagAAC8sP/0fKXNhrl8GsGxgzNCAP\nEEeRorzwLruNRFk/GSOiPxro1CxAhnPX6phsLfP5wsWuf8k9L/zhBfpiYbCL\n/JUnsmxZZpTe4zlcFmrI59ZTMYxh/kxwsiWhI0emqdSMa93tu2i1R8T77BMm\nifUSAWquoKATfukq9OeUvF3osX+yYIShrWqQrbw7bbpj7Fwp9GR5Ndr5Am9m\nARKPSE8OC1Lu9hjjmWdKsB68Ypp1pNE+YA7Wj3HZMun6O093UjHX1aVqGetR\ntr6mX21/cN5cyRb4hMePUSoGjUtFNn1bVGG9WCPdl6gYFnL0KgEYk3UiF2Vh\n3Ys3hfbjp/U+pNIY9/rRX7O99suxZzS0l4L9PPi6+gyL9g0MGkGpFROmCdcC\nwmD13PgjFkNgHbrICHosqRmbhg4rF9tHsE+H1EnirwHiRWqXLYapt2do0h0n\nacthN0jNZGbL/U+dyRgFjQRWiDB4mtfcPHZTNny7+JsJtp6umkTOabXiQywC\nA/lf6+kp+9kzkapdNbQgeDT8ioHbfubuEGfezq7mMA/oTcIrS+CqBynCFe8X\nI2+HpUZtQc/G+pYRaXbLw6jFBZMEN8UTF64RIXCy3gBRsTwgP/+3nbK0OgHP\nJisrXIWzgghjPhSQrJwPZ9Wrdk+vdJA/iPANiCylJmoDuZYSl3XWAPkIBFk0\nvtpm\r\n=0TFV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"e5b4831aec2400bcd99b87f3537adb62cf047dc2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.1ae8130ce.0_1583881482133_0.21973201926823993","host":"s3://npm-registry-packages"}},"6.0.0-canary.8639c2690.0":{"name":"@material/dom","version":"6.0.0-canary.8639c2690.0","license":"MIT","_id":"@material/dom@6.0.0-canary.8639c2690.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0643028ad4928d477772a1b3d1b973205b5f02a2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.8639c2690.0.tgz","fileCount":23,"integrity":"sha512-Ux4IuBNyFiYbs7YmW0Yq+yxRm99b54N5+YdAEdeOkv7S3gQq2acHssrcAZej/NRN4QSOfj8PUFAiB1lTjHML0Q==","signatures":[{"sig":"MEUCIQDlNj7ISjLjYUX08IEHR5ZzpbrNuDYdRpIqsNZiKrLkPgIgBDPoQaUxtz0PUqPgHiIxnyEC1GX2OB1CQ8kaxriAt08=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaIX/CRA9TVsSAnZWagAAUngP/jdYG8E0d1ZT8CZro8Dv\nhZlsCwYRxgiChMd9ORjf2xnvcpqeE+rbiTd95dxhsJciTFAAV+nsNx+VzZgA\nIoOMbxkFzQ8LQVYz3y/O3qQ7RJuALmbiKv4EQ4mYK7nshFKl5lNVKt3FEKkM\nLv5UExFR9y3WEC5k0Ynq7lQZJJUI9E1ea2NokE9xf8QHnCczRfsYu3hcuHnt\npBkmGQV9crD+hio7IuQS+NMG+bGlDwIqm62J3oOqyN+jq2rScoukQ45E6Bc8\n6UG6D1QIHGnxIcZxdmsVnSdXS4Kx9SrWijMbCgidSz0to3g0PSVhn2ExJTVw\npcUfQI7L5QAo8EOw2Vaq1A8FSnGyawcCxrFzYgfmjJmcyxeJO8BHUML01U93\n9cO4F+3jN+7NhLzD+dIzCvsffb7E8w70E10fc20hfdk/5msHXjXrg0H5qetX\n4QdythHCPhyWczrfOWw/aCY7dtsaeGE1Sx/x+Yly01V0ztykDrdWD6K6hCX3\nEFpoyVejs6x/7jR4KcQet+yuEmBqI1dnOsYAnjhniHlh1BZxEz5nzm03nNeF\n4YapHEwDqj4mCBIBY4Vc54fjMw0XItqmLB9ik4p2f1eRFDR6zFTUpCUx30hX\nk4kESfKJkgb9pPHtlqie4Jvn159Efvbx9+ff7nQlKfhD0Xhv/uvtrLE+aOmR\n/Kra\r\n=DzYW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"3834dd0603f05e8710f74b00560d4aeb887e5b82","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.8639c2690.0_1583908350838_0.008956727797148956","host":"s3://npm-registry-packages"}},"6.0.0-canary.d5808057f.0":{"name":"@material/dom","version":"6.0.0-canary.d5808057f.0","license":"MIT","_id":"@material/dom@6.0.0-canary.d5808057f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ece7e864050a16a537110b02790516b66f44f563","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.d5808057f.0.tgz","fileCount":23,"integrity":"sha512-G1EMMjQFUzlhjX32Mk5r/vFPD1pVYOWdUuCXwMv+bM2NxIxcjxEGoOOKPU6KVwOovzLxjgAmTWs4AcugRCoLpQ==","signatures":[{"sig":"MEYCIQDrT5ZwJxMhRzBZqANPy2szsrF4fDxRIiabUY05JBLlZwIhALVefUGETtS8r5LIoAIHva+6KS96+zFYJAVAYw6nPSI1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaRDQCRA9TVsSAnZWagAA8xMP/3Pxn9vx9jQ60Jx0CCTy\nhs9N3GCYGGH8xkvk+/qc/9kayS1U6yH1wO657CpxVdGEN5HRp4XGgsfpjkUg\n2FEEMawWk1otWfb1n3ykZplhUwa1c3ixgcUE4ZwErSoCJ8FVYAdUn6SJvYn5\nEN5U1C8k0/ZEYxBJT4BDQZKAlRGPDjpMbLJpjwBld9rjzlrKdS3wAGUsd18x\nocoIdrikDOtn3pe3Wk9JEEYzP9DxBAjk66lDN1dKK18lIOTK2AR/ZZFY2qbE\nPxbsVtAZXRiIRjNdCdf/ryZbEiOmUVerdJVGMciiqtvZuNBraJIjR7VlFrOP\nZ5NamYjHYAJ+oarQgrf/9zholxC8RyhTU8fE1ob7XEMphx3H5DNwbbDPYk0H\najWmOQdWU1JJSG9a1v+uvrlqEKRRn+7fdhENrMrmmz1cGv7cLl//7G3gYUoV\nEnVKQ1+ezMnOwDa6zGSdBOuY3AfWtJ220yvHQWb/OPwyXkpz4A5CeJTohig+\naw6wW4X4HdKVX7Xv+m9rjwu/NfWVPerbPVetP3f1a54Zak12pwfEV6xEwqY3\njiYGz2Bq4Mkz6dZn5H4HJUd/y181khp/Md2Cu//9PSLzUq/5ef1WUnI3fn1t\nx6lWEnSCpL4hRPFM97ak24aEcer5zJ5jCnQBDoJN1jf2KljlCQNbd4JyuuZK\n0O61\r\n=iYMp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"00a6ffbbceea71ed3f3126dbce724119ddc06379","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.d5808057f.0_1583943888081_0.36786966017479994","host":"s3://npm-registry-packages"}},"6.0.0-canary.b3f58203d.0":{"name":"@material/dom","version":"6.0.0-canary.b3f58203d.0","license":"MIT","_id":"@material/dom@6.0.0-canary.b3f58203d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b72310051f558f532beac95bc39b3127d0b16e9e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.b3f58203d.0.tgz","fileCount":23,"integrity":"sha512-E2RZO+W1bl1Z9WSijUDsnO77UgGep+kgp2CxX0M9QKd14Mt9wvePCAjACs8VZPaIxUsztTi/TSxAOVGWrtCEsw==","signatures":[{"sig":"MEYCIQDiIcGH8UMRYlTImnNkVMgu6xzEb3e1u7NO/EpZ4MmPUQIhANJfPm0AqriQFrKwm67YnJfK3zoDAgN2lV5z2magumFH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaT3qCRA9TVsSAnZWagAAUEoQAJcdzV/TVkMTscUcWJ1M\ntw+LgL002VnL5w2XH9KYUFZjYjlt9aA8AOxXBitm8zT8LQ8bwsj1mpbTv8qE\ne8lKIaIFOBOthAK46U8pSQ6BAPeHM8HQrJmyH5RZOtRQUAmhPfH7Jss8rIRI\ntIeLaqp7PWyUarYll31dgBBGIgKJ0nX9zWL3hieIU0gZSDnKDfoJ3gL0bIzU\ntdQhYklXGi6328N1/E6yzDruyROWgE9K+SFICgpp+u8eqHTG3jq84EGRUeAF\nqkCgGY5B/9sbY0uS38P9IPBKqJ3IVNkZRyTk4x9fg/ComXCX5BWWk8i+RfXz\nqLuQn5cxLYElv9iBehfQGbnBhxo18A31VW4sblXFvfoLWR0QQGBre1AcYFqq\n4PTWwlELVJ6pVJH5xUPVAafQUWlbeVPPQTK3cxW5Jh9mOseZE0SzayapYBkU\nrru3QkXVL7Vo67UueqhKC35FOCjtFfSgLas//9IntAppBvnGJxYOrxVYMsMQ\nXx2b50CLzwpcA9Gl77wlaDtPexxC2HvtHLIhf0OP55Hh29nDkAIrJxuU38MR\n4Jv+Ie87dQwkKxPgJNhF6RvlMmuVvBPvgMeqAWPZr/k1eVqM0ogPxCnaKLet\nMvY2Bd2jKPPZOENep1kZSb2Oxznz5MzpLTkQ/yyAvmrC1lqrFVFsNYOeumPz\n5A6W\r\n=6BJ8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"b9ad376b2ebba49982e9b605c903e752e4fb28cc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.b3f58203d.0_1583955433676_0.5501927360072969","host":"s3://npm-registry-packages"}},"6.0.0-canary.bec065920.0":{"name":"@material/dom","version":"6.0.0-canary.bec065920.0","license":"MIT","_id":"@material/dom@6.0.0-canary.bec065920.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3a117880c3e1562b78d21562cc43c46a7a2ac30e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.bec065920.0.tgz","fileCount":23,"integrity":"sha512-m+EW8tuBSM+zaQECG5tt4dZfR2ZxNMzoWT1GEkzNA76XXz0QClCvsGGkuUPuFFs51nw8VK2zYzq8F62PHN8jUQ==","signatures":[{"sig":"MEUCIQDGITd89IncEkYoIXaf4C5oxfaycIji80uCOy/CTRFiVgIgUbzb2OS/savGITdyNIWbga1spL4J6xhZxIdXFLsk/X0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaplMCRA9TVsSAnZWagAA2wwQAIU6M/DtcrvIQ61tzBm8\nCYffbGa+XSb+w4rkpirUihI9uj3I9gkzCNID6ACX3sFhQjIMOM1JSbpAIRKB\njUN8QAIMOpF21BKdNskaY/T9/d6jPXra9O90JYIp35IoEPK97vKfzwKTepkj\nhf01JO1ViYn3fNF9NmIwL/a4Cep/cv8qommHUDsNKwdcrV1QPrnaV+ikehge\ne4uZplDlElRfichS09BLQyialrwcfjvwBO79XXRomHx76ZIMiGhRFIJ6yf3I\nWnxFLOaBhM3lBZe+yHE/emh43aRE65vYgIRwlNg4ptzQxpYqHgEvRWt5iWgl\nVbSrnY5794PURz8zfLDJ+yVZhzaBl2Tv6nlt24pAK4UvL38TvJx3y6dVNw/a\njJPoPhytKndxtNI+tomkv3Ec1o3Y2S1sSZ0zQXnkgxgfJavICIAvNhhpZVTw\nuv0MIT/5Sui4VcD/po4aWseGy5lx52BpNnOqVGM1D4114qtuN7OOsoJXbXAf\nnUHJrcWwRTDPQGrbdHMDDXcdzRuwt4GiUbZoKfByuUQ3iK+E9GfAAJDyoYFd\nJTyzUVPWHr1pcSUazWut4TZlf4FojZQaaKFYEhRFKCMJcvNaVMZ8d+0TSOOV\n6hqjL9/YdzJVjV8mb6HMrH+KzttsJD1NSRAsyspme17ohUF7YEqy4zQkg6v9\n40Um\r\n=XpJH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"ff203cc1a864067909d369c1408fa7ce64954660","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.bec065920.0_1584044363875_0.1670217630490083","host":"s3://npm-registry-packages"}},"6.0.0-canary.776291ef0.0":{"name":"@material/dom","version":"6.0.0-canary.776291ef0.0","license":"MIT","_id":"@material/dom@6.0.0-canary.776291ef0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"df48558124ead8018233901d52343cddb0084021","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.776291ef0.0.tgz","fileCount":23,"integrity":"sha512-jmGsC9+EkXQz/CtcBHy8uRYgnR8DTMR1FAq4GGy30W+0dlETnP/isTEGZeJwxN2fXfmz8tt2And24L0PZCovRQ==","signatures":[{"sig":"MEYCIQDxGM/A941Yvq6WJnPuGeOz1rmLIlebfbEEVvLKz9w2QgIhALlsHiZkZ9B6HPvFBvnsj3mFEUDBNSt6IaISXqdiLNT4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecSLbCRA9TVsSAnZWagAALz0P/2EPnmNKuMeDpJwc5mgc\nFns4S0inFpq5m0dOo7Q2xhE4wh81WZcFJ05CPbunAXiSS+ffT5wNQ2WbS4kc\no0fqBGSgmvRDqgsLIJ26hycesvksn9R4oauoV0hV1Mle2PIMgoPdX1LZi6ih\nJwgNR5Xgr54gobEiOVxb4mqs2HsPF3BdHcxQE6M/U+1skk9ndIVpniSAhZTC\nxlL2s/f+C59AxGtM+j5nifus82gwlXsDDAr67yyRJMuqudTDTxveMEWeWsg4\nKJkNtdsAgwLuWZz2zt65VwNPoqNt274qvoYCBF5spR1wwx7kxqO8/DhFjC0K\nKSs9UVHKEvmhg7V8g138kqoeTyiui2oNGZiN9m5mvwztSleNC3eq0ExcAYjL\nequnBJeh/jFjkNKEU/94waSSu+UPXJl5WQXiuWF7xWaq7fpzziMDVCsAfjNA\nG+uO5N7o4FVhAuruuCfhb8dCa5ysPMATnOdp8xVP77FeKQngbCPi2Z86p3zW\nE144A5ryMpZMxZnhijKD4Ff+PIhtONXGkDYu9aQ1X3MD3oJ71yjcuUUfO7+M\nDhELOmTEnw+eLE62rfGvfqXlA56OxSeuOYLGMV8lt/4sCd2gIIDx1dk1p4dZ\n4pDyP2RoN7UBmnwiiQz2LlpGnWfzb1Lekp8VBDtguVsNgZcUQMa6FMhOfM+a\nni8s\r\n=27ix\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"32f95102d2dd047c662697060685989ec64bb05a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.776291ef0.0_1584472795337_0.9683478686600029","host":"s3://npm-registry-packages"}},"6.0.0-canary.ece19f3dd.0":{"name":"@material/dom","version":"6.0.0-canary.ece19f3dd.0","license":"MIT","_id":"@material/dom@6.0.0-canary.ece19f3dd.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"107a5369ccdbbe501f05ae9b7da13337e1fd9367","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.ece19f3dd.0.tgz","fileCount":23,"integrity":"sha512-wmBO6WPTrHv3e60x+4JLRZJTFsL3fJs5Jsw+aEuozvVxN2b9mtoymvvaG87KsJ8sSeiCD8DtTCOugHq+W90mvA==","signatures":[{"sig":"MEQCIH7Ncd6PmY9JNK/8Yo1UgYaKHMmnH5JDSig8f+8cdAsZAiBx3F4ODg4OjqWKkVz1nAglLbephlL+864QphvWT3O7Gg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecUiBCRA9TVsSAnZWagAAu64P/0ZY+dF3n4pgT7YmjH+a\nipZmiktt4RPZLDJHveqUlEUebG+cNtmbD/lErh0MoZKVFp9/PM0M+l4GViDG\nAoKTm32glO32l1uo0fM/5oaLftjTocqS47gdzIllpPKWKJ91YvplxxSX9TNg\n/PyDZQV4k2tdLGaZqIsVSr4TC+0Aj6BT9sdSW9Zqf1Z5EPZ+kdshhoHRMxoi\nHxPaLs0qfWIs9yiYrEWF35sFREYCMdHbGchda3GOL/9Ngzr89EGwxZlUPnnB\nvx8/apUmyrL80wMQVNF1oZzfv7PjO0i3qEFuWrKqK97Svd1IfBgcnUILyGfv\nHmXbok5qA83mGKBeLghcIXu/gtNgj6ijkVkTpaWp7nUwdg4Vb3nmwRSHWXjJ\nF7PkrSfIRD7PmqjFlX64aEZ5U8+sekFqVJQk8L3TtwWINp8sJKVd/mqszxui\niks+/T/DDzSPTbzcX1W6RLh0W423MXLpX50KMQKjHq4eogAG+ACgw5S4Rh25\nsbqOCXBfVpaUfmhpwyGmQVkqVz5z6AfY5IoKnS+pJxZDolnh7tRsZvasgFYO\nmmA2VWo5hm+HQdvAD0FAN8t6sA7oIHoTK1Uw4b67OczqvntHbA+L15B0LN+s\nTameNSch9OBk1ocbhkrDWvd61/JC+m7QWAiP5YWP+36R3OvWJKCR5k6Bj8gr\n4rS/\r\n=uPJ6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"41a07e9906ac09ddaefa5cbf8327260df4eacd59","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.ece19f3dd.0_1584482433320_0.7676332514643507","host":"s3://npm-registry-packages"}},"6.0.0-canary.4dc45af6c.0":{"name":"@material/dom","version":"6.0.0-canary.4dc45af6c.0","license":"MIT","_id":"@material/dom@6.0.0-canary.4dc45af6c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"da3d50307f5283f218e19f5f6a965c4b59c3678e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.4dc45af6c.0.tgz","fileCount":23,"integrity":"sha512-fgu+WotBxBuzk6eww0GyN48BAuGkkQ/3UnatLhdUb7NwIzEYDRMQ51ew3uyutFe2g1V6Qk6YAzLgl30GmZSVJA==","signatures":[{"sig":"MEQCID3QSd3kJI6IYIrd4hKDCsfVCZG2R+mGmgjwPfWiQ1VwAiAp1/5Z2jDBQTnwjWxBxpbetAM3TdrNzkM6S1nsTNNHRw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecX2bCRA9TVsSAnZWagAAMx8P/1E6ujF+U1EvPNHCfS0I\nC40Sps3f/e6FHHlHlUDsyzEltUOdnpun2p2CB+bDksOyI9zD+ag3T3F722Mh\n4pt/iGYf/o7s5HYa4EHSM478b4OJ6SrTsQR39Z69w0YdYoydyBNAObbVmbOx\n40bakEvuivZ0d+orNuxYN7cZSl1O9MWqMWY8ffwKO3tWHUeoS4d2gvO0CQOx\nBVsBAYUyAHheFw5b466dbwsdgRZBlEglCyCwla9Po3NYeZdOBCmxKDlZH2q6\nMP/Tc0kcjbf0YQCVNH6F/gAq0uB6HfTgtnAzubF3fhH6VF0yc6fjOBU8JLTE\nqTsCDMzfiOn0saiodAnsrJG1OCdsTt9o8b3wC5+Uht9mCPILwR6iOqXlXou3\n4VsKzOaJFoNwPkPw/8RefMoLC0ohkloXZqQbr7/sjd8Hq3Pi6gay46jsRbGV\nrw1M+v91Rh8fGCjFnnUUGr07LiyLi/XB/tyV4GckMDT0Q3QR1bmL9Mb3aoX1\nQ1ufykZrvG9Jg344pscSx5lxaiM0s9SgLwPae8v+RghKsHh2r0sNfVRdYIYl\nmXjDKNNIokjYzs3m9EvsJZll9uv+m0h34TJmz+R9FfdXDZ4HYK55eQKuK59a\naunkw55IZNvzeSZEFW4MxNTUoTPEFOiry2KjVikg3w+lqJIfIYI5Z7IP7+yv\nYaMq\r\n=gMaF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"a2b97fbd4b046de86f7e8aac6b54c5a6d31583b0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.4dc45af6c.0_1584496025873_0.09926498701667108","host":"s3://npm-registry-packages"}},"6.0.0-canary.6b48781bf.0":{"name":"@material/dom","version":"6.0.0-canary.6b48781bf.0","license":"MIT","_id":"@material/dom@6.0.0-canary.6b48781bf.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fc64d9d9de239274877b824edfc792360716daef","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.6b48781bf.0.tgz","fileCount":23,"integrity":"sha512-7hgl0Umyi8tVCI9GOwvbueWW8P9SRBK5I2Dh+mXf3aTIkY/jzge7W292p5We7jZLSCUvpAzOTf1dLCYMTDjo3Q==","signatures":[{"sig":"MEUCIB1+hto20aKp5S6GAUFFr2GZLe1CXr2BAFqWC+aHWrcCAiEA1N7SKfMccFT+IMlcLJEYNBMVrQDDdm3ovRi97iWw7ko=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecj9YCRA9TVsSAnZWagAA7/gP/31vCSwnOVG48uY+2+n4\nOffNZzgiz4u57p22ISAACk94BtV2o2RGBhlEgPP4viteKOMQOKjn/T1f1sa+\n2s4RsR68TPAhc8YNRlBGEI6E4GV77mCg+TYfxSzt4nqE4Go3rmb4Pcn0osek\n3gLHa+CKJcNGEdH4QhtLbAzqa3Zy5Ic2EYqI0W396rb7qSmCkt9uDYTNNDXA\n9vFJDnxFH5su6whaTW6fyQ2CVQ93B3MmWygGPiEb140TvWwC7Ax7a7iVpy4p\nqTu6ABHPvc1+8xX5GX2tDoiejOB+UlaGH/ZqRP/cG8Ni9XiAhF9FBSkFFNuX\n7kZPZl2WnPVo2+LlKpiNYJaX3twk60iJSjoandZme4kW+E3lFYksY+bnB792\nPG5aMNeCmePG7oRnxudoN4MWA9L4tMhLOhPnXm24k0dEpJCjVW8KIrWbtXfQ\n/FgnhTUXqWbZUGI1xsNQhTEBWqy24H9GuS5yMQcuSaOUaf+XQP7fzGZKbgvc\nRl+uwEif1zV3QuuENd/ZCZY+HNM82bvp5ouoShOM/SRgEaWczLIhMDiUngvI\n6MZjRe0yKUg+0FYlLQSd2bcCWykCpaZuwLw5AokLstVPqKKIxv2X9ykasoZ5\nIq2pey0cEL+WCOsk1jlNk1d8nE7cLF5CqW3HiR/1MWl4t/c2kmzPdlzw6wOy\nsBv/\r\n=mD51\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"1da9fc619190678090689bcdcd73eb5885c8a35b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.6b48781bf.0_1584545624423_0.7875205540649819","host":"s3://npm-registry-packages"}},"6.0.0-canary.a88c8e4dc.0":{"name":"@material/dom","version":"6.0.0-canary.a88c8e4dc.0","license":"MIT","_id":"@material/dom@6.0.0-canary.a88c8e4dc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"20a38e1be134e11c12d5c95c5d7fd7a4d0458b74","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.a88c8e4dc.0.tgz","fileCount":23,"integrity":"sha512-WGk46l1YQ1nRVOL/yiuFt4sRGCAPShR30HI0OCttYNde4yrksQG4pswmtN+OtQ8YeKOh7lltSjfFB2FZtH9zig==","signatures":[{"sig":"MEUCICsgX3lqXfoeZ9EHqDUCH4HmIbJie5MGCh1IstjcD/GRAiEA+FvqteQYRyvt/i4XQcDFw1G0B9YxKbNNAfhHJh73RuA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJec61MCRA9TVsSAnZWagAAVJ8P/iG4yk7e6Ewg6dM+cgoB\nIiWXlT6o8BdEdH4aGTpQ4nFux1lZMQPBR+ANzSywYm0yFSLOmnYTZq+V2l49\nPKkxiUm4uTjXkJpeYe42+GCtU2dxDPn3GsEZLZdLBCOwgs5XE2Pgs6Qo+2SW\nTZwjoByXfFKhIj5doxfddaB0Yq8wlh1Hrl1O9VwzmZHbpc0/BmPLvHqEKi4k\nSIcjzrLV6IOXxJvu7OL9KOtm0Hwz0FX20UIuNm5Zx2cVKbLN8P6P0iarsftG\nGgXUtPneVn481OxfRRCTKz7Q6f/FX8WxAAcWiFRGxqVTm/hcfxiE8prf9WbA\nsUKBNSKiYzmhscjQ4SDGCwwGJCdYkBWHnz/RqEqgpBsSGEysMs9ztyAmBRBr\np5JSg6D3CefZEDU/C1uu3ke052uLIfbVqHHClC/s919KrYybsi8W71UiJUlR\nlZieE1EagZ8j/NujYuTQxPXn5H0BEla8glttsbUF0wBlQN2N9aOAuGXfsBiO\nzi1TajbCPmXVw7jWBZMxj6PPYBSSfKVpup7yI4rdqeapivXxuDMP8tz28z2O\nKVjVP44xYKddTYge52ZFADpWCGXA32IuommUTYHQWNJ5cRkdPDj7F4cQ2YEH\nsa8rLvbDGjcXPrbR/MNzP2XsUEcBymL8T7YspBsMkRM0yD0O6L2KBajqh7CP\n86NT\r\n=nd6B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"3d8bc73a5f46456d2ada622785f02cbd3b81c6a9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.14.1/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.a88c8e4dc.0_1584639307593_0.5859405140939895","host":"s3://npm-registry-packages"}},"6.0.0-canary.cafe18860.0":{"name":"@material/dom","version":"6.0.0-canary.cafe18860.0","license":"MIT","_id":"@material/dom@6.0.0-canary.cafe18860.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7f21625c3372364ae864c241053b53d55fbf9cf8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.cafe18860.0.tgz","fileCount":23,"integrity":"sha512-C+tWIm59LWyN3MP2LJSxss2nPBgXUFe84MENTf/dePYBwb0Ok8W6WbuAiHkAl3DNvLPpntx1xtIyIwcpZcfCkQ==","signatures":[{"sig":"MEUCIFtFTcvtjWdG1/4ARZ11vgl8TZM951dEt+wV0+N6qDwpAiEA/4Rzr1rLHLj/9Cz9plfRuAuGm1eZJB52JUCi026v02A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedNi+CRA9TVsSAnZWagAAaE8P/3jvLwMHgcKiA37AkfbJ\nXqhUCnqPJo1J7y+ficNMfjl++R8KTRSFkK/daEVlVRbfHeQeqf9mp8fpGFlz\nP7I7G5iCoYy84iMFr8jHISUVmu8okxC9541YCglWEpbMyWs7ycZ0nZSxR1p3\n0zYWLvvG6U2gH1ma0EIzwachUhby0TqzvDtZyCwOGkN0RT26naERvHXznN3o\nkW0BeAlMOkF5FoB33hAQfeY9z5fuVATWagSyPIdz6fsVNj8zV+o+iJ6mc7Ut\n5okafiyvXSd31A4SpL/qAByjW/JHr3DEz3Md9bbebZkidFgbFAaQq903sVYv\nHq4DJ2twLSyQjnMr8n8goPEhBdaWlV2jhjBObYiv0F4eKzHkZXJDBlMTPt+A\n9PSLhC53RjKZmzfgVMVfjXKci06dg5njpDEI8snS1ZQxESBo6oNVGrVfDYmD\ncEJJ5te6aaQpwjkQK3YsbfqF+K4ve+lbs4ZyyUMToPcV4R5vPwFeEycm5QXB\nImGcSUMv5W4fLCZ/DD0sNs7e/pxEkVi8B2Id7/wQNwWh4AVNsK6SoImpvoP5\nhiS4B5MrihkWlbhNBMzcvGt19sHBZnQtuCBxn/OkNWm8Wno5Nf6ujBi78jMG\n+MB/D6g8fN6If5CmPg4k62MOFPrrSlDT7UqfGFNeFobeczILd7QoHo+6ei3C\n5vp+\r\n=wptd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"51706b933143947baefab6db8cd069a22ed080ae","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.cafe18860.0_1584715966350_0.15475645900783674","host":"s3://npm-registry-packages"}},"6.0.0-canary.35a32aaea.0":{"name":"@material/dom","version":"6.0.0-canary.35a32aaea.0","license":"MIT","_id":"@material/dom@6.0.0-canary.35a32aaea.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f22a36c62a960aed5289319d37b91d27db1e29c2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.35a32aaea.0.tgz","fileCount":23,"integrity":"sha512-QoOQhYwZZ0F+tE7Mci92p8zY4iDsDZxIHZgO191o0zEdGROM6vTB3VupUwBn+5IdSKzblvxNsO6BblfMNmYpsw==","signatures":[{"sig":"MEYCIQCcqR6CRaLei0eNsTAnn1sGaTbk9K1Dly+/O9nQ1WHsMgIhAPgjIjzBRGfcfCFA8mwU7m4SF0xQ4bzqsVJD6FSCvNgm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedSBfCRA9TVsSAnZWagAAL2sP/1zrxe4rwbMr2IBXxHnY\nKl6cKJlTwnihQa1Hkk9psg8sYlamquQgw+uWiVC2sALtApXkQH85rZP9a2Ze\n17W93g7lTujuGcW1qc41I4jX6AGXmGJJOUjP+Hl6F54PJeuoWaRqVe7c2Hbz\nbdUXp4jxCOzrlgnxbtZyGnyu+LQEN6cjax0JFEDHxK0fF/pqu3C2qEpxnIO6\nZ4f9gO59vxo+2c3DGUurlpssqUQosl8hu2PGHeulyTkJwNJe/YBX83y/S6Gp\nycl9dKogk4bsO6G3WlfRm0ZL0CwyZLOJjPhIpT3qaRB7vNOblJZJn0sddlTu\nVMdJY0JVcDiF7KsRiznlJ9NhGc+NYXL8p5kEPycjNJlB4b3sfmu4/83WvYXo\nOFbDMs7BW28WST08dutL697V2s7BZDCNLuOAewiqjKNlE5OF/gEc2+3uGYZw\nrg80PCKWkJWh96MDiUC+NjlT34iYIZUpetGfdn4gxs66kecNDTMbwZlqbp/o\nB6m9oZvvnWVpd6DshMdwNo50J7lWz6alwOlpxOiaTaJwQVQddeMmcvc5e3Cd\nN7LEU+sq6qKbIw9kFeYzk0LQA1xQe1S25+8IRmuDoeEhMHv4R9CUA3Ro3+/e\n41yfBAYBwyBsLbEfL/YtLETh3qjYmYyAdkv8ZWVMKVdtbPojMqMAZWj3J/ct\nErIe\r\n=857q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"09df3d66223ea8f4d4a6ee61b9e34bfe08387774","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.35a32aaea.0_1584734303228_0.8469630004229556","host":"s3://npm-registry-packages"}},"6.0.0-canary.e75deb854.0":{"name":"@material/dom","version":"6.0.0-canary.e75deb854.0","license":"MIT","_id":"@material/dom@6.0.0-canary.e75deb854.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ff8d127bb36ad88ddb119c7a75225db003986024","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.e75deb854.0.tgz","fileCount":23,"integrity":"sha512-a6/GTeu3PW4VTNBW1zwot2cDFmqiIIAZQgdvchJ9YqrfrLks62j6paIqLPnpWxVrTtToyLvXqNLYPSvfThgjvQ==","signatures":[{"sig":"MEYCIQDV6Nk8SKZD7YHIT8k+NR8ynovdNE5cm1Gqsrn/cyRD7QIhAPjEnNoha+2wrD6ZF7heveqGp3GKhwo8vfil7uLlMnug","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedUA3CRA9TVsSAnZWagAAWEMP/2e5omGLpgyly6h/zMs1\n7lPO1SnbZuWr04DeLfKwSMJKcSXrIyBpaB3JjP2innnCOTbk2AKO8/CNXXK7\nbAdQowg55nesbNdFJQ0xz1gTsTgfOS2OPaYTALT57sc6HpOedokoozgxbxOC\nbsmcTcUH48iFohSPDxBzoJ9+rTJS3EBga7nqysUS6+MQf6daT78BczgUx7pe\n76wnajsO/N3JXc1fWGjflfNbxxqdVj7vM8TshURSs5DcjydwOH5K+WzQU2Il\n/IxFnnw1GlsZTI88GrnRn96WxlCkz09OnKXB2kzcBSCxNHvKkiDcYbuHbl8M\ng6m8OQ+eklAu6TNW55uviVxFOVudox26cWwXzkDHMPbWlG04LV6+CqkCqC5T\nwLf9ZVlsdzO0LLgXeHimsOk2dJNUqg9SROex5q9WG5Rz5IjEhY315EzHWQae\npiU4+ret/xusWgpjEkb64cfhCAG4ZOe5bA+Fh3tGcWB2QE9NvHjuiwEfbRtk\nG5UhvD5AV70oiLqISLUEtKjdQo8He+o6DPNrKxUvAv+IDlV9ors2boptC+Uq\nRxyoAGA+CVDVWlJ3ynA8fVqwSUdVhKY6kjeiexmrl4lMdzjYVXTvSZli+njM\niI4niI7KecUP5/CgzpU/WmyBaRL8qeq9IUJfWpmZ2QK0o1GITd9r1rT2UIRs\nBUiO\r\n=ZrrO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"a461f6b9120827a65ed980dcaae3ff77d0581d82","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.e75deb854.0_1584742454818_0.38124223398980317","host":"s3://npm-registry-packages"}},"6.0.0-canary.2cc6966f6.0":{"name":"@material/dom","version":"6.0.0-canary.2cc6966f6.0","license":"MIT","_id":"@material/dom@6.0.0-canary.2cc6966f6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"98d94deb8f2fb92903d2421876ed30d1c754229f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.2cc6966f6.0.tgz","fileCount":23,"integrity":"sha512-/08fZKrCmEa4vFnsmQd5AUMk2HtNoTbmk6d9mH+N9xtjsM6V464LWI5DJcTOmbXH7BsDFR0KWkMiFIPFriOw7g==","signatures":[{"sig":"MEYCIQCxM1xrAEOaIor+EbDCAWon4ziCx8HfabUpv7JOPq0dFgIhAOiR6xrpxXyV0tXwil82yVDSNwWQeREnXZppgHgDDg5W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeelSgCRA9TVsSAnZWagAAoDoQAIucIg3uxO6ED0G1vifX\n4o1CKXiC/x4Iq/HilK/tZ46JLtVNtx3DhehSDKFy2sNDKMxc00i7SwP9FaEL\nUHb4FpFn9LJPx/D3WG+Kv2pvLVPtRx6Qre4YeNjhDgNQMKwng9uEJDz0qDwx\n2geSjoY0AQBWRikY5kApM8WBqbPegwMd8MkMKqvrnmlwpgIFLHuZ3WSZVFWO\nqyppy5KhYcV8zqoDYyWOHBCkfNIG5O6A8sXK4eN6HQHbY52bJp0zY3tKKmGk\n9eX9db4RX4cAA5foNujvtmklL3MgegiDvJnDba7vuTBrAUakm7ZR73SWi1y6\nQcH8Onf0EDQCT4JKjXMkkgiWR0NEsJeGLposRYpcbidNg81AsE/m/za8Xgi8\nzyPei4Ih3dOgy4qwGouaz8VNDQ+INUs3zTgx8yiJcu3XAO2OhQKfmk7/jGKR\n+f+Cjwzvs6KbtnvQk7crqQ7mJfmVzOhTvTIyOsdbpaaJUyWHdVpXYjYVLGzQ\nLPP5iLljbjIYgGjgwh3i+Dy6g2Xl2Z7UP5hzT+V+p2NQW6ah0Oh+ITA1Gwck\nvt2XP3eOmIYuYR6+UAljMN+KEPObot9Jaf/EVsrNDzD1i/kJg8422n+KFDlO\nGel/Y46pNEhun9/RflMBDb2PNn2LBP7y04E61U7sdnAg9x/faX9eIBqyfiXY\nwnuj\r\n=jSn8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"4af7a6e31c561afa46ba7b74cb35de52099583ed","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.2cc6966f6.0_1585075359842_0.774914951125528","host":"s3://npm-registry-packages"}},"6.0.0-canary.8707953b6.0":{"name":"@material/dom","version":"6.0.0-canary.8707953b6.0","license":"MIT","_id":"@material/dom@6.0.0-canary.8707953b6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cfa4819fe52825d85eae5882d12f7f3119e57f62","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.8707953b6.0.tgz","fileCount":23,"integrity":"sha512-vI5hIDTGaWHmDeWuIAJTIUVURpyPmqmnVyYOdCwoyqIH5wg2kcFmCxKVM6WxV+o1V2Wfii+bfiDyDRgOnrDsKA==","signatures":[{"sig":"MEUCIQDaNtrNLCw5TQt1zojd8gLPRKBN3t4EjWoOO71pt2BBGwIgDHB+aQ80DJjQOwdwk50ij6Ey59HsonE1S6DnEVYLnzY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeelVwCRA9TVsSAnZWagAADSMP/2V9MozY69cyoMjqgqHT\nHB+YiKTu33Funp8llrCH5S2shzN+f10Mo7iU1jdaWL41kXUhVInYZjwdz8uw\nN5NgIM3gEnrMjwlcOrUiFHOQ36Y6ysWaMF20IPgAEYtgqZGi0g8/2gsmABuo\nZgGKu01yxzvw1bipUKmUvPitiX2eISr59UZmGqIksvCMOCKqrMUGEw4vvwo0\ntcft77n0btqkOaB0puzGByNpQL0Ek1+2dVkzj5aCczj9ZnEbULh4LsKXN96o\nL73+dCQ8Uu+k7KiyYyNFobjltFOQVrOgR+fdqLobA3VZMOGdGvSz23IFQ3l2\nbbRQz6Xjj6LWUULrGUWsM+bQvDy1C+sNUDPMgAXBkns4Z1F7tVjXVqj8ajWn\ngOQTwMwLbiot2hnzSNOjxTpyJbwFyeyo1UeZdxPorE+WQWr1FOoJfzB1e6e3\nd/l9o7Ke1yG8kbkzh2/xFzIWY2GYJ6GxmjstnrzYCYySQ1tpjnitC+Rl3as7\n8AoYOfMn4OTsKyU+UCfHdO30+SYH8muFChrNeOruPVZmE8yzenNUw1GMCxT0\nBonoPRXloMkZ7JzSo16h6v/vAQxZ1afMDWJWN2Ol/wGzQSsABCwa3UUKMmtR\nkFDoEl0A+DgFMTcWEj/MUOZnoaLwGmxCQz906HNafO7t28voaQC9IfobUFXh\nky+1\r\n=eCvt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"595709807214943e737834107d12d3318e69112f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.8707953b6.0_1585075568249_0.12499745221371494","host":"s3://npm-registry-packages"}},"6.0.0-canary.10af6cf39.0":{"name":"@material/dom","version":"6.0.0-canary.10af6cf39.0","license":"MIT","_id":"@material/dom@6.0.0-canary.10af6cf39.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c920dd6edb543a414d1d557bffd58a0292a8ee7c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.10af6cf39.0.tgz","fileCount":23,"integrity":"sha512-r6rENxgHi8NzwlSWwvxcxcZ3OYchSJNplBt0K9C0vJRkvSB5PrFu/VO4cWyfMDYrQFnXP58G2Uxf119RRCpacA==","signatures":[{"sig":"MEUCIBSqIdR/b8ZOOwgcpchQxQbDLgECFKnTYmnE6E14pThVAiEA9mTycmd5EQ02VWOQ46BC45o6b4ai+l3J98e0eQG6wvg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJee6BKCRA9TVsSAnZWagAAAJcP/igeOFFt8qV9mnJEZ6kV\nzu3Ln0xFOzknAXk2+jNU5yP+iOsaSkOMevgnzJ5HT2klrV3TCudme4EPEwUd\nTFfifhJtQL5dq1MYvWkV+8b3kXPdwWanmH0e0jASPp85V3Nx/JzETB5jQzVt\nidvysRPkNIQ5kj9Nrbyv0T6KmgtIuhC0FupevdvSy/jDxWvHjc6nOIKoRplE\nw+3VzfFFrMUGMVlKqvQ73QN/6eXuA+/XidSWRpJTyOEgUj2Rj3IB2jR86JUH\nAhwU1tyYZ2lkYr54AgyZ8pLYKHolFzY77gytd+861ofzUtkH5uHd1lgxuXiO\nHzMLbCphNwM0vyiFiDRHzhQ9urJrJd3O1/fACYsyaWucLL/Ew+wyBt8dgTnV\nbp08lQ5NofdQ8KrdjyBckNWJxk8IdxDHQv8CHFVhNglNCpBObhGZaUViGBQD\nMMn+v+7Irlv97ovoXkGW/NvgyRbbNr0v5DBtky34TKACf9naVbcUV6NyEweS\nMv4CsR4ou5btIuD5YsD9oQX7r+z8oWgft99hYlGuH+QBcikIK6MpJL69id3r\nb02fhr/BfhGipT00sLPNQvYdIq0KMAFY4JHatAGhGv49hGMRpRlhvwzhd1W3\noxD34MoDSi0BIBWSbrUS3Fo0ZWVCmzw8nH9ytKR73ml23vX6/l33OkUCTJfi\ndq1G\r\n=4tfT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"d618b0c9ce2ac312ce4b887450bb947ed367e100","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.10af6cf39.0_1585160265676_0.11287274895889277","host":"s3://npm-registry-packages"}},"6.0.0-canary.7d8f9c8d7.0":{"name":"@material/dom","version":"6.0.0-canary.7d8f9c8d7.0","license":"MIT","_id":"@material/dom@6.0.0-canary.7d8f9c8d7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"971dbde8e7de29cd73c781c6c269a04b856a1ed2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.7d8f9c8d7.0.tgz","fileCount":23,"integrity":"sha512-Cfibn2D167WSfSo1JbUoHU6YkyakOwLJ2kDWIRyAfQU2efAZxoRte6yECITzgWfHNKUmsBr5L5eO8bWAeb/oqw==","signatures":[{"sig":"MEUCIQCw+BC2UNK4/MymaddiKOtTEPY+ryjXKWHPk0I0OcImywIgbz10ukOtPNPBX1higaAl9OFrg4FK083P30oqxs7bf2g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefkASCRA9TVsSAnZWagAAII8P/jTNQeMxzyq7VS0oRsQx\nn/JKmEARQfbynKWXurz7Baf8eSkLfI7oSVB7U10g5VOdq3R7fikcsXUOmGZJ\nNxIHGSpxO9+9ZQ2/LqHVIWY1Hd16n4ScbwToljcBLgmZK5Jp+uzCHeKqjbQE\nVs+SjVIxv4hSYYvdpCnDZVt6b5vOHZrDy8ZlOsbM6QCc4Q2fvUSmh+04aesB\nPFGuDuqGT5ET6SLDGNOqi3Nob9L+OQRl1TVuGP6Wi+u1n0GsM65qa715Y0Ow\n0E0qAJ3xA8L5B1nvJLyWsAALq12iduiy0dpY6fVUe2M4dPkSvgXm9WI8vzvH\nDmJ+xGW4JVioyYgUbiMWxDT0VI/QTExj39aBTFR77o4zfcgk37CBCoG2LVFa\nywJ3zs6H58Wsc/U/j4qEQo72p4rtMSOWfLACS/aE63BNg8eqD4jINSmfRo1l\n025N1oByHxp3pW2e1SYWXx9mqNT0WPkJlvOlsTD5gJZpdKp7mYf4F/S01TKL\nQe8jiYC2HAIXW0HwVfavPV1ySURNjXO52MTrogDgH6RvVrmqK+77U0zn6XGO\nOdnnqXfyvpqbEyWZIbMLqSKcBYbWR+FBQcPEncsJszUt6BR5jxfLpJNt9Ig4\n1fHcK2RO4C8nfl4snSgMLJtwQmCS0YCXG/s3xn8Grd1kfuteHxng6yVp3OZM\nE9hr\r\n=iozU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"764519b823414bee993cab6845b42f5b60f03c1d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.7d8f9c8d7.0_1585332242498_0.360380204296066","host":"s3://npm-registry-packages"}},"6.0.0-canary.d6315efe2.0":{"name":"@material/dom","version":"6.0.0-canary.d6315efe2.0","license":"MIT","_id":"@material/dom@6.0.0-canary.d6315efe2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0189cc997d50c65df7ba76165f82b37c28e012fe","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.d6315efe2.0.tgz","fileCount":23,"integrity":"sha512-/ygi0y+YPzQd4kATDojtJbIHlAzVfJUXCn3sxWA3l58NroKc10SrpKrNnNwdVx7srhXjTVrApdf7Eknh/Ti/8w==","signatures":[{"sig":"MEYCIQC0OCtdUc2j52dJmY2MJXx8cutDsexJsZHHFw8QuSc1FQIhANb+jP86Ogpkc+Era1FDdzBVu4RHVHFc1aRRPjA3WM50","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeflo0CRA9TVsSAnZWagAA9tQQAImFd3YmGvPVu4PGVktf\nT21Lf0qcGKrV3fA6W+EPtNPXNUJBcXeXmQq+uKS+m1lwcWpInJaYeO4YuDI5\njvcf6GXNeQJ/YXztnWU8DSnd2tU0trOpF7wo4gQJqN1mHmrOgHTcthQGQeDA\nktmz3qiT3l1/QT6bfKjU7CIyLZL6aKP7yQwXhp6+jEqoskZnM9+Lot3nFXvl\nksrEV/hCJS/j+pJysZ7Us0I8K9X/tUanSE41kfVR1sIS5y+k2J30bQwoVBsI\njkyjxyBr80nY+jRWPnfSI8GJxM3vne+NB6o+MihYpQwvrjntZQBzltfZSfjf\njEu1JpI+v7zi+TgqNzgAHyVuu2nGCcuBbiotifcr3zWxOx9uj0mzu4PC2PTW\nnI/eSesph8qb3ojktYQUz8BEjizBfHTWCt/3Alfz5ToaPBKC1Nq0Qk6HG8zY\ncOA1Twvv2TYha1eLUIDPLwize4KL8rm7q9FZ/Z3rlUz1lQsf12FwCg1yWk8V\nSYoJz8ytlkjJeECHfkovyjvG9ZVVijfKd0AellwcUT8AA6q5ApJv/2+5ITVx\n4SJWr7bfU5xPOk1S8AUxCsV+dL3aK7eqoX0Wp0fcZMy1j96cGB8oABjLHwCH\nv4gNb/xJsjouz4nZ9w3WtNmKp3kyb2RYo8ETm3AhrSw+zLsmIMsQaTALS1yf\nMovZ\r\n=2zwO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"87fcfa262498dee051bef9a0a8e8b8f39869e6a0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.d6315efe2.0_1585338931630_0.9910988295409502","host":"s3://npm-registry-packages"}},"6.0.0-canary.a3016368d.0":{"name":"@material/dom","version":"6.0.0-canary.a3016368d.0","license":"MIT","_id":"@material/dom@6.0.0-canary.a3016368d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0b9e1af2cf99d97a9d7f91855155a6e7a33bb925","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.a3016368d.0.tgz","fileCount":23,"integrity":"sha512-hPuh2iV0SB8bv7RwEEDoarK1q9nDAN9y3lDVMiL73NVji+wNWIjItvWrhhEttajC0p9TfU1DyIeqdPbyWiKmyA==","signatures":[{"sig":"MEYCIQDbqCKviINAynwcX6pSxjgYgvLSztKzrOB6jVL7gZsElwIhAJVPGnTahbYcQ+PyBUsEwF558T8OVnCZPCOPuuelkBKu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefm27CRA9TVsSAnZWagAALdUP/1BerfmBVuLqCPYZUINM\nBYHxR3auzv7x13HMy7W27Q+xSz++qvsVgcJQCtBS5kYgbixj5JOfT8pgf18F\nsR1NgQ+MnUMH504nADXr+6okp6yu5q/vndMLbGKHjAmVAdO3IamtAQXMqKBF\nzQIRw1lHzNRnbGWITHz7vGekfmjJa2CE/U6Ah+uZGbUdorPJBE8cjH9uPOB5\nZK0tJLy8/nar8b+Hh37IBZFiU4jcnbNVIqDM/EzMyDr9eZSiJ/J4+3Pi1BQr\nuEn3EkQASRnZtUb7l+LRRK/a1P/fqStumIndM0VHyNZgO8S3fNT+Mum9YL0h\ngkPzqTQfBlbVkbO5dvoZ5vgWu/xRNGGZwDj+xGxB7i25KmJM8qFwZcLNOhMC\na+n85D39gvtVSGynCCjdXluEJ9mG+zIhH/yWk0mjdM5jzJ5CuPnGPSK+f2xK\nl6Xf4Ako3vw4bVdGcXqkCyqOVG5v3dg9MeTo/NzW2WZ0LvhMZHZCIH5gn6fL\n5iZ+N1VDibZIqNRNgdowaVbU56zMvnJi1ofLmCUx1KuMdH0s9wUetjMyxvQA\nuIpSLkdbDpOgHvlgKzbzlnnorH4XSPz4wtVDFkev/L8LPP0kI9cnHmxxB4f1\nDgRPIRSfXDfHg9RmeHyF0mas/WYOB9JoHqS4HOor8jPZiH5kg0s0YhD3FpIO\nD9Ls\r\n=gK+N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"e41b28d8c25aa5e36e88910a1404e7a0730c5d2d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.a3016368d.0_1585343931384_0.8660904776956748","host":"s3://npm-registry-packages"}},"6.0.0-canary.4b45b6620.0":{"name":"@material/dom","version":"6.0.0-canary.4b45b6620.0","license":"MIT","_id":"@material/dom@6.0.0-canary.4b45b6620.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5c2ab5fa769c58998f719c1fb8f3710d4608850f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.4b45b6620.0.tgz","fileCount":23,"integrity":"sha512-zC2WgGvxbIjRpr6Hh8Q9iSwogSefqKBsbDmJ6sqkbsUNggQRLTp8lTPp9ebWayTbW3SFRlECZ2tv+AA9QXIDRQ==","signatures":[{"sig":"MEQCIBcvkKMhN6qP6zT7vucX79vneB/dE2yEdFCsMvTzf2pgAiAvKxjNd6dSFyPUJjF/6EihMw/H9qFEpKW/6JW9i7Avtw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeg2f2CRA9TVsSAnZWagAA9LAP/RZuvZI+QGfKS5AQb9P8\nRI7MCjkr/rzvZHsI7aKtUzjReLLpQS1wKEJg7RjAU86RnB7BKho9sUwsu/6x\nIiTmygcBcQ8S4fAlu4n64lYO5gJf/px3jPlS2evy1Q1Z5RvjvfWERGR46ZWM\nk/hpZIyyFziXBOor9B/BMFOjQbd/ri8O2aLWmcv/W//Q4BQtmcZcEEcfuLSt\ndSzFS/UtuY56VFVL+t26joJ6w07SVKg5AyapgICxKk8HrcdvEhGKicWzX94g\nnKKWEVWqAEecItIhSBDftQ5mLmGsVFSirMKhQTnhn/pwhUN3dPruDNWOLh3n\nyaamyZbyb50tkCzpQWA3+0I9ffXwpJexsJ23t576PkSaoyYirayhrRDTt/CN\n8VKLvxIeRYt1Acnw9V8wIA+elZ56stMAISVIHzG9S/QPu6NPAdAZxsOsTWGl\nw4DxvdgvfT6+pOrB39P+7PiTRgCgYMyfhAplPEqrRKh43WQV6pwyHw9A2zqn\nOKwoU9aWJk7+XHiipTSQ65aEK8XzsC8kisr+9u/6R8jlGkorZb1ayOi+xH1G\ntPB0yZGCvVgc7FiywDBe9YzVp9cYKU9zrvhOtFBaZTz4ZzxUKi4lyJ0AhdUL\n+IGviL81S7/tQ1q6yabuUzqUv7ULgz/ANcFJmd6e/GYcNQNg4ARdMCFvZVzD\nihQb\r\n=xmmj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"9d49d0fd4e563f312e9b2a25d111cf5753591eac","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.4b45b6620.0_1585670134337_0.8768164037514892","host":"s3://npm-registry-packages"}},"6.0.0-canary.e84b9c8.0":{"name":"@material/dom","version":"6.0.0-canary.e84b9c8.0","license":"MIT","_id":"@material/dom@6.0.0-canary.e84b9c8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d32d9badd25284c0169b760416b23a07facb7c4d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.e84b9c8.0.tgz","fileCount":23,"integrity":"sha512-nw3r3OCYYLBX1LUub+PQGqVCZq9BcPKCMr9TNbyXmYeZFaOaQ6a35mjh53KMZa8G6Uew6qmlmUjEIoQ3zUtiKQ==","signatures":[{"sig":"MEUCIQDgl5S80NIqgRba48838oQ+yGxkfu5mUcP6qZJ4m2Z7WgIgPntO+olvbYXsBUDx3uKFM4wu0+DWLbnjQmBFzdUMqQ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83946,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehMdwCRA9TVsSAnZWagAAhkwP/3LC/TokU6vuo3fQ5ASK\nlwSiDGdNVKQq+wHnWg7OnGzbQOqFSqAt85WsNnEVWIz5/pOxUKMF4xkXXzJ8\ntC1sYUpkNZMcy99FMt4f0AZXtS/vYHZIBvjj734i2EJOZMdFCerx36KpHrJL\nfZBx6Hsk7W27wF9Ir9FZHExdlVqXU3GUcNO939TNd8Yk3ESFQd2h8UvzO+mb\nRr31xxVlNtvDQnqhCgmPI4RGqpZ0hiZ+6Xtl3AusShx+qRWqMPyYSmwXyPUS\nYjyE2sBIDmn6zRf1z8oLKaYI90of/N4sLqawSexnPH9nA+99eu0dBGhf6FZQ\nYkkgdJotZUV/GyawPJ8Amd4bWLq++nqwRm0zU4vDvN6op2GLq3ZkAYQK3sZu\ntUKX96bS/O9KLzvmxU//QtCo50tEkseaobaUxIrm+OolzXva5DHsovSDVIO9\ndQ1ZLsouC6fHGWNwVi72nFsyUJzAkk1UMVrFNbE+L0VqGT+hWV6xGtfKN+Ma\nIwiplwSMtplfUOZaThFFHfqczi/RXrXtWqp8w311cqz0r3kREwR4p3wh7SWL\nVzCnFlKWXpwy0qaYrHLpl6Ev31jLDHr0Fd0cJy5SPeRN/gMnJyhs7LbkAULU\nrEnktzvxqz6fN8TPmigo4g14QqIUaBZzsXeMsScL7VUZxz/9W6zSjoMUiNyQ\nmUGa\r\n=saks\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"8c119e9b02d2718e7b4df7fb72c1724650583b0c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.e84b9c8.0_1585760111700_0.7878033965242595","host":"s3://npm-registry-packages"}},"6.0.0-canary.e33c49e.0":{"name":"@material/dom","version":"6.0.0-canary.e33c49e.0","license":"MIT","_id":"@material/dom@6.0.0-canary.e33c49e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"501295a5b2f9d192854bc3c9db7f60f107d63c54","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.e33c49e.0.tgz","fileCount":23,"integrity":"sha512-hNBxjnHINl6jsNWFjWTUovDSMMKgZowuM3cff+dVjnqIZMQu8p2a1lxGbOvGbQg0nEZLfpwK9iSRDQUBPioGiw==","signatures":[{"sig":"MEYCIQD4oVjZb6plgrNwXXhmxo7ZCk5am+Y4Cl49oZrrKTwpDQIhAP1zaAC8ibishiaLDxVCHCmv+lkUEitkqKEITDcexogF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehS0LCRA9TVsSAnZWagAA6okQAJOdtuEsqrxwxylBsW4P\nyG/m0bknCoaWirJrWHESNqO3aX8ubtBkOk20OUw7KPIFAJs5E2hzaDsJq/kg\n+/pbURgJT3dff3q3l3cpppBpkpjqN3Y0X/ln+b4o8bzDe88AeofMRlE0ajMl\nRWqPEoZB1Rt/l5rbAOI5Wlf+V6ROChF84QnADevrTaesMCpJd/Kto3lpXos0\nwqTIs7Bt1k9pvnI6KTL3OKK4qFxSYyqEqrpvSyGywPONSixYaD5koKLQY1Xr\nZ2UZ8PU4rhilDM9jIjgjWlY2F8Ty00pyEqo+9UyLtgDXQfJKASvDmfYj6Tuv\nchsQHw5Zm5+6+Mhsd3a7jDvzQsjqoGNsFC3/BbgDRKLPkPPl7hmhvpuX3Ila\nK/fpVOyyj2lf+tM0yxjIi/NGf3Ou2/1OaucUczUUkNylVHSoDJCLqdQ0v714\nE8/aMXH4iafCHKi/e04Dypx6Jk8Ab3FIsvBglT9Lq/x54P2VTcpgPOV2aSsO\ndimMU1F3qVe3FYF+/kkMF0b6EohI2Th877ZLRY4Od+ZAGuRTskqLotzUC2qs\nMteHvPgy30Cf1AyJPdFdzA7hwXYWKglnamdmGEaZlQkMadL6bK1XXr0gG0g7\n7PzFafylLoylzjy+55yonhVzpLD8JRWHRWfoFn877DQkVUX0Rr7MlMRxSlq0\n/CdL\r\n=R8Tc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"e369357845cadf1687509d31fac95d3131a90718","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.e33c49e.0_1585786123456_0.38954173371380607","host":"s3://npm-registry-packages"}},"6.0.0-canary.f1f8e60.0":{"name":"@material/dom","version":"6.0.0-canary.f1f8e60.0","license":"MIT","_id":"@material/dom@6.0.0-canary.f1f8e60.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"700a8f30cf5275bc819c51c500b65436e247449e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.f1f8e60.0.tgz","fileCount":23,"integrity":"sha512-vFJPyxLA5ZIowudhQhXZ4UJ2wb1UwFo1y+r5Mq0v3SYuBp1crOkvayX95aXn8Djd2jV8muI41pX5cbeZLIyHNQ==","signatures":[{"sig":"MEUCIQCZOhuxKcYb1DMuVeUP+/J6mmy15lnYCDVQvZ9JUnFv3AIgcCgxSIlFYBBxLHhE9Dgxu9YjF/51RCmDPdpiNcfYtbs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83721,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehjk9CRA9TVsSAnZWagAAGqgP/32VhCBfqF9nxMeV0on4\nPIHgXhd6eK44ORP6+KbwKKwG0BqBvza/+QI/9qhqpgcWb2+6VvZZjL8vcePH\nPXfOHlsEmqs1ooToWWSnzUTlRRDhTmMXri5sd1ZuluoJ6ZBOTtV/jauL4NUD\nRLM6U5I1jdDVFhUOROq2UIRq97NNKTa2TLhg/0mQ1ZKV2b8gZJLwGXS8XZNt\nWUsKy9B0A1J5lXi38O8twaWDrfcaS2smUluqlsUbehbEoEiAiUHWg2pyXrTD\nGDKkA+zJPsOxF67GjKo+egj01pW4b1ijMXBZwKN0K+kyBhUrE+sHlvSOZfzD\nQQtd3W5aOsOBMgm44r+x8aTomNA6R/bm7QQwtqxyYoYEJzVmhkWs4Q4U5FGz\nolodkG6rjpUmKFvv6J+g22iqK8AUi65b2oMtQGXJZPnZSBJUnk5IX/raMiKS\nmDJUDZNX1xn5P6RW/xUBzt95OsVO1DhChtRjOhyTicfGkBqDhMAbMPG45kS0\nZ4qRzSvKVya0KELrCexIm1JFCVJKhWzIbVGvtV+OxV429zfkGNrkU7zyiLXu\nvS1dyT0rGEREfUoTk9ZUUz3PqtKgaLkOrhNJsLKx9iPXuPEt0LmPMlJkIO6G\npEarThSfT7MyA1hWYQNIETHxIliWdo7ntQdl3ddMSW11XxOxOhBExTTBZKSk\nTeqJ\r\n=j1h+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"aa365c532331b10b868579dbf1fa4335e9499185","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.f1f8e60.0_1585854781519_0.0016756787154450503","host":"s3://npm-registry-packages"}},"6.0.0-canary.1e17c49b3.0":{"name":"@material/dom","version":"6.0.0-canary.1e17c49b3.0","license":"MIT","_id":"@material/dom@6.0.0-canary.1e17c49b3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ea6a2ea498770d17e08698ea2ba594b5acffc2e1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.1e17c49b3.0.tgz","fileCount":23,"integrity":"sha512-CQQNbKsoyWplDCEjOG7hOic+RbMyNm3434cQFkCYxmpsL2UCnoqThnXuNH96k7YOdbkWZP3vM2NqXVXx2q7PGQ==","signatures":[{"sig":"MEYCIQDzDGGQxEl99Q+N46WgRPFKMiq1V3q6mVHuJTlcuFnlGQIhAJAhb+P2sPa8x34//ox1psgQx6I4Mf9Yf48GhCGYZi06","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeh3piCRA9TVsSAnZWagAAeZkQAJDJ16hEQFdzCep5mJcA\n7SmFmMN9JuABlKZgPS8NVTGReIWx9QK7Boj151JjIZlvP0NGdBuj5lNTuAGA\nrXNi6y+xRSQjDeAnHMXGNUFzsmIE+/MhAkB/Hq2gzbR6BlHHjNaiJ5B/r3Ir\ntg96nVSQ24dwyutmiLDnCm2slUzDDvho31Q78PcdsV73RRTUQ+iHO+8NEA56\nKil/D1SkpEcaJPpgkal527MU5tjcMmnbT9ljOQVq4Tyrao0eUQFPqilcTntf\n4SkQYUGzNyPw9LQE4smpIHe500ReTHRlOiJjeedV2LJ94wZ4Ncj0bdMfAxpw\nTA5PSGS2MROcuBVY0JOIm5aNvxujEFF4Rephs9QNcDgezyT3VpcMEAUwOdvf\nB/irbkraGbZPx+l70Kl0Z/368rzrEyBFGdnc3+e2Q8rIYPiVvp6M1Ytet6M/\nQYvDR4D5ld+/yRUcye44yv6HDwwm//2XEedjNbMqoPZS+ekYHZawTtho4Wne\n90RhrnpZzJueVUCpG8iO7fkFWYBBQDM5YLYkWah+m2ncZc87x36Nx5yUgWpo\nGhetqScvAiLCGsK5/MmJsFkNWUW9SoyUIj8HQEOLux+FkP4njeSsWwGiMuKh\noUtKpaT7TdghryIxrPFRpKg04NGJ6TT3gplOB1W8DE1hrhAeFE3sYtSrYiPc\nA5Ka\r\n=9jpQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"08bf363eac26d705e8c4b0bcda91042b9c73f82e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.1e17c49b3.0_1585936994456_0.9506116700320777","host":"s3://npm-registry-packages"}},"6.0.0-canary.6a40ef217.0":{"name":"@material/dom","version":"6.0.0-canary.6a40ef217.0","license":"MIT","_id":"@material/dom@6.0.0-canary.6a40ef217.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f49286699f4faf5632a1be7d068454c88e5e3481","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.6a40ef217.0.tgz","fileCount":23,"integrity":"sha512-Qn009gyWq3t1JA+o5FRzeQMGsPDEcc1B2JwlOsiKuDG7eLVLuNh7YTGFdq2LIyZ69Ddc7a7Vo64kmXhnfFB2BQ==","signatures":[{"sig":"MEUCIDr67LPsFOyThocY+LvT4gtqaLL5AaKdb88gyiZpEM3SAiEA4FFX0qk9TJ1tWs4IHrajfc5DpXiJfipCavH+Krc3BtM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeh41JCRA9TVsSAnZWagAAVLsP/1ZOZs7ie1diCG3ONXFS\njNw+v2I42Wcd5mliBz1OPJFgeKMQ2Z+VKIhVp/pZmiDoL63CiMCREyxggCwh\nT5J+TK93nITQZGCTQYAFBM5l2a6hYdx5Gn37DfGh+6H5KK814fYstT6ZoH2Q\nEVIepRqwfDGbKYoGdQJsN8lSMuTLekCQI/BWoHMFYhhmYwph5AelxqwJqOtQ\naC37+wIKXwYnJSPlvA+14O9H4IChfhHyVWWV21OLP2QtntJDx/NBdNmSD1vx\ncAsqcXIHkmvSSNWKLnFq4dExN/8Zh2t3pqCNZUxbDPoVjPstJ3dEyKUfVzRQ\nO6rwTEimUAAXdfugUSFDv8pTwV2Py1Iuw5zr3UY81rAdkbhd/bUu6pyU83+P\nwdl3COtTDuxdnN7wHcfG5w4yRkxtY8XuVq48rvJMeaEaT+uyK/hSG6/UFJPh\nMCEsaqdPeMmTLhrARhF6LpLITeaffDwvo4UyBhsIt1JdbgLDGdxtJ27d03FO\ndQp9Z5mq93pjAWGLITwaklgL2EsuC/tTDjIdt/rSStlVL3R6gJGyaYa03+Fe\n7kZPr1H+HR346MkA2tBGbbm7Gfz8csHhS+I4u+AhMvU4F1uO/mUkjnBOA4sn\nhi8NaX/rbbcsn2bAK5gQ4/wrGiwxlInXNv5tieNiHPuSoMqQO4YCSnmjPsVm\nfMpm\r\n=4QtT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n","gitHead":"94e553cfa7e3fa8977ae7bd2ff7df4021f815787","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.6a40ef217.0_1585941832521_0.9966404358007139","host":"s3://npm-registry-packages"}},"6.0.0-canary.5f24faacb.0":{"name":"@material/dom","version":"6.0.0-canary.5f24faacb.0","license":"MIT","_id":"@material/dom@6.0.0-canary.5f24faacb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f6321ef59b9690bd1e4d3ac35729cb2fbfa860ba","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.5f24faacb.0.tgz","fileCount":26,"integrity":"sha512-fW0KCXVAjYxw2LzPmuLE7T0EKvtMKPRakbYrLgfFnvMBMnQlI//cNHAD+Qm8+qD179gKAD5qgvISHD9uFPWUXA==","signatures":[{"sig":"MEUCIQDkvXeCY2vnm9U2Rju25VZFoMXrFv28QDiEhtYyke16SAIgPT+gDFZ1PUL/88m4meaKEVhqgP8dTJ3hvHoXNqyGbjU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeje85CRA9TVsSAnZWagAAIQwP+QCThPjerauC433wB8OA\noC2GIEyy2UveoGsqBQ0EE8ZB/iX19vucZUXDveK5rF2zCFnN2E1SqjqQL6eh\nnRDP9NEpfUaBWdjp8x4UWc9q5FamvXnbEGyXWEtVMbxB0TeWDTtT5pTx2OOQ\n2Zhc3D2GhQByYEJrDKdo6cVWsHWIojvJDuDtfaC7feyqDQoRJ4WzFVi3N2dr\n614Eqa8lneVZQ9P1+YDvWm1+er8Cx30LypGt37o+If5vX2gDbfiJWwCOIOTd\nvQSHtCL8Dms0kqtKyT+hfXPNqlOKteYzXQbdT15js7WUt1acNyN2VRY366WS\nFgET3GFlGtGj1ySCKHZcTeWsy62byncwnpYbKPtrWAYy34kG/2Az11xwPTDE\nBNvzhCXD3d4a4u+UTPxzWi5Zta+jRYiD5+HrYVMOBMd83AtXbDn4Hj0BD6z6\nSIpXLW7bhr00bohJG5CR4gfpDZFFAlEpwVh44xmXCR9dldb7FbCyDdyCi2cE\nQKhZt8GlebBD+mLsQH4mgaBj/VjiaE8SiyZ/Yzq5Rau9hIyVgtXTrBBscWcx\nzdrCR2v/GyqW4By5Vmz+4d03i/mB73K1s+3Zzf8VlOHOvHwvZvQKw8y7g8wM\nT//HQaXCYSMCeZZVMacNkL1+u+EgEHU+DH2xuWPWmY0/LOMH4KTG0Do1Lw7X\ndYSy\r\n=DIVW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"2c7c3d8feb6b7bb5281c1144c43a06f3ca963316","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.5f24faacb.0_1586360121090_0.66983678150829","host":"s3://npm-registry-packages"}},"6.0.0-canary.82fa986b9.0":{"name":"@material/dom","version":"6.0.0-canary.82fa986b9.0","license":"MIT","_id":"@material/dom@6.0.0-canary.82fa986b9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9f4af174269b3582513f93f2f7ec1e4b60191a0b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.82fa986b9.0.tgz","fileCount":26,"integrity":"sha512-Qt0eoSWN4pfARIqvGxllebgHD/grLoQgxFuhwiCvE08NgTzCIQwITqAya0hVXpYaB/rZ+HDYjGkycdpbzMeb5Q==","signatures":[{"sig":"MEYCIQCEDpV/Xx46Dmp2iOkV/IrzL+Dcs0yTrhH7doz3xq8KRQIhAMTR6m/iC+5qANh/b3R73jUzFu2u3EoONyNPs2PoVkQI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejfCJCRA9TVsSAnZWagAAstIP/R9GvRSxNo6pryM8lSGs\nvDQWGiEJtNw54WrFFvecAhycaMU7D337UZuNa0jJ8GVem8h1gc9/3wDbeTDu\nqJOucKwFpE8KSRyQ7rSWJe+SH7cjnct8XB4W1jSY/3jUzZr88ALoAyyy/7UE\nJ1XBzB4oC25ZiGuqIEacnYvLZbsftx8iHe2u76A+R78SNBREzozjUCy07R0T\nzVIJpCbJQ51JCdQTvY2y7Hs9LI3VvnvfcFJF6YF9YXjij8ot3gMhxpbAffTC\nINL0MCpb81H6zAFXcstP72XMc3PR9e3Vl/mmHcxX/2pxPJIessYTPHBZhr7j\nQmo8Rvaj1OL/1irDpIo2SYzzK21W0NSGGfyYBEoYB0PWDLbj6vYBxyEEF7D0\nwtJsHkaCVV9gvSPZ8jiWlqG2iK5cgSwMPVIuG4nIXKGXfuHCx/XJ1r5Z6pb7\nbPy0rPyZZy9N1nqywHdUcOteN1OvqniA0GOrqDHkuISzX/esSPdjYmkFWehX\nUj5O0tHnxSQJy0Uoc0mhB/JZI4NXOxwLOLzIssfz2wq7E4uOGG3KwVhv39KI\nGq7VpeDaKFleD5vrBPyvqRWQ9gbFZiqDo27yZf2/Eg4T7LxuTqMJGKE/g5NB\nnl4N2TteWzWrRlIvTpQct+hnAl9dwUGNR95JtFiE3rpWjqcWifBzIQ2rcEiY\nLkuA\r\n=1GCb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"4fd9bd21072735eb447e594a5fade5eb1e846831","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.19.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.82fa986b9.0_1586360457231_0.3742675073025099","host":"s3://npm-registry-packages"}},"6.0.0-canary.9930d9cc5.0":{"name":"@material/dom","version":"6.0.0-canary.9930d9cc5.0","license":"MIT","_id":"@material/dom@6.0.0-canary.9930d9cc5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"22359e63f457892d95ee2bc11a27aee96de9644c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.9930d9cc5.0.tgz","fileCount":26,"integrity":"sha512-qN/gzKyaEx8U9kUynIO+eZg6cMjt4ZUiQ1WJnWT+eRsy/7HDLySSKZdy5SfzurQLLRUNmjwETQqNa3IqBhGkxg==","signatures":[{"sig":"MEUCIACDCE4PoGiGJHCydjxrFawzZIcGKzHDr+fqcLOE20jdAiEAq4YLIwJLbMYYvgAP+3NwFTgtagdEI3F+23ijJlnOpsQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejiaZCRA9TVsSAnZWagAA91YQAKOBzXWrlorbn666BfhU\n+G9otos6hMazuhD9OaifuMBYDM138N9og+BYKRWPWQ0tKkZLHqPhU03BzGnk\ntkkX6P+0Hf6AddPsZTyoXQUj7mJgB3bJlUwkbG339y2mWDiM6mJ9Bw4J0a2P\nFMUc5R+IR9RNd98Rd4FkGNG407k7xLTgFab/qjA4bPxBN2ksNPdPHQe/d6lx\n0euet4tSQr4e1yjg1u3zA49xe5Wvq+uAovCNVjjyVljSubo0/ueugv1YlxJK\nLIujds2e8fRZSWwwGym+o3wwnaAa7AVvaPye0+hDIykvJZi8iPHhtHOW5sdU\nd+sffdYgS/U/3U+che0EZ8nMVKdqbLl9nnU413TZ8c6kf8hHPWQetp8hXkuo\nqZrkY6dBoggeuman87TkLdh4NCfRowLBhkBEBut1sFgvpYke3RhjDVo4r6w1\nn1/L1lmROCkj8ru183EKhjCPC/wCfKAVMkTryPUbN+v9C3IBVAElPLVCizHF\nVSCO5+Aq/pVAd2THisvCmB2PEqoSznuqyPuQOrOmpJhmWamAbXNhmvSfpA7D\nSNd8Mw3ofj+8fs7GOee4P3ffqlF0A1cSrVX81a1/chwySmagJQiKVOCP9ByI\nkZ7Xg1QPhgryYuAQbJPgK/J1AZBliOAjJvQs0hioveDQKi2wqGZJ/ig1uKyb\nZ8Zb\r\n=TGNL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"a0382987a27373aa348015a5e2529f301f638d57","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.9930d9cc5.0_1586374296542_0.2968706198692981","host":"s3://npm-registry-packages"}},"6.0.0-canary.6601d24af.0":{"name":"@material/dom","version":"6.0.0-canary.6601d24af.0","license":"MIT","_id":"@material/dom@6.0.0-canary.6601d24af.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"71a01e8e21f4a1982765baf41994cf2c9b58a8b8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.6601d24af.0.tgz","fileCount":26,"integrity":"sha512-Eh23Rq4xocgKzYv8vJc9DEUDqusMYB6G+rzS3baiDYKd2ie4JkzlTl+7F8R4FQT8+fpCoEMT77HxRt6NNw2+4Q==","signatures":[{"sig":"MEYCIQCHrcXBkeDBhjA1cjkkW6bh2wHt0HufNs8SJ3+pwRBFCwIhAJ+0cnTMRcn32seiPbaP8q84DQwNZN6dR40L5Xho/AzS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejmxYCRA9TVsSAnZWagAAWooP/1ak+Fn+FeA2v9AjO4N9\n0XnNktIA3nSUl/pfM+kQllc0GhEgEwh+TvWJUYFT4GUjU1vRleSnA3fCdmme\n+NEOxKu6En4lE07SfczsL5tBlbi0TYlqyPJhdjCjIW1vNJxfXgILcOwVjMEH\nc5wdMgXn25qOB6rsiXoKkd9h2iAcNVjRByl9LJCGkDf1aoKU8oBWyky5PEu8\nz73nkmbuhmrrbXTwogPjWt1yDpaq/56p4eiCt5h0KJQn8/VqGMaY+JvgEnji\nNeB/ELRQxBHX+bQbQWUHGcSf4Tv/FhJJh01FwY+H5kyk1snKdwndhqaXzJVC\n8oZfFjKTlYq6KI+8xsz6v0piUk/q3KWgsBpGHHKnRDboy/yeIJuDtUFXwRll\nZpHc/Nuto7/CCPuY9uLWGHOf+sznFf+SvPoqOcGICMi6NfHyX883BkLNTma8\nhsCLzTr4JWNy6A6CnjbtQTVKOm1mdaU9fj1LvDvPwcY++ZM5sDEry7uY4057\n9f2kQ+eyvHj9gSEWXP5oEEWTGyXEgjptqrEePK5VL5XqNq7sZNMEfPos8XD6\nxQd5Z9OgXVlGosSJ09KNMd8ohMvInr1jERJW7kagoiLZkCNJ1rwWJlZW9VO7\nuz/o06DLxuWtqR+jp3Vm4WhlbRMXJKkAAUH1S8dDxgHYDdlxkFm7yMEeHA+C\nJ6st\r\n=lGcj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"f22a45db8a22981a17395184998a94e6a32944c9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.6601d24af.0_1586392151961_0.2776656270878033","host":"s3://npm-registry-packages"}},"6.0.0-canary.05f5e1583.0":{"name":"@material/dom","version":"6.0.0-canary.05f5e1583.0","license":"MIT","_id":"@material/dom@6.0.0-canary.05f5e1583.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"243131743c0276fd71268f03a120672141208f2b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.05f5e1583.0.tgz","fileCount":26,"integrity":"sha512-blKSM2mF5fRiSwSh6u3a0XmZO5g4GTKyRk7W/lCqBCRjC/25WJZyW0VgnVF6GeEsNRmU/9fbysbKrHn0vhOpzg==","signatures":[{"sig":"MEUCIQCX601Ko9Bi/wQErU72dRlkT+VCqAZJnhH0tscMxoCMfwIgc/8RQkmXzeoqYhv3ETdU6erEqx19W8N6vXfGaFYKTDo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejnBiCRA9TVsSAnZWagAAYboQAIz4pcPTNslUBydevGYF\nZIpZYuuhWg95ad18fDYeril0G63ARgbEwUY2fozzMcOpJ0nDoHTtHBfIilpP\noAfwZw53d7+TYk5FA221WSHU0kL3zJxOovx/INl3tEV+/gFI36pO7fhXPR+/\nLtFg9uoGd4KP4lN7kH2Sjgvr6YaZl1cZ7EDir1gaprU6WLJGP88flnLS/Qf6\ni104yaz4EIh2T1phsm+eVPx30luWBYrRY18Oih1y1v28lvrsWtSRqCoTnoRc\ntQHLDMyKhMWvVG5xWdxTdxk0TeE8mmwtfC0pkFEFK6X8fO5BUoENmn4DrIaq\nSl0W1occu5Py2Q2WTGzmFOZ52ePRWRQpUSFir22NoDl+BhFXssFba+/sMGQZ\nd3YlRwkgLL8l6pysOP4z0lamuHwcp75YlgsPtRoTEsgG9CDJvqx8h2HHSjCE\n8haXZx7jXnivokgODvMb1/QbM4H5xF6xSfNZ0hWDpznAql3zvfIyN06Qzw2Y\nP2Y39FibNUOhHOVO5Hw6PZ+SVc1opWySXLKVJQJoS/Urfz5+D1UXAVBghqoY\nMBAVfmPV5tNWQwhTnIX/i7fyjTjADDDW8mGE1J1bp7AdFg2D3hSPzjCi7VRg\npzD+94FsiQk8p4mcKr+ZpNLqEC5Uqh/3ePQchhuPFFwSgG3C4CDfxBpUwIVe\nNW1G\r\n=QXUB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"413c1908165c032ac95dc5456e70978d3994b6d5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.05f5e1583.0_1586393185689_0.2723214387065964","host":"s3://npm-registry-packages"}},"6.0.0-canary.bce00e186.0":{"name":"@material/dom","version":"6.0.0-canary.bce00e186.0","license":"MIT","_id":"@material/dom@6.0.0-canary.bce00e186.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f57cb619cf749d959141400144f48f1ddd03479a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.bce00e186.0.tgz","fileCount":26,"integrity":"sha512-qOmnt2YYMipV0ZE57/GyDZCBqARAmSrdCgTDUFfDGjF8iY5d+MwTCvovWtv80taKCG1S9WJJ2C/eZFafU3WnFQ==","signatures":[{"sig":"MEYCIQCv0GZTGnECM1hAWTP8CFC6qw2KkhMUVZ9a4pb8ie2+pAIhAO8dmab0NQSIBMSDVUVkvkC//+W7WOUCv/grRO8TzIoV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejz2QCRA9TVsSAnZWagAAdLMP/iZM/CSPuEscb2tKSeIN\nA/02gQxuv8uyDOTrL7R54gv3rcJwzo4J4yAQ7aovN4OPkme27j8XpGugPfS8\nO4FLL04XAv+JHRrsOWp2CTkiqY523unJkl46QsBufqzOrTpkOoQQ57B0QMnA\njWrBJOlv9n5C5bxLc04fhfaU83Ac/9/psphO2pUHGzn81C3cfXaF/ezrPnlQ\nfTnAALl6W6uBjwJMH6haLwPosNQFdDLO45cBAPMC9fItoB1PFlTogvqdHR+e\ngDGjIALNyHgxe2zcVaDeb0kkkMTqLZMgPG9MELlWL9uPiRpZpLV0lEWm6kWW\nmrFUWfdv7nsS1S8SD1QYE7l/yRPYcL32LqCnjRgBJ43UeiEwYeMyxp88z/tH\nelEAgBh9pCr2nYliLHoYf00OnwVs6sqCwqd8ZORWhvlajmSZ+0gAEBPKfR35\nb9y9IK3o7tSTiGPR5fQ/fvqESx0Ck82PfdO+QOlv+U/m+U8GEwqOvQ9ccSZo\n//AyD3wPSDx0MC1pptH2Wxl5BdDJCo1jJhXu8wQF6zZ0ZAlbva6GBxts6rrC\ncuRkPUGyaHYGGf12gV7HgIfRaW/bL6Qj4c7r6tF8WXXn1lxD53sHZzb6MN4B\nODqa8HYWaPgWqcw2+Oct4GL2VeMftk+yRj8lFP5DW/eC/fHR/1nugiEISBix\nghbP\r\n=mmxl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"36e6ce5271637d131432d915870da208d16bef74","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.bce00e186.0_1586445711620_0.6004682449090024","host":"s3://npm-registry-packages"}},"6.0.0-canary.927fa902c.0":{"name":"@material/dom","version":"6.0.0-canary.927fa902c.0","license":"MIT","_id":"@material/dom@6.0.0-canary.927fa902c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3930db242768e9b81507990e5e5fbdb65467079b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.927fa902c.0.tgz","fileCount":26,"integrity":"sha512-+gIFTuAJvC7aQx2FzxiQgHNNBpeqEakYEkxtDgKRZado53qoty7FrYGieDMdxqDG1FQQzHs3S/ojWEGf5S81Ww==","signatures":[{"sig":"MEUCIBnWTDjWTP953opMw+UsTQg00bB9Rkxba0Do/o/AulkzAiEAvPfdOLQUI/HzjEk6I+T1AOgN9J8IfkosRTkOzqf9dDU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej21cCRA9TVsSAnZWagAAi/QQAKCy8DlQWkXlWZUdO2fK\noNZ94mVz4hwuBjCewk/3RgnVBzl+z+BUdcPxpGzUXaqkp6A8LMzLEl2pAhuv\nVbyShqRcer76FMpsZVjAg9Yy96T9qLtIk0cDPqfhzYuN1vDGC6lXs+pY4Vie\nVTR91dqYEZsfAUWAmy00K9N8UMEvQW0CbbYcAsuE8bI74/Q0/ErNIXMhOQKy\nOfk73ZGHGlIx2i9ATaSh6mehsyxNOwL1ieblO/jidTPjpUHCST3avmjRlQ64\np2oljQKGw4lqXs7oQNL70q9h8Vapo3ksjahaZD98LgUPdgdiX5HEI7xBluK5\nqZv/nf/h7NP0qCymQBnAUldwndJWoLqxngFt56sA0OTwipYdMz8H7/eG3pmp\nX6BDJrYtMevshVTUbAy46kVku3bwTs762FLA1440BM4Rnuq/A6VD4+/NW7uN\nvnVZDUA2NaUsqtt2ZNtzx+vacFEAUOmMoEPhrYt4GCp/R1qWwB/GL+wjur27\nmpH5ZwJ/4zewOHBtk3yd+MC21q5vTz8GPe/lrKtbqGp4ELMKqCRlGtlY31li\n8MBD+mxWnt7/NhPgqcWXPx5LuOvWWnwtujoZId+ecauUkcjLyIxpU9OGUA4p\nVP1V8w7tLBbXn0ayXK13TTpEpIYgmMs2wdPuDNfxAkFDfulFFsmHM11F6C/X\nTNFv\r\n=IGkV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"6993aa2a4786dba507ed6b641b4c059925b7ddfc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.927fa902c.0_1586457947933_0.32693012443132297","host":"s3://npm-registry-packages"}},"6.0.0-canary.eb28b6ecc.0":{"name":"@material/dom","version":"6.0.0-canary.eb28b6ecc.0","license":"MIT","_id":"@material/dom@6.0.0-canary.eb28b6ecc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d83f13b9fdcc8b4f6b14749d0982c5a2c14a5c3b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.eb28b6ecc.0.tgz","fileCount":26,"integrity":"sha512-0P0THeEejD//xCI01RluG+8RIFxhR+lKo9QBNszeooi44VIbTOaQGUhtUqPRKJ7QtqE4HStDeVHNAzcaB/7j8w==","signatures":[{"sig":"MEUCIHxuDXv1SQ3RPaQiercW3B4PT1Uey/pXCMZ3UeYhFwh/AiEA5b5EK0dPL260FhS49KOBSg1vcZGmYB0QguKJ4ROzonA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekMlMCRA9TVsSAnZWagAAIDoQAIz3e7seBQipwgO23e25\nwxl2w9WqcVLUvNMLEsbL6IsGdb+Nnn1XUeheJqNCgOjfEGZ8dUyK95XB6LVt\nOOFi8mcPkz6sOY5gyiHHdAsBw3BaTZpj44UWhfuv4wNObmsr3/Mt3eUJ41SN\nACWsUU6RmANzFBdYAfMIfRneOYenCoRN9KjpS03HMeuCH90Aqc2rWpiqALPZ\nyqT/oZoE5uf02yRp+xMLydxGh42BKMaSmfSAi4APgZ6fmK9VnxbuH+UZTdGu\nF1w/OWYP9t5Rhza3zYXtK77L1S7EiJb/gjojM+4evFR3GfnN+w1nB6F/B2BY\nj0goDHheN9E0bL04vzb87r0W7oKcTAblFkXp2MGOms1VRQhWPQxN8dQYAoWd\n7Mdo4kUnp/h7ZlhJh4SYuQj0KXxlKxcLkQXDRdqRWOher3OWsKjjaIcOsuTE\n9dZkUjRorRAJY8/2aktxgMCyMRrM+7U3BbJ2caaMKNqdCy2ceNXkUkLEkYRF\n6zeEH2hrEYKiu1unOleXsklwm18diw3QKBRYGYTzUvYOcIrQ7ZCbmtbROf+k\nTPlOKm0tVc+UyJxGnS64OIqTbyUd3FYwyW0ioXoG4jKwGqy3183QtSjfhfY7\nRVkrpWw+gMcmXMpzxeWyqBfUQrFFcdB0Ps8AsM3q+G1Aj8krf24Irfv0mV6T\nXGTi\r\n=aXIR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"14b97cf99132f4a85a978c1799a668eae031d75e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.eb28b6ecc.0_1586547019602_0.6461241108978337","host":"s3://npm-registry-packages"}},"6.0.0-canary.816a43b42.0":{"name":"@material/dom","version":"6.0.0-canary.816a43b42.0","license":"MIT","_id":"@material/dom@6.0.0-canary.816a43b42.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"95b069770521e646e4f8c3c933195c61fc320b4b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.816a43b42.0.tgz","fileCount":26,"integrity":"sha512-c7PbM05CARXyPqzvc8YfaocODz0ZWFUSzNxqUrAUCaJkEnhCHLWdCqMAwRl/sgdtPqkuOME/he1WutmBqC/c8Q==","signatures":[{"sig":"MEQCIHkckIrpfECsI5/00soCRfasin3nOTlyKfECRuFJRy5gAiAlqUC/wAOzfRo5R2wA5K2pFjjL2g3pNCghsZfdHKir1w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekNxwCRA9TVsSAnZWagAAUdwP/j+hpBYW1GiMNXrzBat8\nPgx1r2HpWfRZgeEa7IxGIygEWIktN3QzS2dBkilx1pvZPRz21HgW4NGCmJDl\nvfHHFecxmFYjXO/fAhPJkDW+iR81qT+Gu3bPZ6fkV/sdtu/tFfCWxWLxIZMd\n3qg7V/N+ZCr0AhUEqoziZ1Frw9rqqr1C4UJh790BO0JRRgnqCNp0/QgfOgSH\nm2IUXerBIrc1+NKQtfH8URQ/iXMsRHb+CS/x3oUaZOCTrcWjNDnBtA/WOBaO\n/UcnJFPmbWdX3yzUGu5ge36Hgzyn21hKJfgAaWnSsHrU4zacKCiiR3EWjVGs\nYdFVmEAaBPaRESgNp9rkqwR1POggUKAuTIunhR0d1Q9djt8NP/v5uslTio1g\n7u2fcOjBkNBTfeV6BXLbnKpoMB4F0IFRGh29FDKGrOzPxTm8wbtne200MMh4\nMDgQTdQMTta1J1wQicuN5pKEoRfKWgrbN8dxDZr5X9D09ce5prc+7/iAMw4k\nNEgRWgVi2vP6Q/eqVnEw1adca0RlikZuCaAj6rnVBOvBRjDYNF1toY4Vab3s\njvd7uB0vwz+tjpgfmwGRxf2xqAuyjau7Fw1sY02z4AwCYCI6MZnUY4uyBIgO\n87w3Pi1iXs+EK+eOSaaGOpsoKYmmhbigpPCu5ULSBuq6PD7RKqF65NbZUEcH\no71o\r\n=Mj4c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"55d118d08a4432484dfc732189dae38773d1f437","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.0","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.816a43b42.0_1586551920242_0.02309552514457347","host":"s3://npm-registry-packages"}},"6.0.0-canary.008c4d319.0":{"name":"@material/dom","version":"6.0.0-canary.008c4d319.0","license":"MIT","_id":"@material/dom@6.0.0-canary.008c4d319.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0f84a527fc2f0617877da8d0b71f82df32eaa757","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.008c4d319.0.tgz","fileCount":26,"integrity":"sha512-lpbu0Ssh7hfJpJlR+fPQT4/FooC/QoE3mFaVNbcuVvuI984Poi05avFxg6XJR9Dx3iX7kBep9fhEOeF4ucSv4A==","signatures":[{"sig":"MEQCIHiaBw6yD2OlMJFbfBzrbdrXh0Uwry43MolrWQ89dOBvAiA6SSgW3kFP/ymwznfYJj7AlWrH18b4WEDG3B9t27AaTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelJRJCRA9TVsSAnZWagAAeFUQAIEiWTsyNiA8roG3vpBW\nSvKEzSED2wDWE1SgErUO9PXG1mx9yENqeJuLcggPVCnEhT82mZFFZBw8bNGU\ng0zJwaCaCe78XFk7rabC0RqcG1EEUQ6UXhnRxj87vi5ZlTBPIOXMl6CuzNeZ\nSGgNdSYjOp60VZcZH7dCpf5q1YBqHjc13rn3AgTK9M5tU91jCqW204oXMZVA\nACA16rxIifkG4Ze/JYEqWfyAhniG4gl8/DlKKHKXtR3p6eKSYMpVJFhSlDfe\nXSUMiVBqAjyFW1iluDhhavALS8xQZD6uCo/w26QLWBKChPG4djNgB8YjUvmP\nE/320x9Np5aBgeQgYIGs4/7k9I0kXFIsirLDqEL9V+djD/J2RKdd4ib12Tij\nfvqBOhnpmYpWlwOQsIQDEsvDS58mlS0gfuHpkw4/dZjOlmKdbDa/DvQUpskZ\nw/BdPXOze9/slCtMo30xa8Vc4P6oEloN0T9BrGFDlK82uGb8CEVDKMsI0q4a\nz6RJViSjrZqbQwzNgCMzF3TKJCUaOMo6LmKik4npPbr/1aFZrNMl28/g5HzX\ngzuNBsmkA3w9PIYNwR07SEUysghwyoGomWKq4lSvboUqNwk4p0/4EpEpzNht\nJyQGk8HrI+HHXopBKnJ8pLp6F5Ehzy69vJ/6Wn2fet5M6QJ9nAJ/EUiZTytv\n11Xj\r\n=2dZZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"cf7ff62c921da3167d96b5f7cc7f07ac2af41a19","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.008c4d319.0_1586795592641_0.1795137044600188","host":"s3://npm-registry-packages"}},"6.0.0-canary.cbb3f28ca.0":{"name":"@material/dom","version":"6.0.0-canary.cbb3f28ca.0","license":"MIT","_id":"@material/dom@6.0.0-canary.cbb3f28ca.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"89905905a506333bbf5a5425d35377534f59f165","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.cbb3f28ca.0.tgz","fileCount":26,"integrity":"sha512-M/FwCy1LIOUnr+hN6oS2/kHInOSUBAPcFG3/g7jkqmnm8hHoNzE13NCuXJOXodZECbki9qy5gwdg04mq4TZAgQ==","signatures":[{"sig":"MEQCIGOVWB8SyZhdIwhcm/pkOEua3G7ljPFK77Q3jZbQOpwZAiAHKbbYG4Vyt1kbNXjWqX9kdUejw9jNrTv8QhXaRKxKGQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelUSQCRA9TVsSAnZWagAAma0P/2ytqt4hqHHPY2HzZvUq\n4TMIk1WOdyaldq60xQbQ6GAecPFhK2SX0GnsIfpv6WLTzk+SITu403/PLPuK\nB8J4XxPGeEnAnbAa4smICzWWh5PYP7LAfUIl2GLIyKSEmC6KajPGJSzmLRJj\nzo1aeUvSu/yqBMkt6um3mKul0Lub3HeeVhxjRD+3TDFaf07MgJUAofuchUp3\nP6bY+A6k3Gs87acg9AqpBJPDZXXFHb+ha021gOZrzqkY/SzjfiqrDh8mMFVd\nBZkXZ1/HqQuOwnJBV4IWlny8qsKt839Kwp6csDzNN6drqGo+2OOEfuAEqR98\nq7PoLgN0QPRkXP+SoZX0u2Gp5GQy1Ak/E7o5TiBv3vsXrsGMiRW+BGx4zgtK\nEH+wx5hGxBy/um45mf4Erxvl/vQpODjGH2aWo6R86s3Wr2eBur9zFRv6RgT8\ncSOVo7UTjTf+vOX+f1zUEWmmrgrsv2MpVEL5aGiGcVv1ai9qwjFBqeQ4QWxc\n+XVBLh32TFm20tSyG6z4oKm8Xzg7kZ005bnuV2wZpQcsPjI8oFNNUBjEn0Ve\nkLEeFbJI9zXXwGEEtHsR4dUnPHzoP1thSqyWhELTIDGNHUA9nzdNbDmCfR2z\n0aOyoKgtaRPZXUFwwO8YSYvFuAb7VOc4dq2xrxrTIEKeDWzdxSvN1aOhi1Hr\nv8Kg\r\n=nBfA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"b6cb89b18de9f28799535d82c5ebc759433a5307","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.cbb3f28ca.0_1586840719866_0.05005962508401307","host":"s3://npm-registry-packages"}},"6.0.0-canary.f172b0f90.0":{"name":"@material/dom","version":"6.0.0-canary.f172b0f90.0","license":"MIT","_id":"@material/dom@6.0.0-canary.f172b0f90.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"700cc93a7979abfa481ce59e9c13e9af3b3ec7e7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.f172b0f90.0.tgz","fileCount":26,"integrity":"sha512-2kmNgfmT6yCWAmjYOoUagV2OmMe+dlkMfXz8NGWFWV5bRt7VAONsaTa+RUJ+mSNlPPF+aTr7uvzSmYPWvD43nQ==","signatures":[{"sig":"MEUCIC+XVsDLqTV9qg9SNCF/LpQFKpdlKp8+bMET3CTdnXODAiEAyqj/yoARdlCZCGMhUj0PIJzx+jb7amvbA9+RCKjIy8w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelkK4CRA9TVsSAnZWagAAvUcP/14bk0QF11uD4UhgK+nn\ncY+rcZ48HT1b5IUp7PmHtmeVCJV/lzDlY9rnyFkmkOTiFp7MSGlWjMf7QW26\nUuboGHr+foCzAv3TMam1fs+2Vzv5BdCzrBdgdni6XIul3yf9bVBR5Q8AhqQR\nEted4A48vViQNlZ+aKTyqvMoy8rWhWV+RwdXZe3oXBB1FP1Ek7eGQ0f6vZa8\nwKQVNNpU4U2o6SaUc6GsJMmSPhFTJLEpXGj0/2dlSKDtOBW2H1DrKelKe+0C\na74WITIjokj0yY5RK+UQ/di2DWGXn38CniMpttJv8cTf+90E5oI2munVDFK7\n77txTOH2OUoqwRU+tZK/VLruhoIit39d4pRMIcTz5zsIrlX33ZzleFJkYYJA\nMO6XWtwtjNQ/bJEdf5XiJWUgBjQqTnf2G5Q27od1ibbbFJBrtaO41dra7DYv\ncVm3eNYx4XL6o7sfLtsv+cGMyDvL2s9ZnawjmlHhYbONwqJfKWtPXL0BK3DX\nP1O/wZ/PoNnz5GM300DU/5uRp6ZrU78etG/fN+oB/pbmDnYZDyE1Z3/JS9No\nWrSoBNRopqZSXLfKuqEkegLeTZoBXu+OpBLIQjJiVUnuzKENWKC8ayANMRLL\nMm6rmT3F365uAs7uZ1uUG4cn7B6zuf23QDQNuUFksOmpvYZVJJDL4/jNOqcx\ndoMv\r\n=GV/p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"eaad6fe33949c536d515e1177cbadf504619cfda","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.f172b0f90.0_1586905784118_0.4213510344489435","host":"s3://npm-registry-packages"}},"6.0.0-canary.c02642273.0":{"name":"@material/dom","version":"6.0.0-canary.c02642273.0","license":"MIT","_id":"@material/dom@6.0.0-canary.c02642273.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"424ee037a4e543cfd6d964d981f6aba0094f0e41","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.c02642273.0.tgz","fileCount":26,"integrity":"sha512-zF9KuMxJugj+jeV1dmN87LHc+Zfxd1O/5j51xd3ep/+CGI4y8FtioTDKVFocgsW7YchLqj0P+h7tMvBOmue02Q==","signatures":[{"sig":"MEQCIDlfSc5UpIkh8OdN0amtgIqcueFCMADpPK4liskGCWv6AiBt0jsUDog6CYfZMLCj1AuT2o4h+22IEPNrgYSyICTa7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelzNkCRA9TVsSAnZWagAAvD4P/inLMsYWeUTfdOrKjB1p\nybkZkcx2SODiQzZ3afmByd5pkEFxhjIvbxlu69mcij0aoL5a0t0x5EETIj0O\nqwrBtriREV7sE29IAbY2/j2BNhJicjmsXWeCrvtxWJHEbQDz/EWzEgXqRbBw\nuIHk1seWEHTkngc7/Q6t6KAnz5DrnyJzkiAzKeIFhxX1e+J7287h0+JV0PSO\nHC4i6BDLkBBbgi4zCDEHAozskRYfQavA18luVQYRJaxAyXihLZpQhfqXHrcB\nPKaEpWtCbAMSCAYvDY7aXdRDk6z25vZjA6wnMFRxP/kIcXbmuTqqeWBnKi5X\njqIamGYPWvY6QejCJKw8Of8fgFozS3SNZyMDdPYvd5XGgt3OUgW/Is/1OhrH\nuAR902OcqvWlV1wGoPOWTj6hM/dx8ZjHKPD2w0EbE5G5LG5R0Pt7VbpPIW2n\nidOOwgXqDagN2ZVjZDWEj8T2TVmIFZ0wUzUXXRc7eKn3X2+A8XsrOZyoW4I8\nwxRjjvxRp4GoQzzBs81gbP7L68sFjvUgMTCZSwisYwtGMCOxFChB+/atjCk8\nP1OglS/CblUc1oR8qL+l8Y8OPDsT+IEpBXjdoLG9sEga7ZHJOQpZhOlnNzvI\nrbGnR3bZ5cMaF2T9zMKodRkbi9cZri2Hz2+uRVuxX9+VRCmUPJAumBcfw2bc\nnt7J\r\n=7Qgi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"b648ba2f886a5d6cb78a9dbdb435d18b5f600bf5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.c02642273.0_1586967396459_0.11827669831273835","host":"s3://npm-registry-packages"}},"6.0.0-canary.8a299b568.0":{"name":"@material/dom","version":"6.0.0-canary.8a299b568.0","license":"MIT","_id":"@material/dom@6.0.0-canary.8a299b568.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5b66d35867feea8fed105b1e2a2594a6e2d4e9b7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.8a299b568.0.tgz","fileCount":26,"integrity":"sha512-0KrxlH/nJD0cCfr0zuAkfMOc+qtGBSnMHX2YEhXlUMcpdHR5tUmGolOscF5ZqUmjRSx8t3Rz5dow/vMr29VdaA==","signatures":[{"sig":"MEUCIAhxEyqfEvmpDVePjGdv3CQO35nAMTjqXc4NB9hPx3sZAiEA9+JrsT5Wk5aEYDEJM0aQMWEs26oGnTmT/P4flVLNDuQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel43jCRA9TVsSAnZWagAAphYP/12q8p2yCmr5LSIW3UzO\npg5FNz76Ur5tpJP6fZgHTgUAXLl0l70ZKWEtQ0jZhXip9YrclSSdwk6oXYaB\ng4VIffYlsj0tPFA4uWE1NQfIJSZsqJbfsMFfwp1jHRImjx0Fb24MT/g8qUWM\nVs32nVCqfa867AkhDLYC5PQTWMIr1et93VDZ1ObhLcCoNH7IXr0RXVfZl5MD\n/t+b6iqyyObiDo/J9zKSy/PtHPPdQL4ahrsKlcKu/X9h+ZWmj+ZscyMEwdWs\nKPg2osXOme4JME48NXipBLyNsv64NZypD1vfJPY/IVrsTN6X1SHHmeJhl/fG\n1ta+i7r99fns2PVtuACSOjT33/KzcCiX6xPbf4KEmQA288SftSrok+1kGMXj\n8B1uGgE43pMGqDT1xASfk6KB5WZu2ShtL+MpU2ZktBb5cqsGmZ6UwEIjC8mX\nAAIU5b9hr0o94VfAf4xTIkWP0ziPa+RAsn/Z6X/lHVi7ZH3Id4vn+gd63Yqz\nvSRuxZTAq9ZHgvW/R53kcUI0yGWB7y+y4ONiM02bm9LWVRrFlF2DRgsWE7fA\nzHjie9LfyEzCWIHaThK1mwbfaCrD4p/KdSmEyVjx8t6R86jWBDNDWQeZMBYe\nSR+IN33YxQ3NrjyyLyWajKGcnKXnRyynOmTS92uJu1PWD/kGwMwrSDzVuREV\na5fu\r\n=0aRK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"1cce57afe783f6d0ee960b6d55080fccc7424cb6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.8a299b568.0_1586990563200_0.7810474528985587","host":"s3://npm-registry-packages"}},"6.0.0-canary.490fbdc09.0":{"name":"@material/dom","version":"6.0.0-canary.490fbdc09.0","license":"MIT","_id":"@material/dom@6.0.0-canary.490fbdc09.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7176416888ceae37510e57fac31e14ecd4a9e749","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.490fbdc09.0.tgz","fileCount":26,"integrity":"sha512-dSsxKG1XpOkMkRYXjwQ2IW2KAtoDP0w4m4DaKtCayO2YpbevV6QHbDA7iWe8ec5iCwhdnuqzmglwG0zoN4uuNw==","signatures":[{"sig":"MEUCIQDzkzB6Yoi1W1WkK4hUxGIIOPylAb5agPtplPWAP+H99AIgLPNBHkZtGt69HzcU9MQLJw7MXH9Wxe6Je3vbPQZN3ro=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel/QrCRA9TVsSAnZWagAA81gP/jSQNcmqA03OtwhAdSJy\nDTkzKdNA0N28oTOp3K3IlGHJh5QBm6fKoHmFoTNf3hQ2CTEWL+7dbMv8Aimo\nFIApt39W7OwZhwchDNohwnapsgF1yO1a668fC/Xmt4aHWNdYurNt7qE0SlzC\nQ1MbrsvVUIKq64iuB8WHwehP7DV+Ct5weRyqi5hMQR+5VJ+uEi3iDDjFJjlf\nrxVqoOqC1CiSV+e1TzkaYZ7kWo5QpBCodvRan0sKtLuzxQuGbX9DPqZgWdVi\nNIh7wI8J+xuRiKgDimyQENZ6OdRg7jXdxgiiD/ZYHUfOUrJWcGIQeMsM7+6+\nO3nQxe5mUitMXphD4Mk6sucV+pMt7AYb9ffnvQFnRsyGzy/AWG2y8/utLxo+\nE0p7aZNFQB+oxkhbDpq9Y+Ipi0FqEtvV9EpO+bM1C46icgcPM6EJnnjt5zBB\nJwLrP+YrCIzki2DIAEsOrx4iSdRRNofU2MxDZ32Xs6O1c+fPLNJgXODNXI38\nZ9mPxe0SbTHLLi+0bxQ5yjIFoHuSELCOC7R8+heRmVuypj72ZSIj6CN/HNXa\nmQucf2Y/omJkZNf31p246KsNYsPhwkhO7lnGDJuzAVTooXfJMRl6jd2LfW6t\nxUnhDJN4pff1c/LhUXK+ANAV9DySlypHIFnWHT0xKP6SaMlQ0z4qhRau2qa1\ntJYz\r\n=JlFY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"20bba7dcc3290528bf225184ac976a3b486ccc00","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.490fbdc09.0_1587016747206_0.3894124062822564","host":"s3://npm-registry-packages"}},"6.0.0-canary.f838c6e55.0":{"name":"@material/dom","version":"6.0.0-canary.f838c6e55.0","license":"MIT","_id":"@material/dom@6.0.0-canary.f838c6e55.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8e5340a7df9414499498c8c73760b89082f9ebcb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.f838c6e55.0.tgz","fileCount":26,"integrity":"sha512-SS7Xi86Bqaf3dM0tRp45k5HyjVQAe8CzGyBynDDOFXiJZIQXYmp1V2Puphm+zRj4/uqgZETq0SMNpVj4bpabBQ==","signatures":[{"sig":"MEUCIQCP/tcIsttofWBZg/XkMIKd8yDDK9wp7hD26NWaCrB0FAIgcDODE6VMIBwhdThL/yWncfmKMHze+o9eyR0m8S/0jnU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemGrrCRA9TVsSAnZWagAACzsP/2m+oQh9yO3WD9X3GT6W\nJs5ojr9ea4slu5JuL5V1J8ER4cUOA195KYWDPTNkxIeYUWIetU0tUmqoDtRJ\nvnCxJ3joapPGsxmpyIKgkQAdoLFfbfJ98yxGMVGNiim7j7HX20BDtTLsdbPi\nCMUKPoaX8+GsrHX78PFu5V7hYaQY58YesdOwbBUn02oWgfiWoA+PQTCZlrsf\nOEOUYFOv9bx4vQ0xaatmC9kefzbBMzkf/4/03Hi4lz6TnK8sWNG8KvwTt01h\nFtX5DZOAoNYzNPc13dSnfWqpMamVEVV+mgS5S/UzhTzvN7IJmBh6JMaiYhHM\nKshEUz3ETr678rZSLZ87CIDGTZJeVUOAgt3XYAjubi9vkBoDB71S2y9AtMu0\nnUWmT4o5vWjTKE13ovHSaTaULsz4FPBG5ALoLG1GL8Mj2BYPS3Imrcnhtb8G\nXCqbeQ/Ix+Jd866ULGYfc09OQ0NgDr14HSffbGRd0HV3aNo8ECWM1R5MmWqH\nlEH4+Ke9DdPcIYuKT785M9XyY8e1MQla0gfItpDApcmI1qdMEAVT7++Lxmmr\nNoQrE+bE6+0dvFpXXkbd8Kgyv7lEqLsaPslqnD2Mb5FAHJrbZRrIKiIYjwOA\nAeiAMxi8pj+K9ZBEUcc1ABYbFbm1T/YiNCHyXSCZ2tathd8hAURf4Qagg6PG\nIQa7\r\n=zPJh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"4088837a2a2d0b4af544090557a8266202e13a8c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.f838c6e55.0_1587047147167_0.2488827902758859","host":"s3://npm-registry-packages"}},"6.0.0-canary.ce6cb7024.0":{"name":"@material/dom","version":"6.0.0-canary.ce6cb7024.0","license":"MIT","_id":"@material/dom@6.0.0-canary.ce6cb7024.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"858576c72236fa1fad81657012b89338b13c2168","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.ce6cb7024.0.tgz","fileCount":26,"integrity":"sha512-0sXvPrgKVobCX6jiWwGWQuMUr0OoGvC7phuShllvuEJEJ9XMy/iEkPNJBJV1SqaXjn6DRgEmf772MyFf1X6lqA==","signatures":[{"sig":"MEUCIC/XuZMqb7rGPfU7bu38Mm8xiiFNYut1qc9hQbhF9amIAiEAzyyV/l6V+HTdITMqPP0Z3Uo3ff7bFUuAXXyOgAjRyHY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemJNiCRA9TVsSAnZWagAAtdEP/3sWP4Phu3eF6VCbGD8l\n/DmCrmwXn4v4MoTBKgWrR78mCt8Dpm0wPkEsWitG1oTpJl3he/l0jdlxd46p\nxSsuMy0AQpva9MMIF+enbiRWfszl6ISdEeA9AS8nlGhGW6W+2MGgiVduKYUh\n8yRgDodjsYUQOt5JNXAYa12CIenL9OyC8p3JaU5Ht/BR12mvEO0EO3G9B6pb\nKLw3xeQS/wca15yiD+FvB4bktMqZW+UCwy77IxRcLLVe9yvSicb9tqyZfz/F\nVqvzG7XcTngVwduKRgwkh6uvlr2Rpnthgk0C2gSa/pEKiKVZgRaauPSoDNwB\nZMIw9Ubja+rjsX/93JgWcXT4R3bryYYJ3D6PxFiq5tEd0IhjSHMjXeiPjtnX\n7TkvgjvDuBz+XzGpocG7S4g9B5lvEEU+NNUtwOkPfztbvdteTZ+77Hgykprm\n82mdO6RYtgs253V4AesnPUNABC/igtlgjL2q82iY3ly6imrg59RaztFvws9I\nDAqwvFlrUpauRtwg9m8g7HbSUioYpahnJXsWOkkSlkjzi9MZ+/j7lM6dzXus\npHQa1JC3laJM/KziX71dCZLU+cDxrbJDD7uMepx7JWYp/BiBVSF8VvJqhUsl\nIsLREGBhScvYPOaIG6KqfLl60k7z4Qh3GLEu7+R5fBqOg1z8Kvol18UCzU2a\nUqB2\r\n=Yipg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"50c11d42dccdf93592bf97e9211f34d95983996a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.ce6cb7024.0_1587057505943_0.4009552046885825","host":"s3://npm-registry-packages"}},"6.0.0-canary.0ab62a65b.0":{"name":"@material/dom","version":"6.0.0-canary.0ab62a65b.0","license":"MIT","_id":"@material/dom@6.0.0-canary.0ab62a65b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d7c3f9ad8fe4d16d224ad0c5a3bf84a009ae4623","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.0ab62a65b.0.tgz","fileCount":26,"integrity":"sha512-YKFIiwe0OpWLxhEifvR66/1pESrGHesldz1SQCi/9KuGwr71KmlKiL7NwQGBQCj97miol38o6467jNsj6ydrEA==","signatures":[{"sig":"MEUCIQDiGClG0+5g8T5DMzKaJNNFdmVgRPL8IHT9M/k13unhngIgOUNwLUv6UMKS+x/KQD/A6rtf0g82TwLi7VTXzuNqZzk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemKmzCRA9TVsSAnZWagAAbPgP/RUz1asWzj7t203yfc0y\npiVAqV7XedQhiw4Mj8GiUPeQAvV3EU8/qNleMclm8pyztpaV5bsPMYDG8tRn\n1Oe4hQhmayUe+6mbulUSus4s19rdvbFdgD24zqX7SOY3LDjigvpuEXq5fmeb\neisrtWFyuogHUbY5HFUcopHgdYEKSMKhNwUZyljywzaqZ20sGE/kB+YieohZ\nduRgnul/M1SyBTuNiv96oP3rrQJpYrd67DntspD4sPn4cn8IVF6IUXZ/CxTm\n1HuFcwALfAT4KCtnPZbidxtWCA2STDTOMJKMDx3G1MqCEXyQz+Z48qCe+Fe9\nGQtbirOCYeLhxqTVthsHUHqoZt8FLwtzM9ET3ocz3ddc7SXkgyMgwJWUY8x2\ndUi96enTMVyme53aXzgg/uaDQhQhieg18kRlrP7tTZqET8jm6fwvEGr6WcMs\nlOto8OEuseGNf7WoJfqz82ECIJrjg2HZjhp8ffYtsQQiJIiEX84P+3O62pAd\nAfbc6oog+idJtA+ppucZxzkApKEBPlb8dFgccw3vF9jBlTU/+fStG926t1wA\nnccBUyI4Z3SvWEPaqQ5Db+dDoQp12lhEV1V/AfaMxmRQzcNoW7yl22zCVox4\nhSzjCwWl04NOoAPMqP5nDuOzdrq0diB1HuxCKUw+7jhhvjw9T4AjQT7ajrTu\niYae\r\n=hmBT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"f8890ca1119e1fc3b197f172b8273c05b5fba35d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.0ab62a65b.0_1587063218934_0.5401069328441408","host":"s3://npm-registry-packages"}},"6.0.0-canary.ca61b656f.0":{"name":"@material/dom","version":"6.0.0-canary.ca61b656f.0","license":"MIT","_id":"@material/dom@6.0.0-canary.ca61b656f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2fc57b85d4b43d798d4a310aaaacff654e998956","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.ca61b656f.0.tgz","fileCount":26,"integrity":"sha512-AMF/DMD8HBJ4Tn2FJmFPMOYLRR/2Kvz4XU9Qas+zMBukRwMJWVBM7hoqBGgCHtUoa/yxQF/FAxznStU4MRqyTg==","signatures":[{"sig":"MEQCIEhNu4apBKozM6tgZ98Zyjg50X2qp3eVyF/1whKl19M9AiBLHcn28YFa6qxK9aCBVRa5SA5GUxI84gvS9yLQkKLi8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemLkbCRA9TVsSAnZWagAAAYkP/RZkNnCV6ry9xarZXokG\nxAF01FNi75XN3mFt8eRPSqJ0WGQz34Z2W5rFC4JN/CeayV/P5p4ZQXvjkZom\nco0Ucvq112x1lWVIpb/OZZ40DN8hHRmVih6j+FfSxObo/imNHGeBqXtPzKiz\nU3MZsHc/ZaCTE35XxeDBmdL2DvJkkqW2BHYlh4DnbMqbvtzQLHOWgnjmfOBY\nqXsMAC5IYKYhmYfxTnrkN0TtssEm/BEejMdO6J8X6SzgVE6tdFD2ibAuXWmb\nvWUWo88Sz3/fVjZbH4XjY/ZaHVr8rJbdzB/K3yepAHK5vnE8LAAp/BL11ynb\nmwxSWwP5GrGCy+je98tnXipGGlo0/tlP8oAlMxmnAqu3hyx65UpoodYqKMzK\nJj/mGm7KugwmNtRlLt7SiLERYuhcPoWw+ZrLRO8YfZaCEtM/375nP9S55sye\nMDrJYA4flqE5kdLIY2xGvlz//eUT2YKVuiKnj1h96K3fIQ3Tr8r3XLhogn1C\ngmm3/Ko47JWO1bHS7MWV1WvTg8bkgovXEmfEN21bP8pAxE5GMO+DlBv8MMD+\nfNZLRfD4fe3fhYmeN9ClpShJHna0U+flz+N5l5XXz/TuBY9gTD0WjU03ryhB\n3dItoCvQC0N1LmsxuuhNqv3TfxVGanVixalNZg+idQQtFF/sLzusZi28+ytq\n9Fc/\r\n=EUg1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"967c93bd4843f43b3821bebc6113ab9c73533ac0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.ca61b656f.0_1587067163358_0.14701269143460105","host":"s3://npm-registry-packages"}},"6.0.0-canary.45a6615e3.0":{"name":"@material/dom","version":"6.0.0-canary.45a6615e3.0","license":"MIT","_id":"@material/dom@6.0.0-canary.45a6615e3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bc46a89fcf9c8216a10f57b73f9662b69e949f69","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.45a6615e3.0.tgz","fileCount":26,"integrity":"sha512-0lmVI/2YaCpWuH7SahTyCjnr98T/kim9ys2q7p0S6QSzgmhnD9kDous/hEMxlaLTlYIIluvD5vjtIb6MxuzrYA==","signatures":[{"sig":"MEYCIQCn1YOnnw0a4xXbR+eQXUTUsH5XjVsKjgQs1ym6OYubcgIhAJZqsvk7ln/9t+cHkFngu+fnay/9YMEzLaI7L7r3BQVS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemMDTCRA9TVsSAnZWagAAPcAP/jATImGFc+QwgsGBO2h6\n40+FJj5O770yX1yzCxDdCRnpGS+ShNnhke/hzmUv+MmuSm/757qYSn1Nt/hl\n3IYS9OGJ1v+8nJa1msH2EHVoMgKRsEa/mkPIhGm1++p48oD+Ag87ujobtOOf\nT3l5UZfTmvJFZfXeN5ekFnqi95uAGY+9GFrm31rP71zs5GZe4rIGF/LLuPrB\nnr6e/yoLpsjfzD2aqMi0RZ9LDkwWPICK/zCf6oYcLaKdOKqG2+A+k/O6Eesr\n8cl/Ohl/EMY7y2zz4GiE7xSFVyS5Xdh6dtNRkMfNjtHlDp7RcVmpzM34R04a\nqAS/YAkwp5vb0aYPMJ4wlMV+nDculMntllORAQpU1RFsHl5gJuWLwAettlU6\nF+Wf28YJUit40NZJRli4ZfbCnMt5fr8PQ80+82jQCIH/4LaSX3HsrNnnW/Rs\nPeq7RhgANeoRecJ0vczBXKOhwqG/8l5ifQrsdbI4T6nP8MGk7X+ivEgnvnz4\nK34C3Ev7oh3k8BQD4RdM8EBaehSQ6EfsWi2/WXBf7A0/CLLBwlJq3D3c5uD+\n3jfCWWHhvonsNO+rNv17HL1H2b5baIue4awtOJ8APAxoIyve8BewgCuW9OUs\nBQm6iqIXMlQDOQGNuy1D0TdVEpKj8fNIQuppe5eiJyaIls7qcAMPeNeyZXc5\n2JdP\r\n=b5ZZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"0ad3ae693731b43b2c055b2fd649a42e03abd2a5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.45a6615e3.0_1587069139039_0.3487087156308122","host":"s3://npm-registry-packages"}},"6.0.0-canary.4b04cdb0f.0":{"name":"@material/dom","version":"6.0.0-canary.4b04cdb0f.0","license":"MIT","_id":"@material/dom@6.0.0-canary.4b04cdb0f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"614b3d6ca2aa0b4223faf01ec36bb84f3e2da7fb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.4b04cdb0f.0.tgz","fileCount":26,"integrity":"sha512-E/JYrJtQShrMVvUfw6i/tMiuIPwv0HOpae5otDLgHFeFgxUB/Fv1dzLoxePVNz0BphsHGOLInI1nh1PdPrZrPA==","signatures":[{"sig":"MEQCIBkUwK5zoNB0wKolqMgD/OCkxGj/JMLQ/tOxNmZNh2yfAiBFge+kRPgxJZ3RvqfupbKWRD+oeOBSBwXpnAqd9tzfBQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemeoJCRA9TVsSAnZWagAATFQP/1PA1OQQe/FoPKvegrto\nqqLBIiWMTbQt5JmrfD0CJ4HQOgGOQ16ZxpMqFDqQTiTyovf1RjQW41aD5BPr\nOUjFxxlOC8Xk+LgUAet856hnKFc+uYeqPVLExE7ohbrSuYgs1pNLvQ4Zy8+i\naKboGCVbppVOh+rWqQ4AzZmIU0ia1ADB5xcCh504bRepNYW3O5sZsuIAMtG2\n/OVAoJa6bKa4EMDnSR+KHZPCU5FLXxP6Y3BtZ17YmX544rc003H56TYq0Wlt\njulnYPaSzO0eE/dG5GH8sc2tmVGj0nzlotAQ5XtSiyzwz/dBd+s7EiBUFY7+\nXl43zJdfhvr8VFWjj/VKYAdGp8ArqR1e37Gs7w074WCGij3JZ6WhzB1g2IRc\nx1i5O2xLFb0ffSOQnV9ugnrlhjMg8iHi+/cNDQstKtoc+i0fXhaE/OV2GHUV\nVRzdeXUlKDg3yna/tXXCqpOPz5iy9Peuny8Bw7Tmmnizr52CZ+8/wSaC8Abs\nRD8YYz6oWPplmyVAP8tIWApOoTvh/16khXPzsxfjinACekrwbrxYVN2vOlOy\nsTOwuaAEFx4IP8i4rEZIcWEpC7IU7dPYQQxhv+58VUlDR91Xqz/54MGKt+O5\ncAyP7sX33Fsi2aWgl07juNcgT2PWJ60/rXlnO+KqwvzxY5VHc0GVuyY13Z1e\n14H3\r\n=+ZCu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"bedcd48d2eb94c37211fc93847852f5261655559","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.4b04cdb0f.0_1587145224546_0.899528310262627","host":"s3://npm-registry-packages"}},"6.0.0-canary.b273afa93.0":{"name":"@material/dom","version":"6.0.0-canary.b273afa93.0","license":"MIT","_id":"@material/dom@6.0.0-canary.b273afa93.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"02546205ffa83c595de885c384dbd7f8c3f7ea6e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.b273afa93.0.tgz","fileCount":26,"integrity":"sha512-2qVvwGqqsdJNA9GL+d6ukJnKSoC+8k6mwSVJyF/JdRbZj2WpMfQ8uy4nLicHawih/6kB/1FHe2cYudADdam47g==","signatures":[{"sig":"MEUCIFJt5HnJhOLk9uYZmGJi5j+pEYuH5GMUoqL1tx1LbEuFAiEAkHy/S3IZFfNQeLnERzFGkEuXSr4dFwcJq32i7U6N21M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemjV7CRA9TVsSAnZWagAAZhYQAJv5OLl5u3C/91uTROjK\n2wW245sHZQfoBQJsKVW5qjFWks7q9gNRJIX68yFSU0TjcPtKW5ea/5BzjdkO\nQMY3XzzSpg6m11RkiDZRI+3lBvXfMGq5qFsPMX6zlQgYhjXb5S/+o2JrWF4R\nVIRYcUbaQgwu02b5LDI8CMXn/N8pqqtAYEfgOM1OeOa0oyLgE2RD2/PtExji\nFXhs16JdPaya/ngVzkHW1UxLXipafZDy1aMkD6xmI9ad0iGQQWdmiTw2ZT6N\nSTUnkeX4kw8b7WCJBVh1FAHMMqYWTYXmj2smzlSRtEaeaQNXq6rL1uMlDI9M\nFEfFz7691LOurn7nnDfGFiZQ7xvjrop+PsXIsMbTgxUpqpH53hGh+BNkW82v\ntN8F9gmTQ/43sgyy9CcDusVDNl+16Od82JV3TDCG7WTbIjAuOtS1yO62tXJM\n8M7kvN2h+LEMSeSJYlaqKXBmCo62UM+BYM841yR6RxpbGXq1D75Cl0jmuCgP\nnl5JjsP28IQuQ9TvILOJY/UYg7h34caQaUvfY82zDUIiyu3m2w6CtRCBsOSA\ncIUZIe6WLjDyukLje4+8tfozpYeL1magnkBAzS4iGGNPfPjV0wlOyOPRAwyG\nuiT+Kns/6gNjpVqzq61e6gSGbg7Jt1khvmsEANbQzaK0INBS7S7fi4hByeUA\n1fBv\r\n=g3V3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"446d7bb0e65fdc3259b7b9025c6c058731ff02c6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.b273afa93.0_1587164538970_0.5104481756127006","host":"s3://npm-registry-packages"}},"6.0.0-canary.b70bc601e.0":{"name":"@material/dom","version":"6.0.0-canary.b70bc601e.0","license":"MIT","_id":"@material/dom@6.0.0-canary.b70bc601e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a86acd41657a78a408bfe1072a4f3b09d17ea0e1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.b70bc601e.0.tgz","fileCount":26,"integrity":"sha512-bl3yuLRpr287lE8mZVALe5r1AMRX3C/fF4hTcPa2NO4DuNDksCzhg54+rFOmHeQxVPUkRCAzgw0V6FEY7nb5MQ==","signatures":[{"sig":"MEYCIQD4zY0bliZlj2putHP0+2xDUdHX2/ckpRm6cxwgWUx//wIhALMjJavcApPmpEM5bD/m1U0GrXghuPTMPWMu4fjGBFEo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemjnXCRA9TVsSAnZWagAAyVAP/256NKqnq5eLWLkymnEk\n98Wc7bq8SFy+KtZpJphhkqHx4qJxJ+i4bbls92CMH2PeiIEyQ8exWJq+SIez\n5f+ChgmxgDTYsGL4XBIzJ9fRtx3smUImwkJNURIN3Zn4IZShH9DD0eH+DI97\nvkC6eCjMv3ARiEIezj4TD6FYRm1MzsrRz68xuCisQju0hvLzucwlVJj0oIUQ\nPcdMNNngKoh01o8hTU9eqE8K0yA126GNpt8qEzM6v3Gy1mNNnXZt+MDNHZrE\ndASYLlkrjyp40H37NYgD/9t74Mz2nCykq+/84/JW38mfuq4PuaB2MMBWd+bE\nFCdSw+n/nQkIOWEd2H0oEPoZhms7H0WJoS95txYtAs0sHevQoXmJbrEt1FQ6\ncG12TXHyxmdpfXubUz5NSuZruR60IGeLnrbvah8k1F5i8ca+P8y7MWxaxCcW\n1evlDaDwLndwYZcvXtxSaG45Y8qPmR5+bCGU4UmNcYre1AGjzzgPKu5y7T9r\nRSVpxWOpIYaCLAjrmCFqY9Q1SzcH6AZMIsyDJHBNGTzQvnOdx7q5Uurs+1iZ\n7cleCuiVaQdC+JIy3evMQjeYYUF8D8QN8n4mAe/ab8t6uqGCv1Ep9BrbijTW\nJdwi7R2RLlZydkTZjpGFKYlpn+3zO2f71b0nxy62NstM7HVKcq7loLj5mpAb\nKHug\r\n=dV5X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"90c3468e59a65aab424bb59d4e91a4d522fca3d3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.b70bc601e.0_1587165654680_0.41595066828406924","host":"s3://npm-registry-packages"}},"6.0.0-canary.c4b4bba96.0":{"name":"@material/dom","version":"6.0.0-canary.c4b4bba96.0","license":"MIT","_id":"@material/dom@6.0.0-canary.c4b4bba96.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7713bea839e25a184891bf6db456f6ada736f2ed","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.c4b4bba96.0.tgz","fileCount":26,"integrity":"sha512-IXLdMZrqBfeMIE86Yc8UMadUQSQLs8E2w3AMxjHehF7ART2l6k6lol+OF/w/EW3HL0eJBZHnxgMNJyUbIM9rWw==","signatures":[{"sig":"MEUCIQCO0SR8OkVT9nS0H4Xko1G44alV8dG7/cWGGYyyNGofcwIgGl8F8F5TfHTajXLmTARuNkDJHMv/0V6Y7MydzFkRHNc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemkcFCRA9TVsSAnZWagAAIqkP+wUs2DE/1Oj9HEd+ov6Z\nJIchXyYgg6PfAQi6RUFDPuvXSsA2pagv9WqfGN6F9Rtf/+rjZLr9OP/yDr3K\n8+2/pHQAF/NOCuCujIxVEWlGeLGfZ+Olxo2+xEyVVVovDNjXxDy1hQ3ajtgT\nxZ+TEwhkuct/AAxTlesplO8mmRv6xvKMQ2d2LZImFj1Y5jbVw1/UUzTTP1Pb\np1HG8+IhtsoU1YnD3SD7H4EJddRaurVZiZ6F8m+mwm5Mrb3pUO48Cq/ENwDt\na1DOf7pezVgStzdPmolLLrGFNvsPDHZ+ggjh5COEP9UdbC0HVXdWaDHKBZNV\n23hSj5217ZZZ08YvxzqxiihztxR/A4XFMRFbFPQx0NX9HhjB8d4dWJvpto2S\n4jd/KMp35kafmml0cY0N+ESL/u5YZcmTPL43awvMpi1sL1s7eaCrSMtgAtj/\nw2AUZkJjmRVi0BIl8Ctpja9u1A1nBCziOl27swIX2FroVdBny9KgNIFyPX7D\nuoOWsHMmeIn3A/iqQ2dDfOVpAQyV5tpv3aAcCrJlL5cs4lD18rU4Be/Uf8C2\nQnxMW+QnnIgoFs1E3Dek7lBj/jqCTmyI8zYYXXPDiRrBPbPdaPzzxZqw6Y8b\nsVhjeue0o5keYAR80hnFeJ80zkKy+UPhQTpKLzL4FRnySYOYvS86usZlMtYj\njPFr\r\n=vXjU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"ee02a718dbd2e86f9ea056b6199c1664c5abe70c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.c4b4bba96.0_1587169028816_0.4520704992534539","host":"s3://npm-registry-packages"}},"6.0.0-canary.6c1ebc721.0":{"name":"@material/dom","version":"6.0.0-canary.6c1ebc721.0","license":"MIT","_id":"@material/dom@6.0.0-canary.6c1ebc721.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c4499e0505e8dadba004d922ed4863382b4dcb98","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.6c1ebc721.0.tgz","fileCount":26,"integrity":"sha512-Uy5EkS8h2CTyuQeSbEAZ65bW2wDMCjN/BgBU5hoGMgP6o56SYnp4XbPaRLzf+T48Brw9YMBxDThXXFQ4IKFWUQ==","signatures":[{"sig":"MEUCIQDtmiqfNjDMLPymf3T7xft7bBYZu0oQ3jBbaI1tk/HbrgIgOPC/ZKi2aPzkm+uANa0VUFBrXWaoimjCic/rtp1HFv8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenf6yCRA9TVsSAnZWagAA/gIQAIllTxrwhqJiYaB+z5UK\nn8elzS/DCFQrpaQV+ojDXrTmdLrXGT6ddjU2Yj2UXs4RmPJfaZEq+Hc/Ab1s\nSS5w2lv7uVyFFrs3FuUXy8Gf9ABRPrYk7nOi/nxivTYOdoCC8ewbAeYIt05H\nUEgid00cRjo09Hr1edqadEpCIRcxzlmPrLTt8NjmXaGjt9XUeqdEiUtye7QW\nAu1NbZCA8kmZeX2piKk/7GQ+tykJoyaejN/V0xYrr6gArcT/ag6D2ygHPsOp\nvg4VjXeVLAg3JKuxBaFsVaHkImpZXSEZdHv8BK7pYrAMTlJqTdy0OYkhCm6d\nCPfafPu/JZVdXds6pdJblo5ROrls2rpjYJfJDrWAIaWI2txTs6LZmmc56CsS\nCDhEP1YpALyKmuXx8lO3kvAX0hjBKMTr4vt/ucCuyWxbErWfQK4EFjgIWPh6\n0mrAhN+eNS79nAi+dwim0O8Ty6mYno0y0CtHzuUSr5TXn08YHxSjJVtMFd/R\ndi322/XhF7x0YS8FyiRzlpeeli4ZPMjSc1693CEzZTUvR8HrcgmYfMpA3mSW\njk/HDCePro+GyUwdfYNsiVlhOCXIBTQQxhrv+43J1XVQTdMr8ndz8WQfFxF4\nRfN9pD7MwY5JcDRxbLHTeNOYTh1cNw0WCN8G2TTSC5RtxYZ5Mtm/2Fv6rS6F\nTmxF\r\n=dhxp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"b1a71b1e525edb460d6fa48e392b09267db9d2a5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.6c1ebc721.0_1587412657466_0.256480596238829","host":"s3://npm-registry-packages"}},"6.0.0-canary.9cff4318f.0":{"name":"@material/dom","version":"6.0.0-canary.9cff4318f.0","license":"MIT","_id":"@material/dom@6.0.0-canary.9cff4318f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a580ff455f600ce02cfb4d4545e67aa81eafb9c1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.9cff4318f.0.tgz","fileCount":26,"integrity":"sha512-hM4mJnTQlW4P6vVxzGbPt/BP01ruJQngQZeLzTvB+b2xEfe4r7JAX4MBbfVHbVBgco26Fxz+NiRleDU1BUfuyg==","signatures":[{"sig":"MEUCIQDimB5DT4Jrn+iF/CCRBSzEqlUiOj/Sx1Mzlos32JSoZgIgNlqG777y4qFV2jE1BjqLG8fRdl33LborH3V6DLX2Cpc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJengwrCRA9TVsSAnZWagAAiucQAJPxla3BGRgeUNRERT65\n3//yKeOcTqygO15wCBz0/sBBiSGYCmq81wUzQ5NmMqMonxwFipe7F66cjWKM\nXeLuep7qUMZWb37nwU102aJDCFpVX+MbvVMlZN21Zj/DX/l/hvqZqYrUPqtM\nz6Pj1spG5sR3BKKm5r7Kxv3KbAe9E6mhja/dQQ/Jpn7J+lTtlYE2xnjtRMhJ\nplIScMTEOQgKfQuelzH3s9Yhkw4FNp3GSUgdYDp9WrKguwyqa2g+L3KX6bOk\nLMNvn3qwGXaKXdjxfzKrNEzshEYHWhScu9gSRwiiiKEyB1Z3chSWVsUFWQLc\nVKV5RrlSVq5F7b/BxlFwWOuTcB/f4f8JBE3Ytwqd42LsGtO4L97/tSH33jD+\nXBphAi2WrWoYbbdHpQmT8oqbjBB4HY0xSpS37owSEZ54pPpJiosneOrNJS2p\nkZybKh/ZhFaD9AZkSQiK1SCUc0RBhn9MAz8ThE4k4Jt1nOk/t+xBrdn43hcL\n4flqChIKP4WRsCJq8Ll/xXyH3Yhyl9758ln4i9LNIbrCFTxmfvCf2MHDTEYl\nGf96FJzvCMYCLhoGlhqTEfUU4RSdVMUbZ/7nBv4KOOv3PI8i7XrZ6a7jNddw\noQiVJ3hPvIyD/Vmo/iFFkaNrGvS5319xT0acaZDpqnAR1AtlJNShStEU5pw8\nPiwi\r\n=8aGi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"0ff1f177754c259b5b0021494616e96f7b6e0d8d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.9cff4318f.0_1587416107467_0.577542130939332","host":"s3://npm-registry-packages"}},"6.0.0-canary.7b4482402.0":{"name":"@material/dom","version":"6.0.0-canary.7b4482402.0","license":"MIT","_id":"@material/dom@6.0.0-canary.7b4482402.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"939b901018009fc63f6d1b4dd04f0439a17aa9f0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.7b4482402.0.tgz","fileCount":26,"integrity":"sha512-o74ti6ivis2BT0niWbBztWgtnfnN2nmpOa4L5bIWRI0zH9505p9gPe/mrveHgit4+dGyxUCZCmwkrTyp+vR8EQ==","signatures":[{"sig":"MEYCIQD3WC6kfHx8XIOvI9rpyr7oLTJ+VlKwUnUAsq4BEoUOFAIhAOJ2v3daQu7pjwMf00Kdsk789gCamqsybR9HH96mNQQV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenh/2CRA9TVsSAnZWagAAshgQAJcPikxW7RXglUD5J6Mz\nnYOS5BZaoSRmxVHpZgR4OScxgsSB+HSKvWfTL3GpV15k2A9V/KqfcBZB57vk\nMt6tuUZIywrX6HTw7oTH4czVF3P/6Pt3h6/9uQtXyT0/5arValAxN5jrrIlj\nhmPXk60MTUj18jJtaiYHvN/vC+xLYTnTsfq6vmJQy36WBKVE936v1IzgCRUi\nHqPEO20nKbUUDuZvqhJ23G7+1O5fAoyMDs1duBO/Nf9K5iQwTLiUOM8MrbNt\nnFWxnRvgPzBsvmcG8JIjgzo3NV5pfFzoSGuwMrDlQPLeGltVtXwqVlAI2Ors\n+5U5l2iByjBueKgR/PrMTH7+KLZwVWWZ//kt4Gkix10yDlaugkX4s1D7fsK0\nApbc2TH6/n4lpegtIp32f0SfWn+62SdztmFG76cC0zocZ4GOGcMnyJOEVIgf\nrAGhf3eTmn/wQDcxMkRuejfknajyYHmSesA7lbnMBevqxBw3kT+D88xT3SlL\nerMyJcJhnORJUgxLGF0JaGeqMBQHxWWS16PS11ydkAy2flzvC6zp3MEs2VTf\ndlwBc8DbDBdbiPET5sDFd/YTfjFgtPfNqfP76V3NbkhrNcV/94Kcjn2PbNxt\nG0j0UifMcjUOqas7Lp4tXBgz6UpzP6mDKBVrY5FeGUSJauP7duGelj/yZROd\nXZa0\r\n=pNXl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n","gitHead":"c25f7586d29e2c5a6d3c289197d47b826d499cdf","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.7b4482402.0_1587421174241_0.8181277895097709","host":"s3://npm-registry-packages"}},"6.0.0-canary.deda86d8c.0":{"name":"@material/dom","version":"6.0.0-canary.deda86d8c.0","license":"MIT","_id":"@material/dom@6.0.0-canary.deda86d8c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cb1c03110e506b942fc47f23eacca08799502c6a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.deda86d8c.0.tgz","fileCount":28,"integrity":"sha512-KYihHKn7IX9wtpt5I3BukmDHke1MOJT56AnGNgSC7KPxKyTo/hrAks2U3AjPCtmUcEucbQhCwSk1rUWPtolVUw==","signatures":[{"sig":"MEUCIQCb3mCUbHGe0ThytFR3KkluZXzOgHxiQurH2BmI13HjvQIger+jNt1dPnvDipOuMLW7Xp4ZJpuu8cG+lWM8iKBRnm4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenkjxCRA9TVsSAnZWagAAHsEP/3xaI56Tr3zv2dVBnJTa\nDJfnVCpc7gRQk5eyJaavQWXw/QJ4aGFiXc4ROzwOU6fRoiTr/zg2FVnDycu5\n7eeX95s/k9FiiLCZM9tQwUw6HDdDTXf7s4z+d5xH1fd7ceEL0OV1jdxLl02K\nA7nv1wgaRO86+bapHCC/dJw6fZMGOzM7mXij+fAgExVoETR000tAM4Q60Fqk\nZnhLn7cEocW/7mYkG6YQ6hdlcdVwc4e+DFOcf3NVVs+qo2fkqv3Zjaofmjjm\nrK7WSX0XG2EE0qav7Zjh0TmXfdYnoqlkXzcIbi5hMdQInpZiqRs1Rj3t+fXP\n4m71Rk1L7riHGxQelyYUwV8qfHYGzPWyCRbvZLg+h/GpjQ+kEvYGOFitOeg3\n+7e6/lkqKE25MT8BLFMF6TaBFByXaoPGfpMsxmQfOx/u6YxMHOruwEQ774Ij\nycCgv6HmFj15WZ62L25w5rB7QGDH9KQp6pDn2ZjxpzKOijChFc93cOzT0ET4\nMXArrzJZqNIp5Vgov/2S2Br25jJhmUknqTmIYSeoDchXaw8cProlSGApdxvx\n7DdYQhN7OhGgSrhqgywxttiCbTlJxMTnPlHl8XwOOxj5uoO7/WVDPZ6YW3rs\n9/987lbHsgmEAIuiDjcu2q2+Ki7UYLNCX4vWGRsWmZhgSewjOR2h11pfLixZ\nfRtz\r\n=frq/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7bea6ac56136246274e77c281cf8c66e2ef3e6ca","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"6.0.0-canary.deda86d8c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.deda86d8c.0_1587431665189_0.5725329892839317","host":"s3://npm-registry-packages"}},"6.0.0-canary.d10412cb2.0":{"name":"@material/dom","version":"6.0.0-canary.d10412cb2.0","license":"MIT","_id":"@material/dom@6.0.0-canary.d10412cb2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7b20f36ea667956c86ec39a8736c178ff8af27a4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.d10412cb2.0.tgz","fileCount":28,"integrity":"sha512-4akZf9BCLr2U5fs5J6qujcqoi1vqhZcO+NtNT9+V4SJQhoKWUWCFdb8fKp3wmn/JhkfI5DmK8mxYLetYvJydEw==","signatures":[{"sig":"MEUCIDoaUAFmLyBChgsu08Cbgvm2XbusDf43USmB4TwyPX7DAiEAuEq+H3OIuCH6yq9vGE32RxjnMp81+2Hw9ZBts7I/pwU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenzjVCRA9TVsSAnZWagAAylIP/iw7B5O32hY2PpwYRug0\nVIb5s48bzWMuLJn03rZ9EwMNyGGtCpBkkqsgfhdkOgoKStFetuxOgwsGcmQF\nth5uRL6mpCB/9ZRiHz76TQEmXJ7U73mTsFOOUT1TwmEjqoyRduYPtbZZd55e\nv8apomOcYM8M6E8Qt914VP7zlOfjGmzniC2lM+UP4vWCLFsmnTnlYvoZcI7J\nhqs47OG+KZEJkDXyikWUSYAFAyta9astsfRlT07bxwbiG5WIpIXYG7Oo8sEM\n/q4OTO96X1DnmkwzXzyRV0DioxqQ9/I+ods3qh/z0X01cdUBc1vmdgbw7zNt\niTzc1eQm7DJJ9e6fPo0mGLnY+PFNlr3iT2VGioIYAVfM72/Yvw0p6S8WKBmW\nGkULdzgxwRpqt99NRpaiOsJ3huqeWPv0+c5FI8iiJNJAE6jXR9wFK833fFqv\nlY7BiXG3o1bMR+46uZmL6moSvsSil/hxkohNjy+rBt8nrHHMpof2tW4rsopD\nl8O8kyj5Y2Plb++UHcm1G80qVTgw7nk/dV0OMss9dhkFSISnE9CBkG91Kgz+\nLgZxeYaNeYSCtJqLUfzeqQJ0De1CRPyDTdRFs8jySdFjVxXa++PP0Qd3aRm8\nnM11hquWVhD+CrOe6CXug/htVha6OaqiS2/yNiYIYRW2Stl+c8fgCvJ/LZ6/\nk8af\r\n=9SYM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a2946b5762e597bce2d8e4e72f321bf4934e4543","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"6.0.0-canary.d10412cb2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.d10412cb2.0_1587493077037_0.9260804858150109","host":"s3://npm-registry-packages"}},"6.0.0-canary.c141801d5.0":{"name":"@material/dom","version":"6.0.0-canary.c141801d5.0","license":"MIT","_id":"@material/dom@6.0.0-canary.c141801d5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"492aca25c9738f62c29c5976763a4af3343819f4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.c141801d5.0.tgz","fileCount":28,"integrity":"sha512-vjykwj0vXzjXeex7vSAMvjvBGTJm+PgtIXt3xzgjLxmZFSbnU5QlRahivd1OLGBsM5P/XdT7ZjGSM3HGHsk7xQ==","signatures":[{"sig":"MEUCIQDJqpNRG6ZQNN5nxbXV+Cb3/heXG0ia3J62XaJtzz7CYAIgfoc9eeAXLYtx0G+7znQBalCc72rZuvTgm3YNrAUm98E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen0xsCRA9TVsSAnZWagAALuoP/37V3sDykQIWspCXIGAC\n0nSi+tQC/w/cjV+aIWdkVUj8Z/vJ0MeNcqPO/nI0SZtMd7zl0j7iD0jtvyMD\nVxduGnmG2oGFhgJPxrRsoINHxNvNxQSjQqRH2dIK0h6JMm31EWE6+YOnzlw5\naE5qnSJdPqh+anyrsQsQmXv4HeOMxI1EVpPZcGmzbuyfHeAAk8yeGyy230cu\nvvL80p63851za388oXNOn0UKF6Z4iJuh/nHgf4hltKdpaNtGQ+9rUTE8dN2g\nMdHtV4FvkLiG6RN33VTBMckqr4e3PlfvNDbhyV+O35eoX0NTQwP74MGjrpUn\n8CIusfpxvm6R6HoKqtVi4hdwLjlDdF2IcoYcW/c2CyPQMTj78fnkk/79BJYn\nqC93G6MrvPgIMowwmyD2q/b2BeGyZaj4sozGWGOf+vLidT1WgTy+c7c2URQv\nNWBfgiN+m6n5UNmVBxTiIY6qmx9N56MxJG86qeeTYp7B0pSPfOi0OhKNN0wT\nXAZ/UKJoTPa0FDp4PfkRWguX+rLCLwUfn7T5Aa+1F/lAytMI4paMEbvyYxtL\nenh1EVw+IKsuUfi9si0Zl8emeHlA4KkOAqq6gdNAYjDLjegVE368LglqoeTw\n8/h9JQmzmI+vzkcUK13uWJg3EcILr3GK78PDs/cTcAYLUJPrlQNsBdhR/ntE\nv5m2\r\n=Ba+T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d026173e9bf7440b69f1e3e7e4c1bd60dc5ce6b5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"6.0.0-canary.c141801d5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.c141801d5.0_1587498092116_0.9002232827239458","host":"s3://npm-registry-packages"}},"6.0.0-canary.28d10a96e.0":{"name":"@material/dom","version":"6.0.0-canary.28d10a96e.0","license":"MIT","_id":"@material/dom@6.0.0-canary.28d10a96e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1ec509c9ddbdba7d4d6d121a8e371c838c1645eb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0-canary.28d10a96e.0.tgz","fileCount":28,"integrity":"sha512-tLhLFY9paOVb807/h0WGi6Wz1nRXcV3rgV1sq2nNElrS/oayiF1x+wTi9LJYc5j1mM+53tP7/uhy9ZrvuFaztA==","signatures":[{"sig":"MEUCIAQN4jm/xvr0tX/4T2NSX8sua8AyjlfV1c5hTq0rd3AFAiEAhMglT1mxG3dLHOcENN31aFiHYrzoUnxt2V+HG0S0/aM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoL/0CRA9TVsSAnZWagAAJagP/Rm4T/1tahgkcB2PBaqE\nQxrhYLf4CTwRUngZakD3XsVpLv1uR6KeRMHBYPgDpaaHONGb4e9YZgL1gZ1o\nsdUzfNReCrWA15aypXdCKXMZZvX6bkIOfWxaoQGYilSMeyIk4Y8Y3/cW1qds\nif/xVAswJNMVGV14mVkiumupJZLh/mrPwubVjeKv3GiXVnSveBGcDder3xzW\nTPZzToEaCt7ppo9gM5qBSvJqrOXODDtx7lU2EhTGuK+ane4zvaFpJl+zpnDB\nh7sH/McpDhW0ygUfoop8a6ioos2ww38XSMXOpH7JLVwnz3LxvTb82pYGgYIZ\nQypVnUBUGZyzRKEyU9Ge752Qi2szflNc4pEbpiTRS/dfKtphJZ2/gnuSTepg\nDGpb21tT38ZwvoEXC9JP54TrYf5XyrghSFuvD0y1bauMwEFjsBS+32I10xdK\nWgAaqjUazR1sqqJS0syPE0vb1nnzTQEswfztkLmw34JYTcoFy6jRkplhdo+U\nvTt2VXtBWTxCKeD8N3CgZcBcxePmQxTfzT+bN2ont6k4HdJk7B8rLa4+9MTN\npDB5CxXeBYNlHPUOaMWiT9ZCpomK1QfmFjszMqPsW4c+3BzV1fuHpkeriDD4\n0bDF+FolSxZdzNntRl6W8vDK4dTqh7R5jevl7MCyYTRlDogi9RNSARCnv0x7\nUOpq\r\n=2Brd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"20feb77e4dc8d7c73f3549e0dfea4b381106b061","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"6.0.0-canary.28d10a96e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0-canary.28d10a96e.0_1587593203904_0.8362903554802867","host":"s3://npm-registry-packages"}},"7.0.0-canary.8540808be.0":{"name":"@material/dom","version":"7.0.0-canary.8540808be.0","license":"MIT","_id":"@material/dom@7.0.0-canary.8540808be.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6a619a1d42016f54ea18dad1d30e2d101290dabe","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.8540808be.0.tgz","fileCount":28,"integrity":"sha512-CKB5NscEkk/6a4ZlbYHOhbp6yAlIUOcL5FpRBFUW+phQt/EWyQIk5wPJKbsF9tXx0WAFFv0vndTu4tNBNopfVg==","signatures":[{"sig":"MEYCIQDKDYhDetjoRn19qy9yPlMiVlSytKIe5VkLnfm7ns5blQIhAISD+9FHejDhQ8qwSU3ypREe5ErCyAkNbFhbSawbse7g","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoc+FCRA9TVsSAnZWagAAMSYQAJGbzM39osCwJPxHGmK5\nyCnletrQIjSzT+ZX5ppNCpxd0mOHf+3DOywyK47UHINtK97/mpBxBLnaizwt\nGa/c+SoyF6VQKDGmdJ/6Ve5NAdakLnOwAcq9sh1T/2jTWvKkUYpaYOhsQKvj\nNsPkq0FB2ZyRVmg75JuneFgHBTLB3Jh47KtSgR6N2Oes217+SCfcsHiLcJ01\nrNkq51B3yEEYRuVc0CEmXwe3VFdSRUiR5aZycuciqSk0oIq90DTHqj19OX0M\ncj8sRq/T790vBmfvaqgc6EBCP1TKFK//1wzOhMdP0kzJPfjtvm+tGaqMIeDG\nmGqEg5IlXBgzZBOMG94kP2rzUdlpWHq/vZAAa6s6vrrjP4RTBni2L6SCqOV7\nyNC64Ey59ZpjjasgcwPXALd7yKLX4T6kCMoVE9KbLsDcZepHKsliY86HBe0i\ne2mKSt0eI+0Ti1yTqx72AGiZQGJzKM2wwDC0U5pTF6S1oCzpKf7++DDBmbyk\n8Dla7tHbpUF2EFOW6NyCKXJT8EiqrR1T2zKFm1oDC0HI+tHmwMowZSraInBm\n9pc+S4wKaeXzmrFK3fp5LoRk3Vc1GLoEU0jqBqYpehsUZX5oY5prWPWfUpTU\ntdg5sr/MVLLayI+TEIBfUehKSzIa2skA2ynv0LATQ47tHvxRTotUcCWQqtyd\nMDrb\r\n=TYOC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a99320a8e5b4b718dbbcaeee1ec4fc8feb72b592","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.8540808be.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.8540808be.0_1587662724565_0.5821631270760224","host":"s3://npm-registry-packages"}},"6.0.0":{"name":"@material/dom","version":"6.0.0","license":"MIT","_id":"@material/dom@6.0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4f59993b65bc1921f680d5b5eb1c1ff084823dda","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-6.0.0.tgz","fileCount":27,"integrity":"sha512-9hvoi3MxR25dmyv15xJGRS+Ezlr0oD+Y6k4UyAbLpExFP2OakTZc8Xj0Fd7Nwav3I5aIXyC5jJ2gvhZcy1cI9A==","signatures":[{"sig":"MEQCIAR4taJNHGOnBa8etbs5yt55hIFk1/3ffkfeFH3xsdRMAiBlI5ck/yFj5Pd0MEdD2hgpRXa0NyMLwHpJkxHohS9GRg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":108786,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoc+lCRA9TVsSAnZWagAAE2cP/3k7qWSad/wXoUAqptXx\nBuGZxxOJP2OM9gsXUG1HJnJ++O0V2ksh5NngucStg+vgJFbD3AbTHNgEujfT\nWpIv4ZQK5N0b2NIyA+OGBJPcRmgX+4zmkp804IyXprucDYCXr6laDCgn89Vg\n3eoCtFY46SiYM20X2jNOj8zl6y6DOu5jnyQOLOkYh2Dc5UkmDutcZANz73J3\nSOnOMHQMJuSk34PfNONILybAdLlGgP6bQsPfu7GWy0EvRK209SA+NN8BHcjY\nN5SaiXsSsrlbOuoKYELBkZAimWtVfbgHHNPDlitCAHakamEIF073dpZtsrIh\nJAvjht8/D41hj/K6iwkqOix3PPSQj/FLdCZMkmm53aI0pSdCLAeOdP4IIfM0\nF8TTi8gjWmmkQx2OA0R8StdmhYNKIYAhYUSnNaR4C1hOWj9jcr2RknRdl0gM\n19vvyq1gzF8BXN4Pr+zbH4bmc4I7NdRQzqruylEXCFmOWYvyfGmnczB2WeKU\ncHxreVzOZu5pQhJ945BW4hOIDQ7vYEx/O4dfStBWHkf8iYfcygJexXX0xKVJ\nzm8oPXRNr10kboEYvMthaTp8oTNJhGHeO6nlB3wRfOTHcLTPDpLw030gYTm6\n0G7el9y3Hg3YSqIKfY5An2UktTQG/vzRRgSjg7iTAyFXK5oIvuYfg8bOuM8I\nqswP\r\n=X9/9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","gitHead":"8540808be4296e60f1c1d3a637413e433ca7efaa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"^6.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_6.0.0_1587662757525_0.17843610064004545","host":"s3://npm-registry-packages"}},"7.0.0-canary.2673adb74.0":{"name":"@material/dom","version":"7.0.0-canary.2673adb74.0","license":"MIT","_id":"@material/dom@7.0.0-canary.2673adb74.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"89c8bf7232c9c7fb90e8fd7ea3159c9180e1716f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.2673adb74.0.tgz","fileCount":28,"integrity":"sha512-D7hly4h3Owdx8ZulaHexyfeas9aFysAb0XITDHh6Zljpqd//qapMmka3I+nfqu1FQRIGf3KE+fIk34zDd1WCpg==","signatures":[{"sig":"MEQCIHHqZt+XdAZZspCvUHDMIWJ3iZo3rQuZYGxO09jMX3SjAiAVW5XXf8DhIbXl+PNMrXIFUzk5JJWoJOylz26dzxdCgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeohp1CRA9TVsSAnZWagAArI8P/0tOMvnainBy1+aV0QnM\nz6nE4rFJ+bVcujSVGPImR/NsiFMvD5imWmnyS5VlDEzyH/U4mghK6ZASTyvP\noHR7QNUmobMEplbl/u2ceVmGuZAPmulGlcHU2B30NsDGPtUqZhaqUM0jY9XL\nx6UBWYMbQpD3SwFJ7OVtJ3fm2XLBCGVyrGATwOQTb/xnf2FsO7NBsKJKtrl3\nJ1JI0ayqHU5fv9uFVqQSC+ZjLxNCU3iVXvCvQ8mlB+btzGJ96B1Cb6zGw/6K\n4i7fGxefokBfNsmu4vFLtR5vF9hnvnthwEX3+0k/DwoJ9ZhAvt+PCK1oyt8o\nHKoDYHzqD7OX1OVM27CvLrs2C4+YQhrjfY0Yu7//2F700cQpLgWLAYKx3A7Z\n8lI34EmzNl5+z+E/u/9X6uVRsd2UCLSRgVpxK4CHsV8oE/RsOXRhKNebtzav\nXzyPt71aTFJGrDNN4H70PjegQVDemUJ1jK0FstCr0aOdTh5q/vAst6Z0PCpQ\nZ1vZw8K6ZsYneKVGQ+nAd56rXDTx/M0ymN/WATzjzkoUnSH+PRnJWl/qlI0c\n9mAyjYvO5J6fzTwSLflAdTjKw39qT/VpxNTYhyxeRNTbzOsQ/SdmG7FhTgNf\nrQR/ckISPhu+czk6VtgjRwPu8gwZqnKK9miTH83bIcPD3PYH6Lo1JcwI+6zO\nnwLt\r\n=C/iz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9cedd1d83d1c7d125a3ed38281072b6e50b57e9a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.2673adb74.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.2673adb74.0_1587681908783_0.42922791000124594","host":"s3://npm-registry-packages"}},"7.0.0-canary.b10d0d7f1.0":{"name":"@material/dom","version":"7.0.0-canary.b10d0d7f1.0","license":"MIT","_id":"@material/dom@7.0.0-canary.b10d0d7f1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b97078bde3c6b02f13b76a02b7c1e3a6226ef897","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.b10d0d7f1.0.tgz","fileCount":28,"integrity":"sha512-sQkChH2KRNegjLxFiYk8ieLP9VvYtxhFnBeWOiNcruViZectolPNgPMKIrVZ/siE/aniopK1zEC7wDMp+yY19A==","signatures":[{"sig":"MEQCIElNj5AU3xhEnT4h3mo3EqALA7bqjMVn429rgIatf75eAiB7+zAKhWulfAUg214zRDbXt4GZYxmuNg6/2geM/5+NVA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeojDbCRA9TVsSAnZWagAAPPcQAIMHa0rBg0ZYImJaenDn\n6j9fkkvzR75gju2jO9BFg8C8i19zWFdLccFYfSjE1sB6X9X73A6S00i1Pk6I\n7il6UkhCzWA76ibkexdQzZwHZUlsl2Xnjh6SrBxM8K2EObvXX1ZYNr9w1Znc\nh6i29WfZwiutVRsIK633QY2zG3oo0QkY4ORqhL7trFRsbtUDqR3/ajlcFgaX\nQEmdH7iFbbeplY3MXXeXS1l0mfHoghGM13+D5u7PTL8lBzgmC4377MMFblE2\n4aItdkcSOvFs4xZ+gWN/PP32sHsZcZ6of/o1y79pTF23ROdd9mNkBYugZKgW\nXtL3CXnQKIDLs7Uy+FNtABZZyXIlsh38GDqDTtKc5SYvQzHJHBkI226bMzgl\nTEcYRev16HITudd9wHGUUpDglkKX2TWiqAWgCrgo+sKCgVxc9uXkGkfTm/+p\nQycLhIMDsKAhngMFANkz4cst4ZKdVUDMPgYz7Iksdg20is1boRe2SG13nC/G\n+zz9zchmPEp70ugQXTUC9OLvw14Z7HzpRnf+M4pSVdIEZm+DvkmLBLAgqgmV\nd7Td39AAugjElaSo3QwjhE8do3WG4+rFtH8p4qMd5WKCGhUacTmhwZyNHCaz\nZwf17tIrJGvCUF2QbRU6gevDy9iLM+EBPK3+FJGunqgYOkIB54V+srQ+/8Oc\nsRlS\r\n=txPL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"83fc566b3c065e01bf601ac65cd6d17b634b7872","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.b10d0d7f1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.b10d0d7f1.0_1587687642371_0.7267213318345078","host":"s3://npm-registry-packages"}},"7.0.0-canary.3bd8c1bac.0":{"name":"@material/dom","version":"7.0.0-canary.3bd8c1bac.0","license":"MIT","_id":"@material/dom@7.0.0-canary.3bd8c1bac.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"306c29d1c9e3f534b093d1a019fbc183265657ea","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.3bd8c1bac.0.tgz","fileCount":28,"integrity":"sha512-kxiNDwV8ssARIyRJNxG7vZcoamffGbFVwhQSmH/QDamg/xJJ9bdr1sBO3/huYRuBTeNpRy+p7BvS8QESXGnXnA==","signatures":[{"sig":"MEYCIQDKhEnfO+o0eNo55ZGBp1jutm0+GomiOw4cqdo4DGzpIgIhAKqHhAfw2o/IB3kMHNtHVFeSuBIEtIBs2tG69Yf3Jo8U","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeo1SiCRA9TVsSAnZWagAA3uAP/1MppSR2q24mcrksi9Zu\n2jePrKQEfxNtSWx3ysj37x6ezXN+rNHSgsbBbPSs9n37+UR7BHUicm4K82ij\nfgQZ8OXuiSL4eIibpL40jVeLI5WwZwnWg/kRg+iHxVcnU19d131SjD3nGyGK\ntmpPg/qcgP8XgysIiDuXK3FIRzbcJMRdvV2Mx21f8pdyEpoZEoRc26MqiJBl\nkhlXlKTxBxaq8lkPvPXV/bdHt/y9zyMKjxDlGKfmQPyH9LicNBJc6zvwpXTt\nObgEBekEfeq/QHX4ucaVkVs+NyW/ouV40R1HEwuOnGdtyLRcjz0DVGwxHAFJ\n3r0OJVSVGQ2N/WXKT4SQRBoo0AvOoC0O2oL8mDq3QZ01snuLLX5miiDNT/d3\n/fTgyMm8iFClPDS8S38JPqHfjJXy6ofcKpOacf8t2tsBZx66K2qsMe1RiS2i\nBrmjHY0WDqzkRkdaxtrr4Xxp/+S5BfnNrfk2eYP3V1xzzp4QN66ZdL4xJAt7\npUxMgeZB6+j5DBePnPNCx7cjpMjMc7CzUx1L7AMqynmKXxHntvADhD2A9PIN\nmaQoFaGczsFvnNKpL4DaFsjiv7Se76+ufuOhRTu8vlz49stzoFimz1VNNvjn\n+h2J564c+Jt8erMPFlIT+PU/bk9KziZ1feZ5Bw+q3tT+R11Af+cfw7MRsy16\nQXsY\r\n=5WK9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c6f324d1b107431694d9112a3e94b90e82718ccb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.3bd8c1bac.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.3bd8c1bac.0_1587762337615_0.21327299943722933","host":"s3://npm-registry-packages"}},"7.0.0-canary.b83c8dc22.0":{"name":"@material/dom","version":"7.0.0-canary.b83c8dc22.0","license":"MIT","_id":"@material/dom@7.0.0-canary.b83c8dc22.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2228af521331d2f7beb287ddb7f8e3d48779c792","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.b83c8dc22.0.tgz","fileCount":28,"integrity":"sha512-sNrsJ5TezyGCwSWlb0vS7Ys/4YIxXUsqsh0jTjgCqN9zBmZfeK3m/rx8cQfb813EeYMbiHmrRXhsHb+7O121MA==","signatures":[{"sig":"MEUCIQCEcMuTxyAEIb1/uA6daOvEqgrD8z1Zv55H1JOE05CPLgIgFEAn50wlkAw1uV31e4rxhqlBSD/ttviqNzFSQAFfRD4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeo1eiCRA9TVsSAnZWagAAZHsP/1h3tC+4gZvn/cpPNrVY\nR6hD5fyCPyvDGte0nwktsuLJo3rNL6Vw5/6J7VFfeHTA+CwWQG2V9oh2gY56\nlRQhe+M6iXyGIEBLtVdGMugJ27TBpIv2OEM7l0Ine2V0K/w+Vkc2GLo6YmlH\nwX4jwOGbhPuCRoHExgSNvLPI4a2tvCBrQ4bEjhIsctObkb7tZFM3z7lfn4Uy\nCVGbZztOqKVR/u/gPgxxLZ+APOxR7ultdxTXJWTccHzdVYU+/vBElwaJnOBd\n+snrx48atyvgQ/XEtgzwwseFi2GXLNdSCN8XsFO62kRCuJoFbtdfP5tcIEVC\narcOXkvA8+IBs6t4OMYyONPuN3Xzn2jHQoDc8k2fxxZNXJHn1zxwyk9rdub1\nzu7tjZgryRAny/lwHZzC5vJaaiPdXFlUFu2gaJSYsS1ZV8IAyos3thT1biCo\na/oW8LUMHImi18imjtHDJtv365pubCxWzo1GEvZ3zIIzk8g0pNwTyBmwKoow\nlYIhko4xlPbWQqdCdyK8TlI1hRfsQ/O1uOXOKzbeRM7YMaTCz67ciYKXIHNV\nkWTZxjr3UGdCncEcpXuzxRJXF0bS4vN92eX10GuFBzXGFjoa62DEzBWfuzGV\nEfC/5QJ9zgokEIxjIIelSWWC/gSFkHYklcU8vFyLcsztUp5oG05/I1N8ZEm7\nceDx\r\n=Z2wp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"92cfe3e927d76c82fa2d8a864bb852b8d19f30e3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.b83c8dc22.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.b83c8dc22.0_1587763105579_0.7449645574509836","host":"s3://npm-registry-packages"}},"7.0.0-canary.1b3dd846d.0":{"name":"@material/dom","version":"7.0.0-canary.1b3dd846d.0","license":"MIT","_id":"@material/dom@7.0.0-canary.1b3dd846d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8e990ade433aecc68afb6c40a16f88b3e87f11b0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.1b3dd846d.0.tgz","fileCount":28,"integrity":"sha512-HASaAj79SQC7cubvMAfZrImoRDLoPbMUgfVjmpFAfY2IbGPLmPCIpjO2KjjxKjkFHipSAQ8LK6/Uja3rx2+R6g==","signatures":[{"sig":"MEQCIF4SVXHDEQLBn/w+139x43CI4HaiEL1b2VNmn27L5Or6AiAJcRNynkZJPF6SjDbCiXrGuNNIJL/jy+3/DWyJ59BEJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeo4e0CRA9TVsSAnZWagAAgggP/0m95S8PHMLl7n2WkboB\neIMO//M4Y+KMRRcE+QWgn1ODrfNRQEaB+Bv7nAXq8+dH+ZPq1RYRkEWBGjKn\nVtxyO+sIcFusbIDq9CpBMrheBK2iCwAMgqAKwR18hSozeFSgMSmsgVsP9iyW\nVIvxLa22LKx1vJ4pFW9N+h6lZxlNBpxrvzyeTx8SJTGm/oX5+KeaHoOZYago\n0nHgR6MN+4m1sOn+iQvqn8H7O6TVdaPGCctoTcke/w1F0jECVZGh2/bKtymv\nkU5IWTUumj7X2L5FAcblsJ5/T+7V3VqRGCmu77nGQsBeEZyQMiQvl/jzPxkD\n7w0WGEvPI4BSbj9a2wXDqJWCMwA/MSHbmga25hB0tuhn3MrplANRQbb9QWjS\ntGrKPr180nkQF//eXCrHTtq1fMqGL4hJ+rnKCVER1RU1X+Pj6rusIr5kZdT+\n3GscQH4xRVzyRUCXKA/B7xOGqqZF/vP+dC+qyipf6Si7+fcmn9hZ9dcrqc4V\n/ZFRbO851gijeHD05wR9Wm3tp9ByIb3WTMRWuynuCzA14gKX3aa2fW3mNmpV\nDAYa6+UqYVhLmdg+FhBe9LBFFdZt0bYDyt8jnwdaGDYQ1woySXMZ3XHg4wEt\nIkDNpXHUOSCh5KlvRw03D0hGaxA2luEwgCPJ/WIBPnYD2W0klC7N5dhyuMJn\nu8tt\r\n=dGZL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"370fec5aeb98791d923dc357e46611e61cf6eb0e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.1b3dd846d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.1b3dd846d.0_1587775412161_0.7998632003210304","host":"s3://npm-registry-packages"}},"7.0.0-canary.29debfea7.0":{"name":"@material/dom","version":"7.0.0-canary.29debfea7.0","license":"MIT","_id":"@material/dom@7.0.0-canary.29debfea7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"33467283fbd8fcfdba9323aeaea99b2a690a10b2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.29debfea7.0.tgz","fileCount":28,"integrity":"sha512-cuRU5KNQVFlZkwuyy1+8iuZ4cHc2dMfUn6rcCZIgzqy6kbGjU8rxMc3HCYOTrgQ76RRwNV0vpTjE7p+fVtEuYw==","signatures":[{"sig":"MEQCIHMGF/PAkNBOFIr1gKu1r5HjhnAINAaH/Lpa3J+Jo9LtAiBfrs3PNEEM4VJIwq3WfPYA7ZyXWn/ub3lu/+ZgArNkcg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeptCsCRA9TVsSAnZWagAAX/IQAJfBdXjPNXQCHiHjYVsu\nNmPUoRxbZMAtyYe18L4d1cyBwb/Nkt+ml0ntzAltQEZPTfI0MpW1rRlyCYWF\nav2FTX6Z9blIaXkHO8yzw/+4yW8PIpz6MGQFlSjPAItgC1iF5RiMCZTJEuNu\nYBejwtMVdhk5JvtpovzRzo3GPsrv1BHpfZR1Izlk4jWCjPnRKu9T0BZiFtEo\n8b1y+Off/im1fMbw0GjSuKMBxcP21bEmGNdUDuhxg1O0QKhcWE/2q/G2FlOl\ncSVkStzxPqMP6SX9NrTfkKuE9al3DjWCpDKSChXEHCmI10VLb0yjh5+JI/9q\nN5cpDfLJI7JZdgjPY1ZvXO1kCimDph6m9Mc3QW/CR07ttGrasQVqUDlxw2ql\nFCSCp1JMirU5rXxA6WtFXyZVZqTDWfrDVc9NqM3MR5jWvXWcQJzwpVreL+o2\na+r0VxrJdWHCIwsAeKEmzn8nNRJIEQAgjoKtuXApXhsZMD1dnnVCEqAWuP68\n77ngmOOfGLY6AgHumqKkdwc2QD5COriYAMS3RbTl9C44KTcJURjGrkhCUeZG\n9V6SoguA5jbHDBt4IpWApPJxceitr+bdUk7mGj6M5r1qyH6eC/H6cToDmf++\nx7rVSjY1RR7kDuBxquxchHexjAVmnJOXR1uOGKkoazaGgd/4tS4toGPTaig1\nvvfP\r\n=rAJc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f121c350e2a52fc59191d5e843358aa3e3926ca2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.29debfea7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.29debfea7.0_1587990700179_0.32467189313054123","host":"s3://npm-registry-packages"}},"7.0.0-canary.28d32f8e0.0":{"name":"@material/dom","version":"7.0.0-canary.28d32f8e0.0","license":"MIT","_id":"@material/dom@7.0.0-canary.28d32f8e0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9b6ab875035bce1bffa006c84bda2f11f7553390","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.28d32f8e0.0.tgz","fileCount":28,"integrity":"sha512-jTa+4dyNkjCxoKQES6BQBA2fTyJv5ipDPn2KQtJ0LAb7lIwKKLCEouJlfQmCa8HO5T8dEhDGBehcS1OF/+crEA==","signatures":[{"sig":"MEUCIQDfKLpWcr9kjA73rVvaxPZRk6agmG68IINSExhBApQV7gIgIGE+bsTq3b5w+8bqnLp0GzwWH225dsNA7K4mYRzxaVk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJepubbCRA9TVsSAnZWagAAk5YP/1CMbzqPYEP5Pv47cBPe\nXQPOLXSkqjH0+j0MLi83E1JMQWEOoaSXqsBOZIXJgrxJzhoTidJq70SESr2E\nO9+3wSB7gxMBKwL1g6RWxMQWOkNwFz2qKVH6uPTLksiX2fQ3sBsx5XsbH6mG\nnwAW0nkQ3MzLxWbLYbtfRfF9lInRwa5/lhgZgfbhNQtRpzkR5kDzQzxzxuGA\nSd5YNRDat5NkTqGmQS1LWfWjax9fPeXW7tWX8ssed+uTADB9iPfzbuXMlwbg\nDvOzLZcXiYXgN7eIMEwpNPqWB25yHisV8puNc9OhQPoqVrBDGGBwzEeJI3rE\nUKdvUsOA5eqv6JqzfZRNPgQLNuL5qmC2+Tw+lWpUlg159nZfMbL7fwXFplJR\ntztn+O3AmCd24OtI/TAKMLg6cnedy8JhJKsVb/FW0gn4DlNu+VAaycrIMeVs\nzqYLGw+S0D1MwbhNvFFNe9aotD7nWYElbE/8/EQY6l7lW6mcx3qqcGTCaLZ0\nmL66O0ttbg3E7vYKZSzPTJmKUFAmzmnPL4d+qZbQ1OjaWKUOdS7Vpy807I9a\nIUTFiKOOgJUmCYy6Y4y8I1goNtK1z7hRNiRML2GiBAYM/CA8mmqh7tVp3Xv/\ntD1m5vpYDVypRFMO7+m4/hsbVX5z5AtMWAYky7BqZNlSmk/9K6FhmnJl9+CR\nRZoK\r\n=wFc4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5e2a5c88bb5127200d9f70d65964a419ffe2b123","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.28d32f8e0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.28d32f8e0.0_1587996378583_0.8043020227260049","host":"s3://npm-registry-packages"}},"7.0.0-canary.af71cfdd6.0":{"name":"@material/dom","version":"7.0.0-canary.af71cfdd6.0","license":"MIT","_id":"@material/dom@7.0.0-canary.af71cfdd6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b829a1f0bc624ca058b51fd27033675c340036f0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.af71cfdd6.0.tgz","fileCount":28,"integrity":"sha512-6m8g5//xZdGoAMiP/9bcxjA7cbCOMcmuJ4L8qxAdEukBthw09jPVtmdIVgTUb4MksUrbI17XQ4yTylR/qTx8sg==","signatures":[{"sig":"MEYCIQC1mPDleIIK99s0YbyheX0lg05XkCRDqoT39xuZIOEAkQIhALaZ1VPMHGuVefsenM9A7jvTyleCVEZsiJxnYL/yAsz8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqLluCRA9TVsSAnZWagAAoEwP/3f/ZXWbED8HUSO49KV+\nxZRP4EStIg/t9F1cPKCTBc1B9BC7YQZFd1jHi8Dca4e8UOzdePBjtK2K7mVl\nDt1t12pMdIN03UlEdESp2B4yBlx6x56vj4QgSq7FOw7f0S7ZqxWke3pGv6mH\nJ3xR/E4hZJTeIjo56O64SZ1jXseQM61ly13azKrg7n+pBCPV6z9zkONxtshE\nmnl9/Kc/gFhDKYj4mKgs7+3O3pDoZ7usj78sGMaoirZdB6lFP+0d0ZNnRf4Q\nDFXRP5y6smyK/w86uzg+lmIAmutzP5dtPqi669Spjkm8EwXhoC6U6HvZ9kf0\nnUIGxAswv65NYNbp49s7A7d44UM7S0RK9AvCq3JiOVVGKR51iMXALyjQyi63\n0+qmY8BsCUY4rqwXID5o1NhsMWgIzwosqIYeBfZC+Ox1TcCpUevgV1Z1YBYS\nX0WbhbmB2f4x89SZjZJ+nE+XPeUZ1KwD61bBrL7lYM5qfAQYrfUWIdLleNdM\nTA0G8ZOYVjXDl+9IMBjtuJX+22Cppeb56C1x45ViCZi3Apd09PbH3x0oI6QA\nRBtLegZK6gvfvjBlaFjRi+M0YDHYqjRAvsS+E70bV6WmZYJTZCqeBnB0biig\nbdZOP58rxizL5+Trqkq9EMEouKHqdyN2G38qugy2P73OGqNYUUjFx+yTTNr6\nsX+S\r\n=l93f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8ab654dfd65440046211cfc73468f20a57d7fb4c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.af71cfdd6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.af71cfdd6.0_1588115822525_0.8202370088318185","host":"s3://npm-registry-packages"}},"7.0.0-canary.99d2fc961.0":{"name":"@material/dom","version":"7.0.0-canary.99d2fc961.0","license":"MIT","_id":"@material/dom@7.0.0-canary.99d2fc961.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f153f76cc0abd029d9b661ca61e8c725391fb2f5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.99d2fc961.0.tgz","fileCount":28,"integrity":"sha512-f4US51Qde4q/8kFIsouvhKpqXNU4WNf1SuTCu09BfLwqxUvxjzwZJT1clpo26IbyQWVpkAd3SycySl00MrcLsg==","signatures":[{"sig":"MEUCIAaB33BTBxY/Kqy5iMzadkzQ9sKuKiq2ggcMJxDU5NTQAiEAm0TPmNlgFO7z6SY4FrfKX8iKVFgAH2TaLBSF7CT9874=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqVpOCRA9TVsSAnZWagAAPpIP/2EKpz38cN+fCad/H5sl\nBLhpGIo0UUe2W7zX/lE1Xncl/v16/Way9TraC6wIorFEP0Y29zkFOrNFkDvf\nrVNZkyJXirg5sTklCdy9afNS3ucCgL9UDDCZCKzvYqdwC90KIlRD3cr9vx0y\noiOPJ0V4J+c9e9GzNxc7NB4U0VpRD6lXfgvfZ8OBORBxhObBnQDQGPrL2c5M\n4ZpJ7ZSfmFa5ptsFzGJpzevcTas/WB4uAsjNB9Qkhh3PoYrurEUE9W4CJu/V\nxDdQrKwesbvAeDk9J2SWlzolXIPTQQmcmUTXGvXCFWk3PMgSY0D7PqxIDfcj\nH68foqowEiR+aCzqCN5MIDtnqg4luvNFNbUgwhxnOonO5lfcX5pc7DkQwIxG\n2Sq7fXxsdLC1Wn+l0rKMr0DzmlfQ3i/xlgLnJ2Q6lqurljoLiJqg/ZA60/CO\nl3rlFgF0U2+H7bLsNFNGMtYFmcU702tFqwjCN+ydMX2D4a3ifHjGIiK7K2et\nPmZzOfEciCN75XeiTHkNBdaZT/yfa4+qHTkl2bYC4SeSczJGXV0nUGTcgCTY\nYlKWk4Pn6nsT8hl2LGCSAlcTyFHxZKaCh5s5J1q2kfIxd8SdW34KckSuykRy\nmMjo4bV6ZoS8TY+mJSgSN9JmaiODltQOSulZu86uDd9PKBxsLHNBg6KfRCZh\nFzcP\r\n=g0Hs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9b1ef36f20c436f96aa47dc90c983832edc5985c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.99d2fc961.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.99d2fc961.0_1588157005899_0.7691582846960545","host":"s3://npm-registry-packages"}},"7.0.0-canary.0e052b24f.0":{"name":"@material/dom","version":"7.0.0-canary.0e052b24f.0","license":"MIT","_id":"@material/dom@7.0.0-canary.0e052b24f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5b3f0d365661ae08b6445c6fcd6b083f238c7f70","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.0e052b24f.0.tgz","fileCount":28,"integrity":"sha512-SKOFwO+IR3qL+Ms0Y7U+i59Ou+ojTDT7PQ4vRXvimTOVZhgVgZ5qVZR0N53cZ0TgaLzvr/vQhPSw62X492TXDA==","signatures":[{"sig":"MEQCICXxFSAyNFXUTXK/akJG549xTeUnyEAfoF+GLSQFclkWAiBS9igl04Jj9S1iQsSEhZHPxUXocO8ki5Sdf+Kn0Imu5g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqinfCRA9TVsSAnZWagAA45oQAKQO+5vYImLFyzqIgG0e\ns/4CUFAHqZkrYaCoS+Nt0Ca7RJGl2JcKSFMxi8iTfJ4DM04hcn+jplnNSEQa\nze0halyv7dN4NQbb5cfLkGrRCuIinWCOVl1hqDc0oOEdNQS4EIdpGgTdKmJ0\n4pgcKy4fbPSFtO6izu2Ybws5SSQrJkIFe80ujuDdjTfi4sGoUOg1hNzBmgcI\nsZ5V5ClVFdZr9uJxjqFqlCYN8sKDathuoraND66KI2IsgqxQbeZpoZDcy9Tp\nCXgaTh7NpDWi4+qndIQsmgm6sLMAt8Ir1Hi78B+ecgQO0qR94pKwQIa9oQ4s\nEybvyR51wh9t6n084fpZcIQlp5JC+mtqYOQa9kigIcHcdK0Ois09LsWaNy8W\nd5EGobsZU7tZ70b9qhlEukAbN1G+sPtdz3MS+G8oz++7I/HkV9TacPEBbX8k\nm05vEnaqR3eWliUirRFXeuaffFrLMbQoYpPdPiuyXnPJfbNBpNFSXih4GvRv\nlJoqslQQ3nV4VKL6UiapI8Ir/PvlnCHWqePkw2Huc+TDbJtMAn1Nw4ds/fzv\nMfNtiWgpqOiQIMc7GM6f/60KISsgRPKrUKHUGZphikWncKKuzpn5opmOZ9rV\n9GxEMogUC99sc0fhyZ+B/FfEZH9r2wRSFWK/hq75at7yhfaHjg8+O3hZxTKB\nKszH\r\n=4qbk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"69929564b970323734d16e9588636ff8a645f2ad","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.0e052b24f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.0e052b24f.0_1588210142839_0.9153010754614714","host":"s3://npm-registry-packages"}},"7.0.0-canary.ff4bc632a.0":{"name":"@material/dom","version":"7.0.0-canary.ff4bc632a.0","license":"MIT","_id":"@material/dom@7.0.0-canary.ff4bc632a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5752f43cf47c8b40b19bb256404da669dc89eece","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.ff4bc632a.0.tgz","fileCount":28,"integrity":"sha512-z/xe4M6xo/S+DsZS4wdyzFvCU2+NYvF/D2dMLsZ/2pGpMXIw1Dah8Um8u7292P8BdSgl8DZZfqG5TXFZ5MPiLw==","signatures":[{"sig":"MEQCIBjQD89YaS3qBG14gUr/jlHywm3V0sV0rCK0ly/JDtqPAiBRyAAN2KtJuNqmyQZy8SU89fTxIxTKtHlZGeszcQHjOQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqovjCRA9TVsSAnZWagAA3cQP/ikX22P7nFIZRyeBFTar\nO4GdKgLxkn3ukuZzlsFAcX7QmyVkU+wd3l9XplSInhAUCAWklMqxpWGSkJOI\nd8563kmMBsKdXkyiRsbq/NbOZDgSq7R4bzKEr5WVOnMnHiaW8Yv44hlBwrMI\ntZxpJPaVPzGI7HrZlfz+mTV6orVhefmP8nrxlml2VdY8RQML1DsT/QLTT64l\nn4XHpLEhXr8feQ8sLtu89+N2DACD1VjYtncKVCRruMqT7UGo3P2mRucgF7xl\nO9yn7mwtpsRtRLKLn+ZVSa/Xx7HMsbi1UpGz4+Dszo/GZVEJmzNlAhooEjlz\nw3auKk03JhlCHzTfREQdjB7Io6ivaCSEFlbiioto2A63h5EppZ7tF1UUZuH4\nPQiFdrAH0N7SPYolVH7OHSSCNnWee19z88iuYGLH8Emp/lG0fPb6EPDRDtYX\nwRadp6X83hcWJPicPQBe5LgQ3lUM4ZQ3NmimZig973rYkSEy3L5hymvCdNBu\nMiVYjennV/FJHH8nOzoKM35MUXStDIhHJ91ugM7j+Dl38s/UhX6Vkvrthf8l\nkagikffutPbnL5G9oD5jwngFL1SiqTtw8jQQBHHnfy68uzc+fiRBGf6QbRsq\nKa189pYtdUFBEEcdhPQ8mSbweThfu18DTrs34XQjM2oY6Oq5lx0L3vXZcc9U\nvi2A\r\n=PzAM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bf4456b9aa6b24c3dd166ee7bbf96a700054183e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.ff4bc632a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.ff4bc632a.0_1588235234635_0.49814353013600354","host":"s3://npm-registry-packages"}},"7.0.0-canary.b0f83d2fd.0":{"name":"@material/dom","version":"7.0.0-canary.b0f83d2fd.0","license":"MIT","_id":"@material/dom@7.0.0-canary.b0f83d2fd.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7c9e204ef6ce3ad32ce06723936d1fc2806eb3bc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.b0f83d2fd.0.tgz","fileCount":28,"integrity":"sha512-uH9vuEOHERACKRnzmlT73oG3NzX9973SD8wiQYiLGZJyEa4mcOXmRg3x/j36FgBWODMC2KaBUpvJvnss1av4IA==","signatures":[{"sig":"MEQCICSalrOpNFZuq2njS5QnHoUI5iutnUXHAtRxpGYc+eP6AiBQcD3jGJd1FBYZluxauwH7xK2iWJyNJbTdSi+9szKOXg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJequFsCRA9TVsSAnZWagAAQYwP/RGcMsDRRTcBbIrZSdJh\n3m9++Ce9r4f8wv0Sr9W7RIvRSvQ8x8OvruzV4PS1Qg0TZjgh/zi3x+1vs539\nNaWDnWuVQY9lHqwXShjzZwMkUzct8aoXyi1loAcqaFK5fyojtlg0ng5pi/qO\nR3V7q3D8p90e2yKCsTk6mLdG645VXiA0MsMU0uUT0F9Qk3rudrzzd8WRsI0m\n2LPX8+QCZJRcKQrrfMD+KLoajw7c8BpQ27ds8UVPQkoo6bBAKD71xxsv90Ew\nQGObT8eBll6uNdvDga6iyty0aGoNO6tRwLu6kvEXP+mV1hH1JNI+tUnNDlVM\nQzlay39qe+ItQ1U8rzbrEamNetuuP4iglucWbDyzSJWCROT131ey+gjA2wpb\ntmXpK7rGOWKH/F3oviUOdBJndtpKIF4c207Zu8D0jUwKD6UFZRDGM16tptZi\n9PGF+Ik4VBHfIuyg7v5ZrzbVD8vRYxVIHaSNOOzGOa0Qjym/+Les+aULWnue\n3cW9FXRjeQlIbqXs3rKqikgfyyb9cTIzW7aiIPYSz9ZKdAJbJTwpBhGnCwZg\n6Fv2gax9wnCX3vyG75p9fwk3id7DFbRAYKRd3I4rIxHjQBBMU7ZXVFFky8W4\nox/ZXKKnYPCKw/YhB0ihYcxKANFpFVVwt/TZPJrB7r98DW1/jPhppyd5R+va\n4ngk\r\n=Msv3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a1500073e25d06ecb6fe752169f836de2cc6ba13","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.b0f83d2fd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.b0f83d2fd.0_1588257132135_0.6759527033219281","host":"s3://npm-registry-packages"}},"7.0.0-canary.e59906a57.0":{"name":"@material/dom","version":"7.0.0-canary.e59906a57.0","license":"MIT","_id":"@material/dom@7.0.0-canary.e59906a57.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"80f41c613610cb0293b8091ca7d4c432726506e5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.e59906a57.0.tgz","fileCount":28,"integrity":"sha512-FuawZELQQM4N/A2gzFx6n8J/RcXmn88I9rKJNVJ7qGWP/2S0q6Br6TIsnByAMqGsD+5dnFNMs2WG3NVUwQM7fQ==","signatures":[{"sig":"MEQCIAJBDIRulCv6v6KkqjGXLrSlpdKEfzgFMMQoPBbB03ImAiBk6lwlPM1YhKxReF/IAU7jyi8kBFOURaP59q1HINW89A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJerENBCRA9TVsSAnZWagAAAbMP/2efnRwEoptyDnoIMOzO\nW0bhbULB8fpMg4eb22SG2bNVeOYHaVsK5pcOA1ysQIxZkuOvc6YbhbOsTQcv\nprX1ym3w9qbyLtCIOePHdMkZCM6qW41LMiX3D2KAEPJ7ZpCfN2LfQ7JocBqc\n/FjEbbglzNYiJMyA+CimV7Wwg6tQZQOjMEYq/JNAnk5gIx4wnf4pgAsbn6oj\nBUKJ+NC7AseHCHPsZ9qhxvWq+naLKMf+zBrFBPLZczsL515V9yupu5meFb+r\nr4c5kQ6F1mHXR76CWQFZUjTejI8x15ZlJ5Xsl1XltaXok1aWsNsnSOAPLSWh\n2iqEUtNOB58hfCSenqaku4jfUCUEudd+k00JIaDtR0GSpSSOCkXLBtDt0gyl\nMkLG50A5CAkvKNxraG8DQU9XJ5tpdLTk3MR5kCjkCrskP8C5xbbRHRfURsDy\n61ah3x1aBjLZImtrYQuHbNRHwKQl3Di7/jyr45OOBEuGR6Cs5jdlMVSTHojc\nY104gSzUmzf5UEz6HViqe7i0llIQHOoVYPbfoFVt+XuFIBomXc303ecX1xmT\nizOt43d4XhSFDc1wAcx5h+lbxBi53V04pznW7aJ9v961P9mt1AAO0vGFidfj\nmqQZ3wNa+RQQOu7rZCYPDzcNm0YgwkkAMVvyVeoAXs59btRs6IIoKsAr0sIG\nrc+t\r\n=R0r/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fc7a5c94d345c5fcd76d4957427c551ed759a1f2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.e59906a57.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.e59906a57.0_1588347712680_0.2855804091965706","host":"s3://npm-registry-packages"}},"7.0.0-canary.c02712b59.0":{"name":"@material/dom","version":"7.0.0-canary.c02712b59.0","license":"MIT","_id":"@material/dom@7.0.0-canary.c02712b59.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7b771b089d82d6a33d5c4702990f1ad120afef3e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.c02712b59.0.tgz","fileCount":28,"integrity":"sha512-t8zEbdRtGvmwltngLtCYmcqjxe9M5gCS3PNOEQ38PpPOfVtQ9EU+19elJhMau0Tk/Qt2yaopTwt7eeNS2/0hEw==","signatures":[{"sig":"MEYCIQDHUVcpKjmvDxU2c7xFM0LYrLtQ+Gy3mrhG3HpIUAAVUAIhAKloLYSJRr2xxIkA/4IZL1+kYRPQ1eyGUuYJSZ0Npqwi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJerGmPCRA9TVsSAnZWagAA9BQQAJQlZR308W8TeLKKdvhE\nAF9z9tZDL6ITe1atBJX+9PsI4kKH196esr9iETV+LaMULakU5D3BOv5KqX46\nbNC/LtLZvNPqvJnxZcw251IA6ZER6f3HxXsiJaFNeuV9os8amicyHmdXW0kC\nJLZhuZph4Jo5cEMsLA9BSlI1j0xQQrWjWKUeKoQk0vVEmdE+rwN7YQAVOL64\n/ZdUSj/s8ovQ+Sq6xztbBU6y3e/X4+1zth3OVCJPNWH9xYjI0EwA3+ybAzYC\nJJVgs8TYHZ5KvOYWWfrRENhSaodHUA1RV/7v1yzqELl+sL7asUUTTvD3m0OD\nFHxL1sq1P1jXKpGSo6npzbKocvH108QH1ls5IEtVkwfSMSxSCTp8gKfGmbjj\nZiVeY2H7LZjeYEqP0a/C6REYJYsBAEC7qsrPcCdBndaH5xUAs6dIW7THOiMW\n9LGPu3XYIJuCtBlMWGbbbyP5N2Znp8V61RmBOsTfftJf16FXsK/FYAFMUqiO\ng49zHK1Nd27NZ1SwKrRIxnhMuS2a4wyetZaXgbEeItLJm1OsBFz7DvVBsZoU\nlzaOkdxg3eqCYwUSqVD+6Mj3U1UZQwXyoelcIB1xHV3VQE0qc4bKajF5kuk+\nqj+TqKsvp99+MOce1dKCOCB/jczYsZIrSSLgNflvrrILkVbK6kCv+qNvfiaV\nF3WA\r\n=Xfpw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ed5da0cff8ae5197cbaf84af0bc924c207d3998f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.c02712b59.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.c02712b59.0_1588357518587_0.2671980402285308","host":"s3://npm-registry-packages"}},"7.0.0-canary.15d65448e.0":{"name":"@material/dom","version":"7.0.0-canary.15d65448e.0","license":"MIT","_id":"@material/dom@7.0.0-canary.15d65448e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4071c136ae79c9a8012e34f861022350bebc974f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.15d65448e.0.tgz","fileCount":28,"integrity":"sha512-P2mSKphLsPI8aMi/qAnxHqzqvsEcPURQkyR0NRnBq4h++8RkoDfwsyJ3A2UIXSZo3VoxYzhguBf0qIl/nhEnCw==","signatures":[{"sig":"MEYCIQDQ9fvhJtpinzWUw24f6ZndcMGq86eym5n6hyBMTx7/fgIhAOH+RBDnP8AjUsTVU8YIldx8Dk7qepj9GkcyZfPY87+f","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJerHbeCRA9TVsSAnZWagAAqwkP/2uu6DeP6QQHLEwgr7id\npEvsGi0IhDQPLVrAuw53cE6W7Xsr7UEa9A0/yso/TmfAUSZF3uK1ubE9WqGZ\nYImZGnhWBoqadbK8ZRa7W/Nqq4K8nfmIzogeac4TXpDDI+l+Ynv36JKEky2M\nLKoasaBUPX6UEq+pIrlAxgYz02oqt7ZJSeyyZQ5Sw8lTpKD2ZLN1VD6Fq6h3\nDQyXlL/iVUY9iVbYghUIbDdO6hztnKPhlJggQXpX5l4eNIBtNQcmLxrxN4ut\nOsCv64HJS55qlDxZLED05k1hnl75ww8w+iGz0xDLjzIsyTT2FVRC6M5JF+ZP\nLJLgXx5CuPkiSFf5P3PDSqKIPkQP/ub8gDiLEZ9eL/n2lLgGRbZGt7lz2+Ym\nI//QMjzQFH6FXiQb9wJM9EJQSgSx7OFShRTQpbn/jtaP46OBIOTHt5rSLN6K\nLrWSgK4xhpjjyNwM3cg1ZGMqLsbSEpxD46LIi6jb78VH9+/kn0gkBtf3yzAW\nplKGM7m+zcavaaDRGFBFKuLSa+SvFImgng8Yvq1L69vTsFPZ81FXZutAq5Gy\nSQbsiGPmbTAtkCAA3aqqkzp7iIGATXQBmCghqc65Z3xXHSorAfhxYzk/8xlK\no5TXvyI516T2KDf2WeSfvX7TcdWz8pBcdDqdJg9JFNF2RT2fiQs+eukcWM9Q\nPLyh\r\n=nYJe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b2e16d6a45e857fdec3838c3c09ee0a1c61d1858","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.15d65448e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.15d65448e.0_1588360925674_0.7119656633880689","host":"s3://npm-registry-packages"}},"7.0.0-canary.142b1549e.0":{"name":"@material/dom","version":"7.0.0-canary.142b1549e.0","license":"MIT","_id":"@material/dom@7.0.0-canary.142b1549e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"14fc8797fca3beb7be0bcb77cef538f0d84e56ed","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.142b1549e.0.tgz","fileCount":28,"integrity":"sha512-CVKwiCHTti5PTJEHAb02VCIYcMxCGiUPUAT7yVGXZ3SpYuayCSU1tbfC5z7eAQhCqGYV2a7CNfMudlqqDN2G2A==","signatures":[{"sig":"MEUCIDTiYNJNgI+djC5M3uaVnzCOL8dcqVZCJ7EmDlimUQvMAiEA5UyWuy1dxvpDSmg8fZ/GN1xRu01bHF4KckDfOy3+aV8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJerKQsCRA9TVsSAnZWagAA8hsP/RwqqvnWa/4PGCnBXn/K\n7h7L2giY0pphpYWxj8pu5ZThTuGhQXY/Q6y+YQD6UbsuH0vFtT8h9onEwTl1\nLC+FtcHX1LjHs/b68ipZnjpCb6QYxPqGkXdMV+oYncqXbngdRbrUs8Ou3COQ\n443LqXUdGQl0O3ewYRaegLYR6a3swfyA2aJCS0vu0gTitkKnvKUKex3k1kaO\nLiu7opler9oEBNIQFU3fhwG+IDmBtQlH0mkiz5wBESzsA+LVlmEZY+L6ZM9X\nWWI0G2+QCiRrin34/Vf46IU7ODUw7leoiHR1OZRV/d6f+UTJ85HoaUdxdf+6\n86fBhr7m02J5zYlXFD8J5/u0AqN1/kWhn7GyvrM6M2Fh0JWld1dH4gG/P/Ak\n1TUFpESvJBDdHiyLJmMLmGAtzaKKPGRmu04FgM4oZHkgGopMLPUt3iCqFWUP\npq3GUTCpHKSe4FLDqMwSFdoJ7EMvUTqHa4SRd5sF0xVREH9VzQVoU7Q65GMA\nmK2lOH48vH3grkFlvFTtoSh7ufRsFfeHbH2ZSU3Guhh/bPd1P+9AKO6C7sNF\nrJtGg7LDPEOZXFD/DSa5PQgqps0hyJvF1jwE5Eya2u9ssHenBQYvN+awYWgM\n69NEu7DpFEPIliATd+DGafel2/uAHtzcsa8EaGyvSTTZshMf0gPhM2I9psA0\nHlX+\r\n=3eZK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c43c6e2e74a4352aad7225952aeb9e7154d35751","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.142b1549e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.142b1549e.0_1588372524153_0.2595646161774998","host":"s3://npm-registry-packages"}},"7.0.0-canary.524b7b812.0":{"name":"@material/dom","version":"7.0.0-canary.524b7b812.0","license":"MIT","_id":"@material/dom@7.0.0-canary.524b7b812.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b4177ebf65799b4a78b046146782bdfe3ad150e3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.524b7b812.0.tgz","fileCount":28,"integrity":"sha512-fH4hmI6wDQatSlazEFgOHMGmEmm63VSgX3x1BcI3vAdzRbgyCe24jTISzqqWJ2G0KI1RnRMWrcsQ0ltaSGz6Zw==","signatures":[{"sig":"MEUCIQDnoZSL9sqbpGhRInBcv0r1fPx27DR7F6c069bq9kX9twIgN9sKD4xdloto39FLq8inczXawp15TT0DJHRJ6MOjyOs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJery3MCRA9TVsSAnZWagAAHSwP/17mWSsvX1SLMIVXUYUC\nIziacg68g8Ape+kDu48A6MiDLa2B3tSMpQdbmKwHKHYtgiPdDvGB2S2tFLVY\nH/oE5xmqFHBxP7rP8VTM/IvLBB9Xfb7WQosdLA4jShOPVl7y6BiypOtkBVbo\na0rYCgNayslu4IrRqeWgKKHuCo26xwA7/4Zynzibgsv0Zlx6XFJMa5mzn6AM\nt4ggz5GHvPZ4GoOYqsgTiq0s4/iprVZ+GYJuyktdhdnTL0M2XiY0aDnhVsFN\nhdbN6RnpGBc9tgTeHwoWRb6PrhL9h5IT76TfxMevLHD30fQ8Q4qxFCj4OjDf\npIi+N5fHM9RXU1s49QG+T2lACD38jIetAS+OI3z7N33E5SMHPhaJGWt6Jv6C\nOlhTv0rqDr3ozczHpM6bR+KyNMZ8oAMFPL/5poQ+YEv57v+mFWZGmyeV9eTd\nILIALhUODIuEc5kx15o5svCxJjIeMkbk9X+lRUWwLLbdfpmOw+FqT4OxYsvm\nBhpOWjfzvxGHkG2bLPBM05oGWYCfAxCMxTS3zkAWnuCLru3dGo5wxh71e36R\nhpHTHW92SsZBv94K7cR7Aw9PHrlM6ffQdjbaMVPo9Ct0/nqrkEQP5FPvOF/r\nRCtSdigYTCpSBk463L2jV/F3YRez7lfD5Lm8gswzVuhXFleub9Dpm/nBVaBG\nZKj9\r\n=dti5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"82ab8bbdd2373b285c315177e7054a727b38f4a4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.524b7b812.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.524b7b812.0_1588538828155_0.6069091392729753","host":"s3://npm-registry-packages"}},"7.0.0-canary.bd8ca9678.0":{"name":"@material/dom","version":"7.0.0-canary.bd8ca9678.0","license":"MIT","_id":"@material/dom@7.0.0-canary.bd8ca9678.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7cecff76878a28d56b209ba0ca51e8b9acf9bb8d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.bd8ca9678.0.tgz","fileCount":28,"integrity":"sha512-ewobrdAcRxEVGaSBIScxMpelGnTeE71FL+1oNfkJ0dpOiv50VSDu5qCr6O3zH3jEeZ0ufjQypG0xbVNV7+/9BQ==","signatures":[{"sig":"MEUCIEWO2BCKzytiIuFIBLZnD7j34mst4rRWaxNdY/U82A5AAiEA5xcVbM6E5O1OldL2IjaNTQ+jkD+8Vc/5A82KG7T+iDc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesE5oCRA9TVsSAnZWagAA0O0P+gLOs7zeEqNgE4TJtPOI\nnD6uV9Ezn3wAPQ+TPGj6mEfG1JAgA0kKdrDv9w7MUHA2Tngr4EIiyVXNSA4N\ne1+AbFqRuQQGIqQwSaBwTmAKvwxP5dBiT5tlLoTrIMifBzLWSFmT48/PvXGP\nzLVMSUR/Xxy0Gb4XTRKFDiJJgHkbJ9sPdOd5QqnGhj8nlFtOTRh6c5VURHGQ\n0YJwQVytrWE0tYzyiMFapjKJG04yGabuKqrizpIKfIsNxyVg2pSmcQkqTuP7\nNILH75IqEAkpINwmXmDIS+msVj6EJtbVV2N/DA0dtY30vRmEY570N80Qup9W\nZKGJzBOEuxpwx0wGTagmghORMLF8AqiM7Ko5k+S2LuvyKJRHGxIfVeFI+o+K\nZ9mE56H+jwQ90Bpz+4H1FvFxY7MD3Opsu1KxrUnCkCubxWV4yo0IbM8aGhSX\nkX+O2XlMZMXloRCMVoxfMLTq6++YB+VVph1nDMO66z9ab4zPBRgDY/bv/dDs\nGbNdvh2njNpURsENCt7xGUW67DY2nyPAI48xB8oA565T8OhdHZ8sR6PJaYDU\nRATAvEQhiy4Z1P6wkdxMZC4n0UAx/VnAILumaenH2zkJbtyE5W5YEgyPuhEc\nc0Su3HDXhf86CNyjokrZ0+YUKr0b4UPQN0Hf6/3RnSIci/tXXw0HXuJMne3N\nZHQ4\r\n=K3SV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d21e98ae16f9c893bf27272d187617574615c417","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.bd8ca9678.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.bd8ca9678.0_1588612712253_0.26697273939381994","host":"s3://npm-registry-packages"}},"7.0.0-canary.2553e86fe.0":{"name":"@material/dom","version":"7.0.0-canary.2553e86fe.0","license":"MIT","_id":"@material/dom@7.0.0-canary.2553e86fe.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"276e4c377aeec219c54db909b73b95f86153a601","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.2553e86fe.0.tgz","fileCount":28,"integrity":"sha512-EQ4NVKka3c5xLacnJ+0bT6//ceaEJyQxacqOqMhmJKMw1+RujXx6uKFZiEmriCyniF+9AX248IGSI5cSZ2NF9w==","signatures":[{"sig":"MEUCIQCLyEgHLjGQ0227FeFY9POPScbf/MHBQtkzq4Z/9Qg+MAIgaQ44s387miNbNsUhW0MyJh8nmLIborn/W+o5L2/Sf0E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesFFACRA9TVsSAnZWagAACiAP/1Nmgm1yRHb6GFZ0cwMu\ntjHwV1+mW83toBrpfwQbpgcufm2d9+axy6Vnv2mU+w/VJ7hlJUz+T1voyJX+\nBmi07Q9Z+b1LUHERwS6WbLPDAyddCtIMy4/yiQup1ZmHlGvPf0zharNGjFli\nfI1DHlvV6UjP8wlNhry4avs+IZZBptmNmWrAzENMuLqBLR4G/PzEmN0xdxTB\nu+mVUPxwFf6cG7OqLv7D1AGA+0Epe2wt7DxDfJH5yiYt4/CKtVSbwCehbx6g\n1oBs/SRJOgxZPzS0Bs7OVXVbhksi0UK9tp8oCMBrIrv0c1KIm5KIN8XbUA30\nSnSeJH5qEXckxBW1NIgZaVfT4nEjFQxQTq01Rg8H9fh82BWcVJ8n1ld7hJIj\nVI94abkvCIKdSLiA6UHjP6Tox9YbW8C1CBDw9JZYCgfefOniE0/e/ZvJX/hJ\nh0jihdmyO5dz/pyq6Nmt+JN1u4sB5CPaWn7kF1zIy+MTcoLfRkV8Az63mkYW\neAu1kM956yKXpsKBPJDXgOzReopBWrJZ/JvIE40b0I+1epcDu8zwTPMN3B1u\nsCP/FK4OAToBSDPKXHbRaEfoXEqXeSTBjECg/A8R0ORMllX3vtQM/8RjSWE7\n/PUiDfVVuDKofiBt8fvCEKJEcTqY+1ucapo+U1a16lvCLcXm7wyuGa1Ha6Qx\nRpYi\r\n=AWoe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9fa3a214bf3d70eb6522a1f75e622d936e7c0273","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.2553e86fe.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.2553e86fe.0_1588613439900_0.45512009753283045","host":"s3://npm-registry-packages"}},"7.0.0-canary.03dec929e.0":{"name":"@material/dom","version":"7.0.0-canary.03dec929e.0","license":"MIT","_id":"@material/dom@7.0.0-canary.03dec929e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5a834a0a9a0956558eeabb5d21f75d97610a4f62","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.03dec929e.0.tgz","fileCount":28,"integrity":"sha512-0vfK5mywsJB4iYMLgiHK8KyN+uNm2DyT+3pna0sGWpgDc4ux+WtCGAJoi/6wmCqYd0bMHbarGCbM3Bme6ODolA==","signatures":[{"sig":"MEQCIAwaOVfE6qFIWz4GiLIFN6r7xeu/D40zbkZulV/rw9dQAiAc0NrYTrbxWF/4bWLd9Lan4lhSs4v+rzKWSmSAmGqa9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesKY7CRA9TVsSAnZWagAAPOwP/iwVPQay9lfm6yLgDs7j\n5yZHvmSmBiECl2jZtSfnfTQeH7IQ7+Rzd1XiXyYslUNjaQ2J/W8K/0mbKI21\nQDU/tibYhVX9MfwYI6RsqjWPdi8mnSQm74LT99slpsOQdxUo8eCJG8gWQiXI\nclLFGw4D8Cr2tJXg40o4zV6jQQWyTUFRTV2kgqGfZAmuxOZUb7txGGvKIjc5\n0ZZLbcmDBSN/4IynrJAK7F0Yh1+DomO7mrmsAGI8ioMB/fz+dQh6iyyE/tAu\nTma1pMiNJ4Z4Swod5j1FTUgByN6lucD+/Bp1G00uwWwjcnmfQnBT6rzzIu5k\nlE0Z1ROeoWgD3m14WgeInN9UdhYzCLue/z1/DtznFysUxaHzOIYIBRxwmZYU\nGKxfPCkRviDQQg9FNceT4laLVfRYWPLMQE90vxkncyUX/FoiL6xidaZLZmus\nWeoNNrxk10EC2PouiNZP0a0OZpX0YBnDUApJQbh2wRibqo+vBz/XDmlOnf8t\nhxJVkWNhexHJz4AV93fVKN4J37rK/MfY4+36JET82tc44HthxTkOSbagxdRM\ngBMA/Apt2jHeqWyGOpCYbueGRh9OGSe/K0pKdoWoNDBHdhsMAsDDWSCQIeNL\n6NLKOAJUdZvCHddTSgTN2emLUVApf9gmA/pnmmnfc+kBDFwQ4S1p+AQ6uAAU\noPJr\r\n=yZcd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"976244ee82fa3e080e074d9aa9a254e6428c90f4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.03dec929e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.03dec929e.0_1588635194487_0.4488501234285345","host":"s3://npm-registry-packages"}},"7.0.0-canary.d92d8c93e.0":{"name":"@material/dom","version":"7.0.0-canary.d92d8c93e.0","license":"MIT","_id":"@material/dom@7.0.0-canary.d92d8c93e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"079c9d4e0a5e926acc26b22277bca94750122e9f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.d92d8c93e.0.tgz","fileCount":28,"integrity":"sha512-mHMF2dkKbymywgkOdMPdW1+MbQn2GzvdSpjfRDX/cGh6lKQ0/fado276b/vpXRQb7vNXG1Z21TUtBiZyuyf/PA==","signatures":[{"sig":"MEQCIBFOMULeK/V+XA+JvH+mLRdmGD4hCfPLZgG/2G+j1h+lAiA6lfHvRZUBURNWfh5pCkn8dPpEVqRFoGHOM30RgmOBrg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesZswCRA9TVsSAnZWagAAF8AP/3SU6K4EnLchSjTl179K\n5thebckPZi2yhWfRSNKei3Wz8flbh8lAmqNYlDgCf7CccdqzdjCYGA9QLfCh\ngEaan2S433eCrXIJt3ZtikURiOcPZdES4sg5FjBwgvqnZT8FWnZuB3nr1nZ0\nIv0mKvfJxoR4MvLxM4RArFZ/5hGhXnAwp5U4P6GEVAgRmypmC8bO7yw+XGIw\n3IRdT0v9mvfoht1lg3AbXuAmWFiRKq+1uGws0AgWpTPmv7fFZ2UYVw231/Po\n2/ICozWa/cmkhMPi2NJGmHjWi84IKJArQpshBhmsqix5WcLnqlo+VlBMW5aM\njdPir+s8ulD3ZX11/MfM9cCNeOZGGqQNLKyA4mAvZF9AgRdhctKfQOwO2Fcn\nPssstElerOEHJhJ/QhU4jTpzHJHVZa1TDhn2/jSQqP59/k7OT+0M8OYcz6HR\nP+Qnh4g5/K0/ZkMTX5f0jgF5HhYa4BLupzWKQLRxwYm9Q+qghFUz294IgsQ7\n1MPQ5wdVx//rKiAnRrejuD+/Xm/tDYno29l0PXvZ0bi2gxwd/QpC06FegZTY\nxurpYjfwCxm1bPv2CY+eCwgh+SKUh9QyrQuSD3z3eitXfTEkfOVmRLYOP4jC\nG7tlnVCCsAtcn5FWIqK24C7Ekq+YnOWWxIEOBKvieV0+2ZQ5fa/9RVB3mvgS\nBzQy\r\n=txK4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0781b5a0f14ce17201271abfff044630d170700d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.d92d8c93e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.d92d8c93e.0_1588697903726_0.4161226312183113","host":"s3://npm-registry-packages"}},"7.0.0-canary.09f591967.0":{"name":"@material/dom","version":"7.0.0-canary.09f591967.0","license":"MIT","_id":"@material/dom@7.0.0-canary.09f591967.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7c0259946a3ac07a446f9459e477ffb0940001d4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.09f591967.0.tgz","fileCount":28,"integrity":"sha512-AjmbJVaW0o71pBBQLFLqUECz4kN4ILDqtLuMwP4oT9GVPoeFOUB+zAXV+0L6aR/ispWIDlz9vXEcsl9ypMsVAg==","signatures":[{"sig":"MEYCIQDOi4O9E7AT+FOpnqdLrGdzp/V/DaTrrbdYxoo4SW51WQIhAMTqnFutCNQOHEHqLyYZlqCGpys9tEkKqhxpj2utYZlg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesdSxCRA9TVsSAnZWagAAauMP/jxGOqYhwXwnp6D4dyPQ\nheJI96Sd496PZNIBpXIQsywRUuxgW5X/0RdChj3BeBZTXKNG/GSyLY+3YkGd\nB+P3Ujiv5B14k+npsJ8c3ckSJQvrFGBllq7uKiPQUa3jGlW/dOc/KtR9otoa\n/RuSlnsknnjcB3Onb9+E1n/kkB4Z0KyjLTx5sK1TTCrO+lX1R8fveIK+lAiN\nPmBnCDpPldkDoCQZj8ok2waugKDu5MwlRu2EfNf2h0pXpR/oTae+op0GEVnE\nQ+bafZlvhi5eYjtnR6SL9DnmuoxZgXXrRx0Iv2K/FV+GrTwWebCRyzPHN8z2\n6+vmwbO+hrAPscL8LG6N0f8VgEiyrxLWzMLRXmPYySreXFm9kbv5YzsIEGmm\nwvHh0FdPfTPyh6hSjAYJyQXEv6OZAxoxsQRkRyt+2WWyh+7AATGuY1f0OgrC\ny+7jrNBlXs+jsW14enFyflR/SDF1j86ZSx5G5zHvO3A7rA3wtLg9hfVfnyAB\ndy4ZhDI6iP+giAN+Zf4siUVGAmJG3j+bR4ug4jUwyZjsRlTI0Erq9cpLMntm\nvFLe8DHyLsWrPMT4miFRbQpCwo0Jd7myDfCY1UeM+51L79n5+ryZDvn/D9vC\ndR/sYTYtFT1UdyRILjNR6bHzmH5ahNcmDZrfis5dt6YwtS9X8/vIIovw+BcJ\nB5zw\r\n=jm+X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b1c5f494b8c0fe5f6f9710e50d51e2736a01b227","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.09f591967.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.09f591967.0_1588712623682_0.22284589472605143","host":"s3://npm-registry-packages"}},"7.0.0-canary.3846ce311.0":{"name":"@material/dom","version":"7.0.0-canary.3846ce311.0","license":"MIT","_id":"@material/dom@7.0.0-canary.3846ce311.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e46a5ab4e660f29601e1f3beb7db49564459e9fc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.3846ce311.0.tgz","fileCount":28,"integrity":"sha512-nLEMNILNjSBvOtfY9lLXwCnbiPidBO8tCj/otSj9EzXmMsYYvkYX9MeDX0m7jAefZ9PjtBz2zLZ7EFRt4EObHg==","signatures":[{"sig":"MEYCIQD6/499w9GiRrXw/jU+WgI4//o7qcpdhcxQxVl7E91+2wIhAKKHnYZLXRuTquJYcOxrNG09NpygYoqzhzOq4KMa4FA6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJessT8CRA9TVsSAnZWagAA+QQP/iJsjQC1o3PGIUJ6LrSH\nmswy4HtMAhVZ4StYrrbiois82RPB4AXycJADKj7H32bG66oi9I922S3nwe3A\nUs8yTTwSYw+0kcOGXnUPt1lg/wBa0Ynk2ltHdye6DVdZMk36w7o7IXlPLTqx\nrc+JI9qLTF3EhqxEq9OTDa9hEN5Ss5oH4p4M2d/z5hE9TiO0z3v2tE1c/6Ce\nf6Itu3KhNiqMUMRe7uWZiudnqINRl+3ZCaTk1m6TiW5Z+3aKZnOwFpFjZ5Ss\nwwneD0GT+wCZhzZ/6Lch8hAeT5uuDEyAnUO16wPUKhtPLoPA6YA7oxFZp1fO\n+xYVauW7RGEWFkSwiEbGijrYe0BIcQ3Z1bhByIcNPbuFcejf1fqyrXtqqJt8\nlI8KVvRmcd8TbWqJ8vOycMlsvIEK5SX5ZivfJTs5l8dfVvW+/fQsmp6NtnJA\nUBFOGs/eTm2BXp3UXA+1rT3Qdcrf/p0sOVKv0HVWzu0xcfapTtMESvsEWQwI\nIFwu+j9Y9maa0fG1ykhSCDXL/DthlvJ1S8BVC/ASdyF9IzOJobEhMpBXBpxA\ned/E2G7ZZHlRFyPi+VuZgocIdU7OPzCy+SDpkc2jFsaEaIkcXNw4EWdCDiq+\nHhWq4QvsSpCiqw4xrR8wqKquX+vv0zn7YsHigFxzQKh/nVn9I00lhgpsudJQ\nBBfJ\r\n=dv0G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"80b3806d13f75bd5b77443c9e504fd6468a5820b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.3846ce311.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.3846ce311.0_1588774139887_0.3975091259507668","host":"s3://npm-registry-packages"}},"7.0.0-canary.ed7f32463.0":{"name":"@material/dom","version":"7.0.0-canary.ed7f32463.0","license":"MIT","_id":"@material/dom@7.0.0-canary.ed7f32463.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"93bbb5a8e7ddf919bdc5599e64ccacfe30386c99","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.ed7f32463.0.tgz","fileCount":28,"integrity":"sha512-TAbXVN180HdamoZPntkU1hSelyLlGoh6LVvHMa1kRL7r/bqrKhbm9iY1qruGsfYcHVHLtI5/aYeeMZ2xRRP+cQ==","signatures":[{"sig":"MEYCIQCUTGL3gQtVnJ+XbWhBaowkxrrosKkuV/z3oqwopM1RMgIhAOGU6MoAjB++X99ew28qMIdgABqr8/O2NI61B3Qkhl35","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesuCTCRA9TVsSAnZWagAAltMP/jTl9YBX4jwH8uSfFy9a\nQWyLRKuzsQDwOWN5AWVz75ET2TNpSu86VqMXkOECHYoAuF4C0Iw0R7vmMK1q\nBFaf1SHHmSxl5mQ2hO0AQ+Z1pnl1382BUGLZgwzss3Q0VQ0TBFMq+04CCAmx\nmrxaHn0sIK3KFm8pKHGxbASiXxS83AWjotAXjC68aF8dF8+09erItvX++gKE\nKLgrzkvstHMb8fAAQPvnOTXOgo7fkTjpKFTN6ZeU1jpW5IM/Zo7vKKWyhUfN\nDDBRYI0Kb+7PL4iUaU87iGTAMXLDCzf66w1OF1j7G41gK7xWCJzP4Ox7EzRq\nDbUTcs5ijscMpmBy6v7qa0Od1EdKaRV7lQmMWqyTMUt+VEBRvYQnjHWXHlCR\noOjsBF74qaYMiFXIaHr0kmCsvv6hwBWd4xYqfmPz7F8YeEsXiYjTYOaQ2J+2\ncAm4wJca59pvCecl/6ijd55lDjeEo8XkKSBC1UTz+iEFL3IgFPHh66z9rCyA\n6qjgI6O33iqFkbYvDRDO6Ut4FkqwZyCS54iSggUYOfWvYcSIbfaMhEKlLsAe\nXhGz6O1e/UAuUCUoeB1sVD2iUjsxW8L9rCBQH8UrQUZceZNcCTkhbYq5UsP+\n8z5/dRx0ScVPH561cuPeqa+Q9HJjy8IotTCOYiAR8GMUHQxzY565cSiVY+e0\nYgqo\r\n=/5gg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"84dc461d7b4d6f61ef286fa2ade4f3d05018af62","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.ed7f32463.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.ed7f32463.0_1588781203275_0.8653542088360056","host":"s3://npm-registry-packages"}},"7.0.0-canary.8135cc085.0":{"name":"@material/dom","version":"7.0.0-canary.8135cc085.0","license":"MIT","_id":"@material/dom@7.0.0-canary.8135cc085.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"eded60119947b9fc7c811c375a669709f68d75d3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.8135cc085.0.tgz","fileCount":28,"integrity":"sha512-G6fWnQLUkTyXfY6/KdzKBMShnkS+la4DVwPqURmniQE076BzgWCq7AZbnpvlNNsjNvIuFRSmIRNmaNuDxY8TZg==","signatures":[{"sig":"MEYCIQDh02do5R/bov2gpn/g4X/n8vU6ZBKj81uA81DNNYtRAQIhAJp0XO+O2tcnfPDiGm7AlJU7lpDecPQvms7NWDJKEAyR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesxX9CRA9TVsSAnZWagAAwX4QAJyYXsvTazLMFgV34dOJ\nNwaCjuEe9td96oyl+hPt/cpD5I4ykvZ8PkNQFTtJuD2decoQId/C8K+5t0kF\nBmv11OfY3B3zn4anrjEV0vKMk0/LfNc7ynd/0r5n8tDZgaooU+vmj2Sfufqr\nKVDzPHse0HWtbgZlF40NQ/0k5svgAQVgpO9MUgaSY1/kSAr/e4xKoRTyVS3c\nvBTTZ5j0q/EpSdQt2Jjtb1YcY+ywqpbVEVnf4Y4MGCUqdqT3TK899/xIXuBd\ndWzuwsnE35SZ2rp7/mfV4K/XktMXIGhjxXX30tZiCf9jHo1JTkGPptIji7DZ\nPgSi1N6WHEjqA9Sl440kEY3/wHHT6oy8n7rUf9Ft8RUS6BPcJQs+ap0WAW0s\n0yGmJ5dkT4rfnzr44yJnuoNjPJj2q29EjMUro3Dp6fm0eQP3iLGxAXJZgZ5Y\nBf273OlOsfRzGbHcEAQNbF8dyMPBfO2M4NTqKZPywyxnutsH0y9baxx763pE\nqLxvRgoEO6l9WRx9m23dLQQeEqgPmyw4u8fpFAmqP8kh/gOpQrd7nn5LycKw\nB7nMplK05HkSK/ITTezQuFfDcwsQM5uwa2aYnywMJpkarsULdjDIzsvWlEVC\ndV90o5emaoNcABHw0TzE0ofFIPNrzNFXmuK3GckXn+lkiKJlsLIx9VMqfofp\njHul\r\n=03I2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"56422959574aba25d1461d4e7ebd168437ebf9a5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.8135cc085.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.8135cc085.0_1588794877252_0.8309841343649269","host":"s3://npm-registry-packages"}},"7.0.0-canary.deb212de4.0":{"name":"@material/dom","version":"7.0.0-canary.deb212de4.0","license":"MIT","_id":"@material/dom@7.0.0-canary.deb212de4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"593008dcca463e963809ec08504ba4ae4d97e253","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.deb212de4.0.tgz","fileCount":28,"integrity":"sha512-QbLXM4H4db4IxTij3QJjdcZOXG8flbj0M6h4LK9eZx05FS7pm/SagtfrlyiOHuPhm8NmImNtrTjEkhZ60uFN0Q==","signatures":[{"sig":"MEUCIQDt7lpnr4VBp7eXWKhGJTcWEbYWqKPdtl0tYs8qKfVd8wIgHyVfId/1q1UoEQ6bhmkIce/uJ02Sq1s9yK9cEbw7mxo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeszemCRA9TVsSAnZWagAAvLUQAIEffgQ/Goz5jScnZp8O\nfNRb+IRVFbKmdTwd3KNJmsGqvAnslF4d5ybDl6p/rhj3oeDosUbLnBK/YKp7\n9U+ek4AhOM0HzC8gKt+Zt8okxy4JnBdBGdAbGRmEfCDwlCMpKqTGTg6K3M6P\nYqBcBs8PXxmI4Um2dJ5vSuPURJAyV21cujSOQeEM1H7Q24KU+ShoTgfpDARA\nHVbjOemdsMj3A+//NYJG5gFOtKx1wE3Krj1gOjn7/cxC/8DmbHsssil7sYkR\nZWJXXYZYtwwH/Y1MEB3AZYGX2PY2TXIpltTgbbIu/Wr/jI7h0SKQqfljOQ++\nzOTncK3Vac8+WCxt1sSagNZpj0X+1cYfaW7JYGuntqmjCx6J6iRZTDZQmyRA\n4XpRccAPBygsnPmLfWZYVoBUQL2ownjWIOS/EFeqzq78AeVL4ktrkaqVRE0P\njn50UlXF5darwcj2C1X+svRvfqnBpHeI3+2wc/hK9wCFnpODskelI4EchB6D\n0NKj0wuS8S/FrwOx4lxQuAcKrM8DWZ4lyFtbMpxsXocBeU86VoTtzQtyVEiK\n0uVTbIWbYC2/XBbHAVXfxB/UUOjKSZGq9aVo3oGRUH5HpAerix/gMgs4GQY6\nQuParX5yJiV1a8j6ksSGuHh/mQUDYbCLWTPpg4C0MVC0d8+jZ72jwcwbzSsD\n7vWB\r\n=V95x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fe9c146f82589e5f1c471dbb4986ed6b3a7caf54","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.deb212de4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.deb212de4.0_1588803493245_0.4029776167989547","host":"s3://npm-registry-packages"}},"7.0.0-canary.f83e00898.0":{"name":"@material/dom","version":"7.0.0-canary.f83e00898.0","license":"MIT","_id":"@material/dom@7.0.0-canary.f83e00898.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3316ecda7c265b26d94ac298d6b42090c96f1d3b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.f83e00898.0.tgz","fileCount":28,"integrity":"sha512-L4c7x3gKMsOkXj3QFfS9JPjkEDWRBc6bs784PkS+7YNS+3KRdfJZxUy1ijMqCQPpctcuD/bdYHGCt3liAHkZxQ==","signatures":[{"sig":"MEQCIFk3DLJU+jBv43EUer+45U+cdw8thnvW4D/zidswMerlAiBn/fZc9M3pHV3rGFECgZTxEMMR1WjpzHa+xZbmsbD+8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetDv+CRA9TVsSAnZWagAAFv0P/RgYmpq0YUi4e6AGS6/Y\nXd47D25yNqVW81g26hq6FJ1jtWAhrgOY+vkZS5NYH/tBPw70POUW5EJJK5sT\nLHj59gCYQAZCcjv+Swuny0up6T2WfsQuN1tOPWiFrRE5L72lCgXCQkLYCAcz\nUP842L1nXrkwLvYITNmxKvSCM2jADPfBJ6swFCRPx4GoedoHDZ1KgpsscLEt\nNN3DH+xfLmZTQ+Tb7QiNbYZrqqf/aQe+/HBqWLlhzcvAMiMQln1Bi58Wx8FI\nuMAosjHdg/zw/MRUqGklmuFTj6IfgQGWmmuAy0aPZNTAWR2uJx2k/EhXIGEG\n9IQr4WMFV6TYd9oE4cJERlt4tmlFI1rRTvhe46whKRDW8V89UCvuXbcL/M7r\nlMVhdmkQ9dPMHA+IuXU5xJaj78qkazyu6HJXoATsSlRz0uYZMg1C8cPZZq9A\nAZycqsTUO4Bnhd5ZxBTMpyhrgXWxVac+b4lwdFYfZMMA2fBDKqJsPkyXrHV0\nArUV2voJwA4BdwDGFkau3l4wbH93ygXa2u/BobSO3wXyj2dK2pRI6xtvJJqe\n3/f3jNewWvtHM5y3CVSOgBskYCrpmgvv4g3EjI1qlxakEppq0977PM/sgnKS\nr2lhpKpaUiMHSp82+n7ic9D2FwRPS0I8g6weWW73fgjbJltH2n1Uznlt6XDE\ndM2y\r\n=DlNk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"02060afc2f5dcb762e9083970f865f1c714a38f3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.f83e00898.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.f83e00898.0_1588870141544_0.5295676657086099","host":"s3://npm-registry-packages"}},"7.0.0-canary.047e6b337.0":{"name":"@material/dom","version":"7.0.0-canary.047e6b337.0","license":"MIT","_id":"@material/dom@7.0.0-canary.047e6b337.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"262aed9ea1686dee144a8d81f0c62fc7f2305b58","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.047e6b337.0.tgz","fileCount":28,"integrity":"sha512-m4e9OdtRPTKp9aCSNOJB3cH2A47rnrHpUpVcDfuxNdsKcdavYL1MMxANxhd9Z5714pUgfVrQPGner1nHdaJ+sA==","signatures":[{"sig":"MEYCIQCD+irV9Gf/9ELm4GyFm7pijN2vaNOYRisVkxXc6ui/JAIhAKzHyq57SnUxUYG0rYuTa2EGolg6QjozqNNd8TkoqA5t","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetacECRA9TVsSAnZWagAA7UMP/15zh0i+TXeHfOqurf9b\n2wzNhWsM1qXunFMW4D40MppkHJeZYAN3wWhjQFugLamKbwnQSrwmoije2Qla\nMrTBenQ9wa6PzgTn8kuR/EZ0z0eLcGVLUARvzi8DoRRFHfpNnVkjqKzSXHUH\ng0Eu3LiDVo4AgwPy9EtCsSXhq7EQoBg8JxyipK3RcO3oJ6JMrYUcY1h8Oxvd\nHPfH8+53eout6yzsNMBp8N8kBeMWG0+QZIFw7ckp2wj37/WYeBm6jBZ8ZeHt\n6eSg6S7oUNBO6b79BL1COgTNP9CDl3QhFHylcIta0M1gwAv370MKCIfyTUaL\n02nfY7fj1spsANeKrZ+8HtHg31RhJaivSS54oIDRTztD9jkecYuHqPqmUEUt\nHKV045ajwtTjEARgECDjf/KRNczuRkb1fqsmIxmzyMaX4HhWUdGRDSf5K2qj\niLQlxUfR8vNATgn2ioeFlG7e9Dti3B/EEyqkWtIJeq2fbxnJdY8h2MN5tQap\nLnYioFieLkRMaAx3SK0lHg0O9+OzMDB8vMhnnZ45Vi0EuOgmDY5gWNzNC4qt\nHOtXr7NpF/l26vRQEcpQFJuFDNQwCAd/+KLdExorj7vCzuvT/L/GwG8rr0El\nbtRMe+FXz3KUmiRwI0Lt6VE3drkS9uKYY2WddibM84Eu9yBFEuF9BTlSLlG+\niTrZ\r\n=EJRR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2be3b5993e14d0bddf55fdb157837e5593ca217a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.047e6b337.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.047e6b337.0_1588963076416_0.5826078163712434","host":"s3://npm-registry-packages"}},"7.0.0-canary.119e21426.0":{"name":"@material/dom","version":"7.0.0-canary.119e21426.0","license":"MIT","_id":"@material/dom@7.0.0-canary.119e21426.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d4e55d3ecff670c7857a44a403494ce91c3ff955","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.119e21426.0.tgz","fileCount":28,"integrity":"sha512-+hvsYF3QU6zfgG8iYtZwGaLp+5Q2VJuegCc4IxsxADjDThzWpwr0w84z2gBWIiMeTi11IAkxxaQu3j0UE5nN0Q==","signatures":[{"sig":"MEUCIDD0MAfR/8TRTTKf/B1oGH99qsz/yrArHvQKQEBOzq75AiEA2cd2peq1jbfutBnhh2JGE0Q74DRWw5ZIKDAJAlYxrMI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetb9kCRA9TVsSAnZWagAAnmoP/3xYaAS04m3mF82Y3HMr\n8fx3Lu5RtIaTeLOzJUVOiDaaeL0Heu+6XcWKlesC0NuCULymzXskaR63bI8X\nRu1y/F9DrCSadXt39KuPJ/dX3MtMujypBctWZI+s24SGzO2M5BDJrBhqI2c0\nJ2b4wySNWGG3WHKW+2/VG/8cAI26Yf/vD2IgkHhEWOkWQpwOclUNFTHle+Nu\nCE665ZOy0caY5RNrXZPxb7EtCThRAs2NVQYCU2AnPq7pCat3BI1UauzqY/Uq\nCqbx1wp/NIFF5ggs+h4zcmWHQAFRdGUb45D9Aqx8t92tO7Sydy7f5O1bbeL1\nYy7OffFPyagYox0R0XfME/Ql0dZoXZwLadsNp18tLSq2eRNB2U40bheoe+GY\nS5FmiFNGrZ2ElB1c3QcLaNutYmsPwDO97GXq24qWYIV6cV4TNlw/azUHajqX\nWn04rhAEuygE0MQWQhT2EQ11qPHmXASREKEWAQ/yuM0zQiHxrzAiw0VDvx6u\nhkNOxwdDReyzZE3NDfJ/cjL6FN958zhxI9aRFr58S1OIGsaZ9mvJ767UkzDy\ns2Qeo5B2tgfJkQVVQ3/8i4OMxenqdyLz6hpYAF7ZaXW3BiLb8ArgiF+t+Kne\nYA3EtKI44Zh6DB4YINNiNj5/HCyO9gdaq3efe9CekT2JaK44t1xv1/LJje7K\n2H+o\r\n=hHJj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"693ba4159b1a25af6955ffb1ce0555d7a989aba9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.119e21426.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.119e21426.0_1588969315733_0.09559709094852464","host":"s3://npm-registry-packages"}},"7.0.0-canary.2f052d824.0":{"name":"@material/dom","version":"7.0.0-canary.2f052d824.0","license":"MIT","_id":"@material/dom@7.0.0-canary.2f052d824.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4c2c4886283d97dc4bc377ecb88aa1c3ccf3ea4e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.2f052d824.0.tgz","fileCount":28,"integrity":"sha512-3RCZ9W19D+N4BU6U7y+fWPeKEG0tdNkDAwCx2JbTMSi99UFklOUfyDIJp+sYz+5OJrWF0W9nP+uI63f+1Hn4JQ==","signatures":[{"sig":"MEYCIQCk9ND0Ym1JUhoCdLb+VwwfnPrluXejCzWWCIyceoL4GgIhALyiBbhk71Vy/ldszTAg+tJMYQ8wCT2etTsejwZNKI1Q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetcnfCRA9TVsSAnZWagAApmYP/0qYmATZ8+qwQN5ogpor\nFTkeA3+5PCsk7nbW798ojMnkwLSGftrvUWUG2Ah6mRJRBKV7pZIkhFV5f3k9\nwKAQ2Z6HImlYVF5NkCQcyZn3sPsHyx1uQ/pmkvfKIAkOhEvhDNI552TWlGl1\nG+04AdMakO++HlYdKIpAhcSM7IDXqQXiYrrnXsNC5NqSCyKM6Jrg4Fgj82cN\nd8nc0eMUEvmDRc1U7N6C6HFndUnCoYyxyBQuYSXgh2SWc4BsShh3ZvTXd1f3\nwrIVS975NUN4dqDVe94Cq8l+nOpQEKrBaTPbUZmkZCizoRk482Ot5ACCe2xW\nFP6q7vmRlMC85MT2wyhvhEhnytI7YTt/2IR3s1PFTchgxeOCHnXp1Py3a0mC\nIPQxYCeP27JveY1BIC74LcnBP/AIaDIf8rVa4G0V9xTyohK0a49if+4Hug3H\nyuYXzMXa/YE/M/MnQFtc/5nGSn+fwFcg0dqzjwQXwsKSWFFLUVnZ4Umc2ZmF\nhQ5tbaGr3LGkIDY03uUeOP1mieb8nJPkdULYsmxF5q1eRSxJQvqZH6FVGy/7\nzTykE23qS1m6O67COv4kIg/KEowg0YTLuV3yZJfIWjAq9/4j3TS/lU83A0q2\n6RAN5VV/aPHW4wZq4YoqMKdmh2IBs0Wemw3vV1wx9lyyn1woeVi+Pd8KMClG\nHvyC\r\n=6dxP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e3bfb78e98db35607ba75f333490d9693f14e844","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.2f052d824.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.2f052d824.0_1588971998572_0.06543062378806841","host":"s3://npm-registry-packages"}},"7.0.0-canary.e84444387.0":{"name":"@material/dom","version":"7.0.0-canary.e84444387.0","license":"MIT","_id":"@material/dom@7.0.0-canary.e84444387.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3a7efb9e3ece9756db7fa4eaa4cab3dc9b0ad622","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.e84444387.0.tgz","fileCount":28,"integrity":"sha512-5t7GcnvbkvjFsm9f5W6oRnyEMkkHNQ6Npsk8LGUThfQzjM03CYQPpf5HfINX6S1ayGGWDyHAAYUhtq2pVQnTWw==","signatures":[{"sig":"MEQCIC6bWSlSKyJ+PtrsNSR4Nw/Sh43eo2OuxqmUlP/UiIVKAiBxRC4v5MvlY1F9X3WOczEo15n1bLNhWHpJJfyZTqT6aQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetc+ZCRA9TVsSAnZWagAAFtsP/2wOk2NwBI/M85wsUeY6\n2BejeGlgV+KmjnMnwSOPSx9YJO7mX7FHWX/3mMHbrJDkx9O2Nj8uS6jcEg4B\nkWZl/+c9Vu56AagSUVrjRG0B8eFMpOVXihABu8uzOGV2xwueVHL5N11uS4KJ\nIzCZcJVsxJn5nQZ1gWmJVcG0ObXhhJG5xww4J6gjcHBVWewtmUSCcgDbf78W\nO21F/iSQrN+aqZ5uUgHfBSXzzzzWwlYjvDYAA9bbklUAAsOE2O2QT/k8Pi6H\n8BGaIiLH1AjK7K0rSEpQCY0pyhPVn+A4eK3F6D9wXNYggrZ26L0pjLZij/q/\n6tulFYIu7Po3ttMO0OjQeq7pTs1F0Rz0CKwxOE5WaPbql+6267Qb+AjvcOF1\n9GWWIQKrVB8kMUjuKX7otSo7cx5Ll/piQ46NZcXLvO254OxuoD3yMCSDIR0+\nefa3BNC/w4WuXtoXM590m1D70Ua+MXIIrzvXOTt6VVA+rjzne+nb82ukgbsP\nu9GmZyPkfF6L9Uix5krc3VYCnax/E/FCVBoJ4HENYWQRcDOU3hvaTaL1JRUH\nXMSNHT3U+Ethbd0gCJ6r+J9W7tYx5sZsiJKZtBEROSzR+dxWFVoON5ySuwqy\ngme3o888SfRnocvTr6ze3p0GY00uN8t8JF5DxyxMq0ZDDq22KZbVFepZ2QzW\nQQVo\r\n=JI1I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"35f59683bcff8d7b2e79ea4f582488d0d86b0b97","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.e84444387.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.e84444387.0_1588973464861_0.3653249128601668","host":"s3://npm-registry-packages"}},"7.0.0-canary.893eb1876.0":{"name":"@material/dom","version":"7.0.0-canary.893eb1876.0","license":"MIT","_id":"@material/dom@7.0.0-canary.893eb1876.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e6f14359d2f71b79429bf05f646e9ddc77fddc50","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.893eb1876.0.tgz","fileCount":28,"integrity":"sha512-Ti/BVMQolJjd6emZ2IGxHhWdcKTiEnUOtL4fTvzNuOUYBQnlYTItOk2+RGdGKYhWXGi06+QB0L6Zv237ktM3kg==","signatures":[{"sig":"MEUCIQCR1yHStofdo5/Eez7Z2R08RvLzS7ehICa59mIbqMCVFwIgXTwcCsxMbii99HDM5ya2f4r0nz5Nt/aRcMEKrazgCyU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuV1MCRA9TVsSAnZWagAAupUQAIRnnBlRKgZWKCh1ZfZO\nhQHeOF1thZgu0OIySE1yKohLqWjld863Tu+BhWwH9VaWx54bsdYIOxsKBgVP\n0YEL11cNWRocGY3YAhGavqStEI6YRKUVju2T2HtLQevbrXWZIXJxQOfz9upM\nqeCeVCclq09+MBidz+gscfd3BKMxObe8t124dNJi620xxPCYapiPlQ113AnO\nwRfmEv+siJJUQr1cDjEgc3JFAo9CZdcWKkHoIodrwGOjI7UXyiZtAJK/nB2D\nQBkoN4iM/vwmZDij8prlHtG8mVes2PosTCOwNfbPWqcGC1CfovaP0SUHmvV2\nI5sPnCQp2TPVtQr/7yW/xovEbzu0LiuAtwV3wVJT1ZKE8TxFXEWlEz+xV6Kx\nGIYVzv9TGuUuwoxgHMhYYBQPh4DrVHsXN43wSX+p6iNcGUx4P0zxE8JfX2rJ\n57ERUSUDNO8fcR2twf/id6egNxYbw6djLfeZHQs0hUBIPrNCB5IqYSJDukxT\n742EVlRo9rlUCK/CxbLMRbl3VM8BFOMReF8ciPGLSQJSEfFP9AgmHLU/BT83\np9ObEp/cekBesusT8aWNxG0674nQlVG1fss/KYd90ecAxyvOGs121yGAUIbz\nZrCFuwpzZDu7gZP/uuoiGtSaHdGFhOd4NlUPPpeS+bJBSc855/kBeatLEQl3\nOzOw\r\n=VdVm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4bf9fb733753ef4cba5683a95a2f2a71a743a68e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.893eb1876.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.893eb1876.0_1589206348180_0.8421433005225318","host":"s3://npm-registry-packages"}},"7.0.0-canary.a5aeb3001.0":{"name":"@material/dom","version":"7.0.0-canary.a5aeb3001.0","license":"MIT","_id":"@material/dom@7.0.0-canary.a5aeb3001.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f460876f5f2dfa7ece56fa07ac04ead71ea576bf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.a5aeb3001.0.tgz","fileCount":28,"integrity":"sha512-lMc8I+1+mqzVBTZp0/uX70Ev8/PzIorQf2G205p24mhmirH9NpEtuA2WjaP4mpoMvlQS43gtwVv99q3GisqXfA==","signatures":[{"sig":"MEUCIQDbFEev64ttToddxCOTaGZV6QMeElrZrWuOjk8LQ+I8vwIgNsbKM2BzX2OnOwZ8bD1jG/j54FLbWi3uamB0ZHO97gU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuWEACRA9TVsSAnZWagAA84cQAInucrE0qItzUQvs49lx\nSy/DB9TmMt3nDWjwkPpEYZzKPnf4TGNBrDvb2bmFXCqdkkV5W3ppqeLH0IDo\nUM+4vQ/3PQMiMqFLkZuuurHnL+8+RfL7I4ovGcIFM3byoOeeYv+aO7v1pYBQ\nhgaL9K3fIbvVlDqTEIYvlczx+k7chuhPHDHXwSWFOxZwL27KDNAZM+5kVfz7\npeS7uU9GTP02i0oa70VKxD0g0lpgmc/O2S4xqJkaSdcFBxF5AzV7NvPGHa7a\n017piXzFKTEetknawVt6lqws6nrZMANTX2lnut3Pb3iviNrfG+IXgNxZHnCL\nAKONw/FlNRLVPENx4xxzeCvbjEQ3OTd93OaieGnIK0Ru0ZKqro0L2V5FuMP+\ny7iAOnFjMJ/kXOdzPgKkP0Nyy8e6hOfzB7hBgb6/I6EZkdIS7enJcdwVOjMo\n9QAHJfG3aFeYXPfGfpKofkgSYGSOjbQzM2JPkc5Gte3UglkWDI6vwzLxBCES\nquQlgYvnB1O8uD95Hx8sc+6UCiGeEcQZIwFF3FGH69FxJdMuE+mLrinZKeZy\n5DAaWS2NJVDCOZS4mhcxmqzHfjIco/Nz6vT1Rq1VPvIIMMrmHCaRfu1ljSUf\n+e6wVbeZBxq6XYDrZW9uBe9pq5voHD1R75bltqmm16wF9xc6LrPIZK5VdoJ9\nr+my\r\n=jFil\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"01ce640dffe32b7838dec108ffb4d0c40d3e7bc1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.a5aeb3001.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.a5aeb3001.0_1589207296398_0.2404079780875803","host":"s3://npm-registry-packages"}},"7.0.0-canary.610c68d97.0":{"name":"@material/dom","version":"7.0.0-canary.610c68d97.0","license":"MIT","_id":"@material/dom@7.0.0-canary.610c68d97.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c5e1e771ed21538acde3ab3800bd8eea3d3eb9ac","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.610c68d97.0.tgz","fileCount":28,"integrity":"sha512-RDrOQr4FIOCFf/of8DMSDiZw7JiUFLVHv08z5tfUpPTZpk2b0HNefNSe6/KzuYydGmbAVWCJWQRrzJgOE6P/QQ==","signatures":[{"sig":"MEUCIQCtp7Z0CrUKAnmsjzBEA4tIxjnbDjhG9TOQy2f8jY7kPAIgR8XVWsKyGTo8Mjp1sRxWTCD62wws2mze1ICOBmDIGG8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuagpCRA9TVsSAnZWagAAlfwP/2M0TP6dA+e7jX/tZU2+\nDLrndMD4f05/zNLW7A/2XCWrUbO9EPar2WMjCmuWyHrjCQk1fIaCJZZWc1/n\nIT6T7hGvV7plRJQwqeCINuK/my4ErirFG1g2Gs11OmZrFK4N23hrlVXVKL+n\n4mVMCuDO8EqiTpaLbtxmDpROZtViUoTxXYRmITyjqvkgLEntBsihc0xKfoXo\nETjBw7p7YfOi17bZVzSVLnT5RqeZETEBneXin4eREmNfcyTdjPkwi4Qdwt1P\n6MUP9H8ozLPx+KAlgphpkLbNWRFIBhSqV2cs+cJNJlz85HzbW9CYMR4lb35T\n8Top3u4nIvBmPQDeXzLiFV1opItcpKtd9pboFeaNVR83kGRsGRY9RopRBTiK\nMuCDFwM7BuG7ZgeXRIVgpIO7eGEOZkISYPiMLcMMKuy8fcF4AjHfhAFB1w8U\nzea6rTned0G9qmPK1gEj2JDlAEnQKaFI6YQYEmCUmwdsZzaLsADoCkyJ/z4J\nZcFvosufI5ylFBMxnfmOrrzsASFcu4quhrP9Surf6R04i/SWA4JSnyks8vEu\nCRxNzmnztmPxu/cJv2a6tASGD6oaXmC+56FIGPHqSD3gKD3U/GHACxjDDy5J\n3imsen/aBaIHpNpePNoRnIZqojguEahRDpB3NKgZ1eJ92pnD1EB6OYJKnQS1\n1kvE\r\n=8oWB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ac4b0339093446110cc551732ef34ba30b4f4a49","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.610c68d97.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.610c68d97.0_1589225513125_0.6264953181805988","host":"s3://npm-registry-packages"}},"7.0.0-canary.ed52af767.0":{"name":"@material/dom","version":"7.0.0-canary.ed52af767.0","license":"MIT","_id":"@material/dom@7.0.0-canary.ed52af767.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dc0bf99ca422f20893e61cf907e7dc2b1b5cd48b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.ed52af767.0.tgz","fileCount":28,"integrity":"sha512-j0qDiYn/8F8qrZsqo8j9TVzajW00uFgFwLyOgiRFHh99CVxaAR7W270Y7e7TQjaAttfGhKw36USNVcEZ/iQuZg==","signatures":[{"sig":"MEYCIQDyIR3378EXhjohTfcnpYLkJVTcN39KWem2Lv5eH6c4NAIhAPoqwSiZue+hGt3vHUa/ZlPhpG462RK6naPI4n/LPccj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeubUCCRA9TVsSAnZWagAABKEP/A4nrwdUnq4bza/puozn\ndWzY9lP6MKN0KxOMpDTFCK67C1LP9N7oodlfYp5Qda7bA+/NP14YwSEDv6+J\nX8rnkYgbdGw7fHzHzEoUA1fza+7qO0oYc9rIr+LQNkqCsa6O1fORD+Vfh5gP\nJrnYAo2ANErlCO7kNiApQoU80DphnaABHpKxcNbJ6kKrbPvvPFHGYbRHyGkG\nIA3qidOuf4lk0RnktEzn4G7Jc7bS0tfb2iR9RtxLzkOfZ2gUke/sEFbpwwFW\n9wES+rck48aHIE2zJEfV2gdZb/LmArbYytqgdnjcHJfDlFlJHv60ew9SnwTo\nRUV5BnwxvY03uxJqG+UI2aSZtwpJxPVm35hCvGxTyXrRoZQUuDDKTpO4iEw2\nenngh8gMyr3WTU9qB7Cgrg5B8PdsbcjpMfNrxgjkRpkwxqdMpkRyGFe/IwVd\nLdPjv7QNN+A3pWrqjeLnFcqntbG7qaftT5ruAfxU2/qhnuQAihQYUwzJwPug\nkRyYgpbAoUfQt5qarXlisCtHCntDWlMVQg407SKzxHz9Wz4hgIPSZb0HQWmU\nUPtl+SDuyqC+Q80zbS0hoTmqmonQrAaa8yF3PbdLChbbbT5CkkkDteotAzyO\nw/uk+rKjrTTlI9ljpfnPcgEywtqMCYpsOt+rTT1CocBwJAtQonWu4lC5JmTG\nFWnP\r\n=yAFJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"06b24ff740d1a29e8764ec98f735b6fef77dc5dc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.ed52af767.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.ed52af767.0_1589228801694_0.7309935866133064","host":"s3://npm-registry-packages"}},"7.0.0-canary.058cfd23c.0":{"name":"@material/dom","version":"7.0.0-canary.058cfd23c.0","license":"MIT","_id":"@material/dom@7.0.0-canary.058cfd23c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5c7933d604087761ec0c924bb7b60a2d09b6f719","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.058cfd23c.0.tgz","fileCount":28,"integrity":"sha512-Box+rhAYHf75ZiNsYiVoapLGAOrvcmd0juiO8qfWugB1Bx4H9uvYQhuDMNAmCz8Me02V8hjgZNekqe0rJi5mIQ==","signatures":[{"sig":"MEQCIAElVMMwS09zGAhhIpBv1sk4lcT3IN4vru0AlyCZAqpkAiBU4wQznSd9jkySa10RVAFPV8flpzWtmjESaKXmU/aexA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeucKWCRA9TVsSAnZWagAAvVQP/1AX0uS7d5WUoIP9vCKP\nK3mPFAf7vRcSil2HSVbhcXBhD5NXf3SjHmPmbxHrLQWSCEmgkVj1cwocns5W\nj2rNcopIciYGzPlimCctFuO/vyVGh6Nx5v4AS+Fhs0PJblZ45+2wHOSLyJfD\nsX0pyxfxcpEdgBnjtrdBgK870xFWst75RDpF25U/ns3UXWeravPszKbGVv9h\n+ePU5/4QxUTvQ+JO+tv20eQpKPLg6C/cUr2uzqYpSBl50NsVHExnefhthSYz\nlrnqWT6cX1J/j1n3t2XJg04bH8MzI24hplPk+Dgr+YPuQ4p8dLgPaH8reWXq\ngO3jgHGbJmxcK9yqY3kHxIXLT/PyOnxYthYILfbhOCUJGX1zK7VcoY+tXK7V\nLX0I1Kn7Iu6Vhaj1GXkfSFC4JyAKXNg1ciZY4HTC59gn5O0ftF35vHJ5KW4q\nlv2UkgHwd8dMav8fKIHaAOiPbWVeNEK6oMunaCjJ2qVVqHjcwce9QdayC9Tv\nLtjexJH+nS7ClHsRUBA4AcKV0ooMi8Cx5jZpuQTojj37e8nAGboRAT+SenL7\nK5Z2N6jKLDCT+2spqJhySrUiuezS33V+bKZ7P8FoNiyWAHogoqdpKwj0SleG\nHicUyLu9aAXyelDVRvPyLsEOWCTwQEoD2pMH/f+w0/4POX0xGoJnV/nksMlC\nIo/W\r\n=58PD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e012af26b00c720a751210639bef8379d1085234","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.058cfd23c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.058cfd23c.0_1589232277762_0.9091703454125473","host":"s3://npm-registry-packages"}},"7.0.0-canary.0a371b4fe.0":{"name":"@material/dom","version":"7.0.0-canary.0a371b4fe.0","license":"MIT","_id":"@material/dom@7.0.0-canary.0a371b4fe.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cbe04b97ca2e88b020b3770da6aaadb54835ea08","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.0a371b4fe.0.tgz","fileCount":28,"integrity":"sha512-mcynooRoNtHgfrbFvE6/zIHTyGqOifsFETW9V10lvJ0j7Q/kdA1GKLOtyxo9GSTdqumZ4ampdQkfuDTasebbfg==","signatures":[{"sig":"MEUCIQDN/RMxfmIH1iZi+KWebHWBBGNG9t1qU1FY0qOuQLBwrwIga503fmOhVSmqzrOTrTbti6vJbDw+nhsyYweUufH51Vw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuy6OCRA9TVsSAnZWagAA7LsQAIck3TV8MPcyq8cMqtOJ\nZbXfBxOd4BA4ovbFj6TbbDquiTvxHG2VLWJV46d2GsjCje98Qn/ebcAuC+T2\nc9ATxtcebLc5lyeKmMNmuo46W59qlvuJzMYJVbidTpqOVrGQ4Hk3NktjpFOu\nbchWACpjm8BMAtlJFcwSh++bZ/PH6fHH9BnuiUsJy7OAHQkvi3yJCcDbHkAQ\n11HpP587YOTEod77hwE9IUiaOI4nkVCDkjuMVNYRCHbPZFneEWBmXWVDDUKt\niI80IdVrFxbCxFJMQsR/9VlRFcHmv/Dq1L82pNo+Ef9YtsjX4R7+pPOWD8ZK\n1C5QpXBe1otV2n8Wcdp2Bh+UfoMmG4Qpyhw81pDeASgrdEdSfgbJWQGt4vKZ\nvc1ZpgwCw9fG6UYyPP75UbRhkdLr6fMxLluimSjJcoQaZTMA1+D078zjmTGy\nj3b3jJJZW1kFwlQbYhy/sSXd5jZdGRL7HBl1AZX83+t32vrSdCXdm/FCCYhc\nLSkwq1YD6dFXzEdRcvZoYG1WVoJ/sEyPs/8M40iFk0kXc+ZZelmkY2HfF7YH\n1YHLJDWJ74W+Ng9cfbulFxQ3ovPHlkvzhfjcAx8MyYuuttOB1hGdOVQLN8yU\nVgADBQ8FMGZfLe6kUD9KSTwBu7Nr3P9AC6kRQzCVfxVDP4pbM6KLRIavRSS6\nsjJD\r\n=1Bqu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c3c5efa159a3a5dd1da72a8e4e94015fb7984f7b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.0a371b4fe.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.0a371b4fe.0_1589325453817_0.01750137750321823","host":"s3://npm-registry-packages"}},"7.0.0-canary.2139200b3.0":{"name":"@material/dom","version":"7.0.0-canary.2139200b3.0","license":"MIT","_id":"@material/dom@7.0.0-canary.2139200b3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0bdb31bc0f21ec97e4b9dcc950a491f4fd94e2fc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.2139200b3.0.tgz","fileCount":28,"integrity":"sha512-fb4orLqbX6mY94yOsSES43qKyztk1/4egSzkfROPI6qNfBa1tyRWUJ8VbL3vVnXLnCrkNtNQY+wpxRNgsW/qMw==","signatures":[{"sig":"MEUCIQDsyswl9FGqd0hm0+AAfU4JKv2qruRRSJg0sFuA7LVLFgIga94RGWI5xeMPOhn+izA90k6xVonBi6q9kEWgwobK5cQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevAhSCRA9TVsSAnZWagAAKx0P/0WA0KHCi7usMwyqVwJE\nzxrZrWQ+ZBIgQvFFB8vKasS49gM7WgH73bGeKLKhtQKkdgfdJidUgs0VtmEy\nIousUdCv8khiX64xb+nSIAXgj/blBbaC+m2vBdxhXM52dxIRygtUc+TdgRDE\nQh/eDy0QHA+DLTNKImztj2ml6vaz3bFnrPJQXwFdQ/6CLJ2bV4s249OKBDC8\nAHddRR4ErsPUvqeNbcA1oh3sOlornq2x0F1lEUS6wgOFXKYLcTI0darulFMq\nV0W9tPhBM9QaMj2qK7GozpTY3+K+XLdEDqKIrbNhKg3+FQMQmO4nVxdw7rDt\nHUjVXqT4ZEOX2jhM3nk3jocExFZ4rs6Z959qmmHJum4E17x/NNbykg7ckhaO\nErQhPoKWONmWGNk1HaMicDL93ulLLkCuBvo1fc6tNLLm72P+l8ko8QIkD3wf\nw/yFmv/DLhnzier1u5eaWsVIKBLNykZ4zM6UUGH7Iq48orty3wtMMFJElixn\nFXhpsiMSQcDSYEU4/FmYAPQGwHmc+1Ncc321DaqTRmNlJsbzwjSO4OnSVodI\n51tHMonAiGjc2YOpBRdReqlRgv1nSzsU6ZHqMahiWKRAdqOEGX6UY2paefbg\noAtvZL0VDHzGaCSvT40kyREooBWihQipWXlyj4FVNZVhvhEuLFTlhGKKNKrd\nqSMz\r\n=Eb8Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"42c214d2b2b544f76002d71be276eb747a69d9d6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.2139200b3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.2139200b3.0_1589381201959_0.07625502117370297","host":"s3://npm-registry-packages"}},"7.0.0-canary.744d751a0.0":{"name":"@material/dom","version":"7.0.0-canary.744d751a0.0","license":"MIT","_id":"@material/dom@7.0.0-canary.744d751a0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9d5259b5c59e0c42138906b03eb1169cd0758b95","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.744d751a0.0.tgz","fileCount":28,"integrity":"sha512-RvM4TY7y1ddFfqA+ZU5fOr74q2SpncZe4x/tyrD6N4iiD/xTU7UUYh6RXFOZhi2GQePqA/rGoO+fgeOVnV3Buw==","signatures":[{"sig":"MEUCIQCm8AjGHCcMAHqBM1a2Z3GrKEqFY1+GanHdiPgqh5t5lwIgMoJ0qMUMpor4AonK0Q5Xc2W7rzm/ZYwgguQQn1FLorc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevMwoCRA9TVsSAnZWagAAAAEQAJs+jK4jfgpJoXPM8BtK\npX7m3OpN4vqDgL6ZUI1VFT0GxECUlEch0wVGaFqSmMSMCdYfcRKUzqbbVl7D\nGJ/9xtXjB2I2wjPWVe59EU74xCh3LCLPp7DklZu5EXWdcx6DnlD0hjTyJNak\ntLcHUPEfOVtB6SkRdqAhokOS7Qn6FXcQImP1nCUWAKo3wPIFfyNvKn7WhAPq\nW/Bd8fMOSKl6JVuDHkIo3npEFE2f+mlRmplBMrzbHzTt0hM+b1xcCePzQ7Gx\n0XUG4nzGX0w0Ou49lf2HDcXjhdri5yfCeM9ixUut4bsuDORUgci2QXHxeRBj\nEX/VYtfAk4R+KzdIp0D0YyoSFiticCZUjLWLQSBKbRueAHBfIoM0od06H2zt\n4/Lwld+5UrvkcOzLsrU0AENIOJkFOkPXEUvOXcHGlqbZVnABhhkYUIX0WKen\nTnHhWJTunurTrg/Kes513lwx+ZM+K7sYNcJz2ToSy7Pr/f8jNavswHwrD7aL\nsST3nPqabIUAZtb4/mazmwObLsqFrIVSIc2pCvVTJq346SwWFNRmaLGh+sbd\nygGEZR2c/4knRNBWHLy2UQOr1G5QmtrfZ8JXprcrfPFWInERfooYGIaf261O\nmUbmw8hAZs8nMWUKStnfU+Iaf+5an5k2nlWC8TdmwQ7Md43BN1A6qdTBKs/p\n6aZy\r\n=ZQEm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"afc5bacf5330bcdbe874e652a8d6df5e4a35e7c8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.744d751a0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.744d751a0.0_1589431336242_0.7855336338906327","host":"s3://npm-registry-packages"}},"7.0.0-canary.ad0c0c103.0":{"name":"@material/dom","version":"7.0.0-canary.ad0c0c103.0","license":"MIT","_id":"@material/dom@7.0.0-canary.ad0c0c103.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0d7c4750969ff46415eb298c5b03fe5b679a0bb6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.ad0c0c103.0.tgz","fileCount":28,"integrity":"sha512-GdRchHqbX44V5gHkRS2ptDpzVzHPddOBBL6pUv02xKIjHAQZH8X2nlMOBcvDyZtT81qSvBRbTcYvQG8SemEvCA==","signatures":[{"sig":"MEYCIQCN9IfrCO/znIaLzvpkTj9A1gHOi1f/fImrF1ylcqL4fgIhAPoIfQoJyg2gc19zeSzx9IsEnf9Pz+Zz8SM7uCFtahjQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevVrRCRA9TVsSAnZWagAAEUAQAJ/aFYNgtNZ9n55RVN8r\nQIHjaO9zEFl4+XpjF2N7QLTP9LTzMwOJt0/F3jz1z4V9owRaQnNg2haw04Cg\n6hhF8Xa6gW+7NW1PAd1a69xN6Az6skjov7VEZlJXj5P1qDNhpT16OAg0a6nv\n1b2ACiW0gkJWoVj7F217rLMRfAIjOW3eChnSZoJs46xMYQCIOadAyrU95mT1\nUKc3qaVyXYYC223JZuvEBH+Az0kBnUroEgnWmFGbv4BKF6qZIFrGoLDlMkrD\niNZmGoHUFZeDzUzBMfHOtDzKH+HgfWlZdBYm2gDcB+SJUrCLxCuyz4juyXzQ\nVSMYdpKIrrZszAu5s57F60PeH9LNdnShOJF7GoP49eHCkG46mLBzP8C/+Qez\nbP/+GNUUibjF1jkaHfADnbCoGkGDTrutC+BIZx44er45qFHR3NdOhvwHUdXg\n49YU0P02JxbPc+o9WnptRLHupcy8pP9RaaLdfM2O4BvFmwWWsDJU98Gj75th\nR0trR00yLoaI+U7ne+qtC80ebH7Wr//hFDHIyVuTCSFThcakJfgtnkIQlvew\nVuwfEi0rxgpBQ24pfDi2GwcjaevixeMCPG2l+6iBCQeWefOFRIHSfsV3PmXm\n2WYAmMby6kJOjnZjxpW6UdiaHW1ApWqaUDsVyzwGQRpv3VgEJLeZacdINHsp\nOXXc\r\n=OQAe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"76a0fe161f579d30f0d739918fe09f5f4eef04c0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.ad0c0c103.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.ad0c0c103.0_1589467857482_0.3297794952884112","host":"s3://npm-registry-packages"}},"7.0.0-canary.fd8f8f2b7.0":{"name":"@material/dom","version":"7.0.0-canary.fd8f8f2b7.0","license":"MIT","_id":"@material/dom@7.0.0-canary.fd8f8f2b7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"766785af6361198c199e5199cf2e732e5f2b716b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.fd8f8f2b7.0.tgz","fileCount":28,"integrity":"sha512-NHTrVmP2x1R3NOtjLyPeiMGMIs1TCCRQz6FXqRWiXw9i1PRJJQ66NzPdNgWtGPKoh6CaY1xJ41DKScmvfRFnXw==","signatures":[{"sig":"MEYCIQDTi9SWpFZ7zYGXK4nUd+AAiEZiuzEC27gh7dDW3kiLCAIhANYrZM6Aog3XSE8ETN4+W/d8Cyri6wZ2LU5+oIshRXfe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewsuGCRA9TVsSAnZWagAAqLAP/3W1GOwi2+zpOs1Mx+hW\nZyYUZToL+CtQmWfuzNgAeKq6XE8eYwoV+hI8aMW2uzDHTZxk0Dx0tBCd7/DD\n5DnlA/zpTNfnbAfqn9VCWmLjA+1Sm6BIto9bQnWv4Ef6XLNM8KKy3etc38ez\n2ocb57cszhvSA9U1kzRbe8XN80Yrtsl5kiUBITh+Ac5vTeg/Pg8naSm0VkpD\ngVmZDcO4WI9j34pscLvi57Dh42rPMh7b7TtUzHMZUZJBx890d+ArcEoNJ6Qq\nzmmGaKsuXU348AFHZB+y5yIg+NjyH+O+w98KbRlIH9p1/6nV3ANMrtBo2+P8\nejwOBeQhOvY/kb4cEL3AhBM6LGg4Ach/k0yTvwiLxrIp8PBQgsW5Tk8RonJC\n1DFqdQQJ5Nh+NPLofbfN2qeAX/mwG3vlDGjWo0icSLEzZ5W4zJXeUmNRw7FK\niuq37Mwh6In0jQZehjxqDQmwXxW45RfT591Z4e0bPpUE9IUy58/A6cgXRSEa\nrqVfxk9xSrZ4aIWXpyryUlGVOLZL5MeYvmjOukloPmp9GACS89n6vu+VbES5\nQ/QsP9o9R5u1l+9Qq2/GzEx48duHhWDrnxn8oV9/guTJBEoDlcx8Po+j1Zbf\n3+grBSQfefj/6oW3bOHv9nVLffRWaRcbXeHrgntGwW8VQx+ozCOXIDK2NsaW\nK0gC\r\n=VBnT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"30fbf3d1582cc530b978714ab043f92bea7c4b83","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.fd8f8f2b7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.fd8f8f2b7.0_1589824389968_0.74357275586315","host":"s3://npm-registry-packages"}},"7.0.0-canary.730920fbb.0":{"name":"@material/dom","version":"7.0.0-canary.730920fbb.0","license":"MIT","_id":"@material/dom@7.0.0-canary.730920fbb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"573d82f6f536cff13c4c90afe66d4cf31c2ee4fb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.730920fbb.0.tgz","fileCount":28,"integrity":"sha512-ceptZUH3PO3B70JtKN9UAlcBtHQJl/KVJjzgKaM+n4bdKuppIRjQpSOznQryafd7FnI9E/X4SNY6/CkxSz346g==","signatures":[{"sig":"MEQCIAkQjhSvxlo/Xg97z7RJroy+PojlMjgLIxDwBGS0HglIAiB/OrI7jOgpvFWE0mvGnkTJTyUjFrTj19mybpivIzR6Bw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewuVhCRA9TVsSAnZWagAAkw4QAIp+ZT6CkspRi5IqJp8d\ndFstlYyhfW31Z2tieKJyMiQhzHK/Ubj5TuedXWT8OOAGPGjtra71EOPE+n3Q\nEzCZgie8QyZSfP+6gkS2pHa2uVZTNaVve5iyIqC+5K5zvYFVwtBEcmKow+Eg\nfgQjuY+PvFEEl1nP/Xwm4nAe/e1BWhbHknntMlrJiLcbujDzBa7J6O4hmrly\nk0SFW3JUYm0gKuxigOKJCpYEqwELy/NNTHUtoOH6ugnpufi0euNx0zUkOZyd\noSczGveey7HJ79Vk2Gm8x7JQUq0gvkRTA1X+W83FDOmll9DnkNFLTn+OEN2D\nkjVFM6aA6ijjoFsijSPHPVX/yW0PRq81HAnklJWbO1XSLn3vGLsVaWkvR+5J\nd/gcV/cTL+ZlfyRXN+2RKh+VjbO7GeY2TGvR9L4zbTF2jEp2RN5ehHqrzYiC\ni1J3TFeVD/wmSVEMCk+T/jIDtwx1EtT8qrz4fEfN7GazH2yzCdCBpjR+2Tr5\nBJfsVRuYvtGhPJAYXzv5ZcgrISHQOggeCNy6DOXEQU8DpDp/YsSIl0tW6YGE\n0h3mXIY6UL0gJEGK12dq6RHcI2c6d09Trpj2Ks7HgW888M9WqnbWEgr1o2rG\nfl4zsoCA2zujLSmFcdYz54zJ6dJ/bNkxh/M25MdqwIQdLtoF6s6a5+osb8wJ\ntlfI\r\n=k/m1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1acee01a3bcc1944050bcc6a38a1846c507db43b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.730920fbb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.730920fbb.0_1589831008723_0.6603379560093605","host":"s3://npm-registry-packages"}},"7.0.0-canary.bcdad99bb.0":{"name":"@material/dom","version":"7.0.0-canary.bcdad99bb.0","license":"MIT","_id":"@material/dom@7.0.0-canary.bcdad99bb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2984977055401e531122c237985b5c68f51baf8a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.bcdad99bb.0.tgz","fileCount":28,"integrity":"sha512-F9LUwbSAJNCVpyanf5NASXbUkZODRegxZTrVpFpTjqzOGUmvdpiihIIaIPENR9WRCAJhSZG93csSSXXjgbueJA==","signatures":[{"sig":"MEUCIQCxZoSo1H7aT2et2zeoRXdAWrh1BpCwd7HFmvWcC4SKGAIgIB7NA9qxcj36D+efFTB0FVFD/x529AZTWR0G8bw2sRU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJew0/NCRA9TVsSAnZWagAAqD8P/i+bMrWLZxX/clFoBRnz\nKnvtVGfiFv+K6v0K4ne08unB+vWVASRi/coQ4oKZ+8OafWFhhMv5U8FRN/oy\niYqcI1LjKXtVmi+hgu2ZCXPWkjsxc4zrGjvQFwmhXVCf8ns8UFLJPgMxYTks\n7a/d6DWRin7NOIjsQ70+5cmfN2pLGDFqWDaSCyyxMuIORaNol47A0wk4y5ZO\nA/YjKOwOvq/7zz/ULLFc4VfNPzqDWunLp0GqZ4vtEpSbhdrOm7wakM/0X5mm\nmKRFD7wNQJcGLcPEffVNbbWNK/MQFGwA+Go0iGH27QMOKXCIEPrdnqabfm5F\nivDVi8urQEaB+eKoFdXYuFqdfZmlzlUoREBFEjvEGJhtn0Ni7Rv4FSvchZ+8\ncwqDEektGJNWGxkSv+amb+Uh7AyDrEl7T8hWfj3L5eZ9toT1EBArwh0XzTNE\n015CKWFuSSpZCk/UwdC8hki08ftJr7uSHX9qqf4fET4J510+ozAkqWcCqZS+\nZ8Kx+BaIjaOyptfSFQ7k1YGGGzr9p2bhimItI2wqrQlkQubWeB67MP8hmFlk\n+TQ2gW2YBaOynauu9DegO037LADBqP20RXp+9LpCrr+cOOcLifA5NFVSDLsw\n8o8guybBstGADa02sSD+oSMrRI06pxFBwxoh5/xO7PR5jTA3EQMUIXkAMBgU\n2Gyj\r\n=GQux\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"33c3545075b4fec07083bb484fdd7245d0b243a2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.bcdad99bb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.bcdad99bb.0_1589858252843_0.9351786942049911","host":"s3://npm-registry-packages"}},"7.0.0-canary.4497b86ed.0":{"name":"@material/dom","version":"7.0.0-canary.4497b86ed.0","license":"MIT","_id":"@material/dom@7.0.0-canary.4497b86ed.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"16b140303ff3d334c7bb12afd71b329d29fc7046","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.4497b86ed.0.tgz","fileCount":28,"integrity":"sha512-DL+6sj6OIVotPjXMTa0wkNT48JZtCXkIv7p5Evr6uAr4FUzo9IrqGhTyj2X6wUK39ol573ldv87P4/sA2LRfdg==","signatures":[{"sig":"MEQCICuPhjsAvn8nbISGDwW6GmljDECyI7ZFokDN0HnQBXMCAiB10zBTYB06tn9dzMjvgM/jXTTcl+kMWDImmqj/P+NxDg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJew1d7CRA9TVsSAnZWagAA7bAP/i8wp8XDzyzOGGJq0JTM\nuzBOrKlkphbhZLd4FOnnO5Kbin8yGUpTUw3o0T54sC5XY0Va89AcVcCj2D8R\n/MyATNOTJMsR1o6p88FpYDGRqqUT8tJ7RuY1L7lKtaMlXzBgs2NReFps/is6\nkitx53r0vj+ywAI5rTiV5OgdKBrnTFzgH3Njlz1yMhTVseb2o9txkTMmxOiW\nhx7TzDSYvuH1wEH7SyXkJNP2A5xklvAk3bZ4m5YVQmy4qsvy6yUzlFWbdmED\nOS0GTpiEs9nrGDf1cqih3NR4EwljeaF17pcXxNey0hqdFIN5+KO0ywb+H2sK\nSlCWgswAWca6ie6eSxrRZOo9J80kOcoSFNPry0WRWg2IcBWHbY/OyIqUBaRU\nkksXEYs6xGLULjrv8TsPybpiCsKGrzpPss2Zkis/nPPoofNNK4cYfyYk7q7p\nD9rlO7yxEqv0g0+1DP1FY2+RlSY00RvAGvasqfJJOeRMYCcIJDBOVllBXX0k\n0e3Iuvhz5b2G6/N7VUj08PTB5xCiK2AHecyp/5mHdulEaDVWinAXB7O2pet7\nt+P7KitITeSaD/d3kPRcqDl6pqx732KuVYqiVl7txqPkkE7kyRsJ1Ka8m4dC\nEF3UeGyZzz/E+bxgt+Zrrpc8AenKiwxkPzE/RTcp5I7biAMHvjuzT8omqB9x\ndmu6\r\n=FjIR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7ffe8b9fd24f52b80e2fa6a7007881da7c29f885","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.4497b86ed.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.4497b86ed.0_1589860219105_0.5727788747752194","host":"s3://npm-registry-packages"}},"7.0.0-canary.2e60575da.0":{"name":"@material/dom","version":"7.0.0-canary.2e60575da.0","license":"MIT","_id":"@material/dom@7.0.0-canary.2e60575da.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"538949d3fabea0b276482f0fb9637a513c8b5596","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.2e60575da.0.tgz","fileCount":28,"integrity":"sha512-UuVNWtaKT1A9dOJ4dxTxoizN08N+i0Cg5JjxIqBSszKQetKQKeihzfdVb2BZR3oKGMwF8m0/EIV185RC8zEdnw==","signatures":[{"sig":"MEUCIC51ufhS+r/36b0bsfmikWZUBzCfszKuI/d5ijExRU/zAiEA5zb9ZnU1imiKkEPq5TCgEoRDpw4ro6BU3YHwj43ZAaA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexASLCRA9TVsSAnZWagAAcpsP/jjq0vdvSkPths5il/Q3\nP43R966B0n/yFp8C9EIRbahHO6rv9IYxLV79Gi0bxhbcnaRzOXZY1GODepMP\n7okir4GFKA1kU/YuJ1xDPkoXRvw21NGrFnudKHZXs6suE+rNqaPGfq+FTXF4\nEGgXcs9qnhtAtHCCs6hNLlut64vz50HY2QvzoY7upgaTMDPx1/WBZ56/JkBF\nqsWJ/vQZlnBCflCkzVRgSXWsbViDnwwFXeF+H2h6qgMoqdlQvf8xWk9zLuzK\nNzLZ8/csUVezbO3n/Jow77UCM+GrGyNSberr6hIZkri6QykLMhWgbVN6e9xz\nKT14ZbPKmLBorbsA1h/lcOIZEUiad9Zbfm9dFWZGzqK6qCIaMicwz5+SafcL\n6Wm8zi8Fk+oKDVFMqyAgxTO6Svd+TRNtX8q9cIXR0QaG+liv9tgQAcJGMdVw\n5QrofD0b9bB8doWFvV5daW2mmlFCfxwmGxTlsKvEf65UpmaFdrTgndg2Phx2\naIchtQ+WBCw1gyfmdrcgH/IwF6VR/tVKvl1R21EZ1O0qta+9Qwb/0yBK9GkL\nLkf+Ri5GH/vuE4neoufaxQcjV14F6R3efpyGdyAFl/anI98tHUCgthMH337s\nlQ/y/Db8zUi4aLZrHi7+AoqoA1AqtITSlON/6A5hj7tBNimAdC7zflSTX2zU\noIOA\r\n=eRDg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a4b6f1d5a01445ae9c14845614630907beaad190","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.2e60575da.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.2e60575da.0_1589904523034_0.8872882133185731","host":"s3://npm-registry-packages"}},"7.0.0-canary.e3eacefcc.0":{"name":"@material/dom","version":"7.0.0-canary.e3eacefcc.0","license":"MIT","_id":"@material/dom@7.0.0-canary.e3eacefcc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7837730ee07ad031129291e30a38319c7c9fd357","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.e3eacefcc.0.tgz","fileCount":28,"integrity":"sha512-nB4uR71h+uNR5uRJ2xulSob74q0D0ERwsxXmB13X9a5EKTlUTHzZlulLQ99Jmb0OzwP+Urmz8SdCYltdhoPOvQ==","signatures":[{"sig":"MEQCIFjhERynJKBfmwqroBXl8C/BcFX0KhdYGu3VvRNT9kEsAiAkDUjswy0FQfsgeWLrK/2zu+327hR0IpIDPcC4pQGfXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexBlfCRA9TVsSAnZWagAAO14P+wZiBDukQzzBIHleMuPZ\nGQamzePkHOnLHq+Ee7rgPZDMRXCbtXMcR5qhmDD88I4HVaRbjoFGuKqLG8dV\n4E5YxEI75auaDGqTPwBeH6Frnx7ZthiioLS2HQ4tKCjeq/gRo5QYs2Ca53EK\nu8kVopXBg9OREJ3hUJQPaZK+fAn8MWtaD+3aF6gT7Nl71EbNkhWGa1VUQIMv\nde5CbzZNQyPF5bJwwDslCA/SksGDDxPcEq7AV/oI4+zvVUDMHUNHlMRbPP3P\nQw68XBQzLxjmUxhZBl9g46e7cQwd9bF5RWD9T8diKpnjswcv/FJAqD15coJ6\nWmKvGlUApBxcniIBa2xd5v4qIYN3fkj+NzkcrD4XuxHLvh5fKnV2kZrUe8SP\nFTpRjcRPIpaDKOuXtDoD8MThdxstWDHl42xa98XDO0mexxcoAuTNLoEg55Gt\nkVKm0Z7NleNqWaGaJSKeAcHTEr7aVJ+zaEDeXF5aNoTtpDFWRfaUPuR0HYLV\nHVjaFEfPj0GMRlkwa03oTLa3jURaIDtTNEL1DHs3UgXEXGuJLtKTqx1tkEhT\noQ8sufe2swkzLjvMb6wIaObxj8LIAs7sjgiul5kTwJEjxjKnb5OGCM0HU9h5\nSCp67k+Tgkiy//dT7231jXLuTEarhSHOo/SNqZ1+wpHO5jR39MRR+X8gkKng\n1WEf\r\n=fHZh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a80846c07f1b98212ba692bf027c2003093d0180","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.e3eacefcc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.e3eacefcc.0_1589909855169_0.2554617189659998","host":"s3://npm-registry-packages"}},"7.0.0-canary.b065a4d2b.0":{"name":"@material/dom","version":"7.0.0-canary.b065a4d2b.0","license":"MIT","_id":"@material/dom@7.0.0-canary.b065a4d2b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c44b753675f2dcee5ec9ed61eb14e029f25b3d32","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.b065a4d2b.0.tgz","fileCount":28,"integrity":"sha512-25fTYDxDnJbGwICb2CGs2iu9Rc8MZLxAxd/qEoujTaQpuFHixU/gi25lMHc/eYhnBgRRrAdnjPVLI3p63zCLLw==","signatures":[{"sig":"MEYCIQDwgduD7QTvtOpurhIRRHEusNrW98b7jDk7awf59KKhQwIhAJYb71rQYzIvNsV5Fnq7sNaJxe3H69YyGDiRYu7O/kRq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexUBNCRA9TVsSAnZWagAA1cYQAKGJ9x/PRaSGpN2scUaD\noHHwg9CJPrRpUmxy4CB+EH4HUUPx6FPLdNNqMDLTlxW7uauGen00m+NbbuJ+\n4L4oKOH1MKj5qVbBx+mKmWCsQCrDgqWUqbH7Yujunq1q0ileTnf395tncDN9\n8NXzGR6iDi980lGq0DMnxZoutCC/Gg2ZF5CqmXVK0SW4xCz8LWjy8cYGnM6U\nWvj5C2wJ9V67bRlr4Hg2M86Xy582W8hUAmGkMFrDUZ9iusoBkPIg4uuoNrcR\ntmhaKc3Al4Xh39YmXrXP5IDMj8vo9TXYL9n+d9NN4WqeCY1v0+6kFajnSF69\n9Ia/+YhQCe+WB6xMSikYeK0mRs+LuSpSIOIpJI6BANJkRe6D6+hZVQUuiJjW\n0BOlDG8T5Mr1tWcCioUS+6pV+jjTcwYMNBH/6rHOOPDGi5UPlNp0OpjsOrU/\nz2RKjQKso97EB84HKr97uUqNwH2987O5atRJSmkbPQdz6euhHkr/wOiw1Cia\nys/SsiXEBr71CnWOG7pXY6lVwpFEz0TkTY22zT0IH6B3yKuQlaTtwXRYxsLT\n5+cPgVpYSOgBklW/T+MnfJSUHfPX1+eS5Tsh0Q1qzhJrLJse2FyE4nCotQ55\nYOkedH66GV4LF6A6HYYrXyqAAzzpCjXqyeZRaLUtV1Y1Fb0+ES95mBcr5oUX\nD4If\r\n=dQpj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7de80cb2ccfd67196d7be3fd614cebb9cd73499f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.b065a4d2b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.b065a4d2b.0_1589985357021_0.7815785057099243","host":"s3://npm-registry-packages"}},"7.0.0-canary.4ebce8d78.0":{"name":"@material/dom","version":"7.0.0-canary.4ebce8d78.0","license":"MIT","_id":"@material/dom@7.0.0-canary.4ebce8d78.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a4933964ada53df7c18c31fcf98e39b15926d17b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.4ebce8d78.0.tgz","fileCount":28,"integrity":"sha512-fVrpCRIVci7cI9ulP8rwA8IULNpB/PZnuiqqX03f0YCT48GGhQZSqiJtU/6cG4Sc3OockBtgVHIySuM35yZ5dA==","signatures":[{"sig":"MEYCIQDJ9LlxrgMDbizC0KnNUYkJX0Ihkv+GvnB8urblnxcZRQIhAI35qrCR9v8SWzce/T3mHGBFtDeutp8YhPdoWKxtjqRC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexZf3CRA9TVsSAnZWagAAc7AP/2aT3THZwwddgwiaxN4m\nfAEUSyG4rhtm6Tl0dW7g2nXLrVw6QwFj9ic2iKe0l/k+yUaUfftIkcLmqQ6Z\nSZ+zpfZqNELrL+ebCKK1l6lJrsRBUoRRGfJaA0HYU3ZAWnoAV2HZlLvvjS7f\nJcDtNj5izpblCfPiLFMT8+q3OTT7Jyj2AzaplwIvZa+MQoah1YF2G320cDjx\nn5KqfycaACCKd4f1bzDi5sUxKdFlwT3IXpHN1Doj8aZ08CXI4xP/RilLvyxW\nMDSDsuDsMfjsLyEfBcFMgayoWEbxgxLmQqolpET+GMV2bD7Qw6BLplhv7ceK\n937xCna6D2XZi34Qy9o6vqWHHSxu/2anIv/LUA0qXM2LcX30pE5TLBkKQDp0\n9rbJo/jkk0v/pGXro4Ob2PRq7nzT4jz5IOzaE57ahSpij5nvKCQzfxqiYuvY\nwjPVvgEvOerOcjoBq4ajOewTBYtxOVM9Y8qGtpzPacBHpWFMV132Zn4bM57g\nW/UPWsC47ZHJ1w5iMvQsRVb97gPVIkK1epgXABdfiR+IaKYEhG0rdHe22Y8D\n0HDU6BIMAZZujKYMeLMksJTey6l8d6Yb64KqQSl9yn6125JmH28V6YlNkvtR\noCbNQwljyQY9bYZqtzCt7Frg9CSV6hk7ldRpMs1zaSQQpLUZdo490ztj2mGh\nOb6T\r\n=hw4a\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d7cc6c4aec24377070d4417765fa102dcd7c7e0b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.4ebce8d78.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.4ebce8d78.0_1590007798897_0.3212937489198151","host":"s3://npm-registry-packages"}},"7.0.0-canary.b0fdca492.0":{"name":"@material/dom","version":"7.0.0-canary.b0fdca492.0","license":"MIT","_id":"@material/dom@7.0.0-canary.b0fdca492.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c0ddcc2b89aad7912a38450cc0d4900e356a06cf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.b0fdca492.0.tgz","fileCount":28,"integrity":"sha512-wJllv8ljPq2TMVSXEmmFIaNZX4jlv3Af7Nv7OIIaDIcYMi3WKjE1tPa+UHgg8632bZra8WNWT/XwHnJTJTSkZA==","signatures":[{"sig":"MEUCIQC1qUGzXx0W7wCz6IIxaSfsE6+qz7p3pU3ebN2iDi9XngIgL27RDHH+c6ak5Mn20DNNzdKgfAu76uD4O/eLcaYlo6I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexbb5CRA9TVsSAnZWagAAthAP/jA+f5xneUkyle4Nc3jw\nL7jJ/L6bU7Es5lnrClR+hOnAwXcLWMVbK5CXut7m60r6no3qos1fbk+Rr0rh\nXWR1Qx58vTia8jB8ud67qjaf8Jn0z5VfQFpcTDxgawReBI29OEYQSr2IB2dx\n95jkWpYt3U/Fb9Dwg0LApB/1hC+rzxvkANrBRCzdvXjTlZBP3UkhI3nU8MLw\nM1MIsBRDFXrQH7dV3BhQP6GEkHhs0ZAUMXLnPPti5wORW09Q0/huBC3fV2cl\nansHscdpa+U1eejtkWEO6Elx4BthKDVEUNsgj7qFzAbOTXQKrzIrwKBF3Ah9\nrJV8SXDEAQYDwc0hpuTsZZgkFB57nTAFcXrU+kd3TepDoICUHGCzfHYba1gd\n+i51jfIBqTelnWAkIU3LXQkIGa01o5tQHzV0I7vQ3Vbm0ZRE/9aHYgpoMLjc\n7zSYjL6m4y4DWAs9VxYuKBEcAwr+wvjpf1aRUDuaxBh3H5dNEc6oKc18/tpO\n/jC/OeyEpez/FGKRY64LFUsUXAn3tA/RZf7WRwuAAOTr/RdiJGhtWKNiJAS5\ng3YsJB2KF0JyBLWJwYaSSB8/aGpsoQ5jhUcK+Nee/n/8Bu3qI3OY7zMyEsVd\nzX+Z5UaSxF45Dc/FSYal3Ls6sWmyXi/zJPMlrulNc4J13BUJQG7Eao7dD5pf\nGjFQ\r\n=QTvD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"590e5f052548986555dab713a1bcd253b6dcd01a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.b0fdca492.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.b0fdca492.0_1590015737187_0.7699812358452371","host":"s3://npm-registry-packages"}},"7.0.0-canary.c67667e8e.0":{"name":"@material/dom","version":"7.0.0-canary.c67667e8e.0","license":"MIT","_id":"@material/dom@7.0.0-canary.c67667e8e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"931e96e2dd1025b68084cd54d1275da5a2b97690","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.c67667e8e.0.tgz","fileCount":28,"integrity":"sha512-6rdtlSUEn2/xOKgmlD6yxePpblD1UmuPvSR2qr4w1v4n1UNijbGxAj8juxLax4VXPYEdT3IeoshQvO0XrT5ing==","signatures":[{"sig":"MEQCIGF/wQhi8uf1N53Mp+G161UhoEE/Slhh3qKNxg9DaxXqAiAX39aeYxZ27K3acEh8lUk/qbt9LYRpn7Pif27OOlhoKw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexowwCRA9TVsSAnZWagAAZvkP/0dRcKAkF3jrAoWUEP2m\n2GxjhWQYvnYnTP/c2wL7d7wRIQRNH6c7xdC2MNEqpfcLpI3+3xIdQHxlYTnB\nqr4+zbyDcTjb4YzBPJKwvtzDe5k94sRK2pTfJLQg1vsPSUR2vm6awHgjjufT\nETCxOAI1m5KA03IkuGyo/7pjudIGWsduxxgo5hQBui0taaI15nxga94nRRs4\nfjJnwamVbmgkPeWWMgMlasSy9pyzdvJcPsZfoauieBXhk3vZRkACB+D+sbbH\nLabYoD1fx0RQpOroDSh7c6+iXgCziKNNhAMHsbZFVuN0n7s/eOF9K4T6dAU/\nkr8E5Hs2ruo+AYO6RxH7uJVnXWK3LVDGyU3wxW1ba5mikVMLWKmRwORclTtF\nwyEBWgON8cz8K8x5P9TU0UrfFwehxHUdGnXZieD4EWtY4BR0tTnZBhUuPLdz\n/a1hj4eT24/33RkEkODITIaPsIelRMRmTzgJWJLJAbsnPI/jMenReDL4Sik+\nyK60XX5kzcJqjnsYblcfiN9l65ih/jJusXT0KfahSmoQ6GZdg1TOETGD2tDw\nYTkGWdugejNPTgfImLr7kjJFCkQlf7BBbSGxVNHgHW8YO84QL+yG7L6mGgO6\nkTGboyhp9QKdZAw8837+GDHosssm0c13on8VA20FOZJPsL12lEJfxDShzEiS\n3NRQ\r\n=4XOG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"405f1e85ef85a7cfb12bdcba9816d716433463d5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.c67667e8e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.c67667e8e.0_1590070320014_0.6967132653389305","host":"s3://npm-registry-packages"}},"7.0.0-canary.62b5f37db.0":{"name":"@material/dom","version":"7.0.0-canary.62b5f37db.0","license":"MIT","_id":"@material/dom@7.0.0-canary.62b5f37db.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fe7e8f905adda0c6bfec49fb327f4a3b77dbd817","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.62b5f37db.0.tgz","fileCount":28,"integrity":"sha512-Eatdovt/OSP5zHyn3vpns6F6xzJ/zfxp+FwKtnOuaOTBtEqcoQuoMWp+/vdmq1+7X01jFcNZ3nVng1CXE1pQ8A==","signatures":[{"sig":"MEQCIAe8tei0ifIeZ7uov/y3x/RqARORN/muALlh8lLC0GaUAiBIoe4nYYcKb7Ah1DKhEUz05VqcQym/7B1rIjPBKQlp8Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexq8JCRA9TVsSAnZWagAAwjQP/ioTYgePpyLS/CWA7uSF\nyM+XDnuIRaTZujKPbNiNhkVIQ/0TRWd/AfjFiz4GlBlUjAGfo5iwZoKVKbvU\nLyur8p3vFhOYFrtxFfhO5IDRgmawK3Zb8ablAXuEjOvZcnZ8B6kHlfWtRghY\nskn7Tvz3eXPe20sdCR7lt0s7Rk2lyx3YALAMNQV3TIXa9+cucAKCE5T8k6wl\nyjoEMcmQMesQAx2YVW4iiDmbNekUixr5ASOjbDh5Y9sWWpIeHqoADEOs+AiX\n0PkZvn8T2Hd5qS5IYECPZtx7N1VsFI2bDWzqSmOKN96Dc+czDRhJ0mAt6s0i\nLB8tT4M8B5z30Ts/OVMpI+wUMyXRFR4R0l+7ffeJw9c7S1MUh1801OqpfyLY\nRG1OfkWZENiv618EnpZbobKzenjFzfhaBR+0OCrMqLP72IwqoSm+JCtRQ2DV\nLsehJR9YEHxlcb+uwpRHzMXBP4jOkuMbjXx0HBrgDVbBUbKKW0cAe00nTUeH\nTu5gcvAQslfbEeDBfnuJKsFn6BhmeLTWlk4z69IXTfEXK437hUQZL5LDBy5I\nMGNUe1kQcZLa1dcQF0/4iSxCeiUqPa7JQdewOs5zdsE0n50CJcO15bx46VkQ\nk70vuy4KD9jzBoUQzgLgoyIm0FM633VWN3FsjRqXoWbn1VXuxEkEZPjDiYU3\nbIXQ\r\n=iYwN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"62c869c9d490fcd3f25cd87f251a83b273e32736","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.62b5f37db.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.62b5f37db.0_1590079240722_0.8222308924092372","host":"s3://npm-registry-packages"}},"7.0.0-canary.2e218dbf8.0":{"name":"@material/dom","version":"7.0.0-canary.2e218dbf8.0","license":"MIT","_id":"@material/dom@7.0.0-canary.2e218dbf8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"908cb1ca1398c737ca21828ceac6d7457457c52e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.2e218dbf8.0.tgz","fileCount":28,"integrity":"sha512-PIN9h/ud4Ynw5SHYr8U1WHJFB/vEwYlvxsqnv4EEVing3nAx+wwulpMqRryQk/ztySKcqYMK8vn9Z+0SmMzt7Q==","signatures":[{"sig":"MEUCIH4MM/GcJ0x7SoPyLDJKYyPzgJ+mHLOVSCVXsO0L6NA+AiEAnOZuhMAlZLZtzWDlw29j6ICD3KGudM4Zaw6y8amS+2s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexrPwCRA9TVsSAnZWagAAh4YQAIwSZIYZAnDuB+rnsW+8\nKg7+304ESGLyh/yBV6W70LLLewiLfHr78IvHeBqaWyedWq1ohEZ+OvVX2tdo\ntATetDVEFPRKjWIrLFhZkqiwoiKxCaYE7SzmEOTujYlerRx8Xa0lJ5A9SiRY\ngfGWFQx8XR4PabTZQ+KODrVXCpfEtDDBUafndwWAh0k+e6dHsCMwGAwe93Pb\nphcd8u1sLKBpHsSJYBqEsy9uJQj7mlQlnOZ3yidQ5lQoZNHiSaohjpUryzFA\nrc6GFBb05kF5DWRKpIh49qzWG608gjtRjxlsUtnGpDUzTmhd9RgLgW8BkPn9\neOQX9V7ShMX219/NhBfww6MhIUy5jqMVw1oSGx7Yq1qyfDuefPhoVoNVi0nF\nlK+rt6ZjAMjKdCjF9HEadKsWBiYCMrisrbCr1ZRGTWednhf5hx4QX4ofewh8\n41zTSUbYRLfX3Cr7c+vbeTwmpy224OIaf4MqIi7jwcW9vzs+KpfRyz4g1GZR\nw8yJBO1M9FTG/mXes0wYnZqPE0AlfBCjoFD/HYLKlmg/XpRWPjcTaTECJehk\nhMfVLOcphAmJfBed8sJ99PjVGdcOcEYln7hAgkkcYPIiAsVB/DwymPSYBW4C\nPrs4RFdL0zdCUOY2IvBIT/J+CLXCPp6WKw3d0zybDTr3xWrOnYNOf15G/75P\nwXkk\r\n=BKad\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f9b76f9144a233e7569877ab8f0dbbb1be555055","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.2e218dbf8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.2e218dbf8.0_1590080496360_0.26876473266401457","host":"s3://npm-registry-packages"}},"7.0.0-canary.7fd792bb9.0":{"name":"@material/dom","version":"7.0.0-canary.7fd792bb9.0","license":"MIT","_id":"@material/dom@7.0.0-canary.7fd792bb9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"12e54aea9a574287ba7922557c77c354b9ed5de2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.7fd792bb9.0.tgz","fileCount":28,"integrity":"sha512-hyNeUu1lbwBtnE/xDXpPRfoDuQq3dy1qTDq4wR+qY3ycKkrdtX8FaKwH0Y13KnJ5ImgPn9s0VC+i5yRKje/D5A==","signatures":[{"sig":"MEYCIQCKA93WzNmgOaZ3GcGx+JhlNpLK278m8PbGvshqBaTFCAIhAJdyxaqy/m/z1NuYTXiC6xP1o/mtFJdDEmDUVx0QVzdH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexrbgCRA9TVsSAnZWagAA6LAP/jJlVo63/uxCIPDD13m2\n/qpfduhF+25td1djMg8skCLk8Q6anOd0bETkNUBH87pryjLn/3GPZMIugyam\n78GW7y62RMO5af4tcdfYGfZRBMQ9oEC5+vFzlznCW2Spl1+w/VlNcTmuSr5i\nSPa4jmUSZ8Fc3SB20EgjpZBCCZlIXIdRpHNiEoFVr1sCh6R6oGaIksQgPLmR\nyVP8Mip8p7Jms9ony5VRq/PGXymPXLcRn5sZu3lsuefiMYfCIxVehiJvUbC+\ni51VswgJ6kDxlxwexJ0CoWGJyXQBL2NweBYnmaf0giCWNya7RemH3lsO+GWj\ncg6yWL8HX8WXGVF0GlHua0QQ/ZFxTqS7WZn9jEnpcPcSpZmq+yypskr09e58\nQrmM68Z44RNS4vhiXSxctd7zEYP30f5aJtaflek8PE0vb9KO4AFuEb1j2vhJ\n+jyJxcHRUvb0x4pvEdgF0X51HChMvWYccOGWo+rJhl4Sum5KuvDQY/sM51Mv\na1VdoinZFmsTNvV2TV+6AuFVGK7W7YANKZLaugB/VMfZh3c0MwY3lTwhs/o1\nGeF53dbgp4zQesPmf2qT6xi1XaKyVr1QXlu+wmzIHABxjTtNZ6m/L1oYcc3Q\nz+eXNYt0/eqoepbDivJw9AA7mY94hKvOdV46K5DuHXA2s0xLzOTht/7gPLMF\noARA\r\n=r5D2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d5ce4b5e7914675090d101b10f10374783326ede","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.7fd792bb9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.7fd792bb9.0_1590081248173_0.8693185251749032","host":"s3://npm-registry-packages"}},"7.0.0-canary.a66493cd8.0":{"name":"@material/dom","version":"7.0.0-canary.a66493cd8.0","license":"MIT","_id":"@material/dom@7.0.0-canary.a66493cd8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e8b719c77de600e37801282c281244ab0f3cece4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.a66493cd8.0.tgz","fileCount":28,"integrity":"sha512-4G94x3pNGV6EGre/J2JO6IfMOqAoMl2kfdGraaJA5jPZ34qdM5CnGEzRwsK08Fp7N9Chyi+mPzUggT1peF1FNA==","signatures":[{"sig":"MEYCIQCMeKXuzEhh2pYk+IVyW5BjJjo2c9qL9IyK+V4/+53uSQIhAOh1Nx1V/yBnElLzSXDGIsFJUUjbKaoi2ZUBKyDgTcEe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexrewCRA9TVsSAnZWagAA73IP/1lEKKBWfBdjloT0jpSQ\nJ8EbvSBZEQEIECLrbAaF329xYWxjG4LxdND0jC+9UinGPIusIQmQuULJavTw\nOSgiUGATzAfV/vJhagoVZu9F0UQqVSxp4qwHjR9o0yuNH3UuwMtr/LSSk9Nq\ni+dA2BGL+bVpYKVhKWqARGyegwU0ApH+3P/b/z8ldUEMjm1/AacW0WlWwxf1\nfqD2dlCd/MH1RcvOi0r15vPF4ErujtsvOPrh5Q37aMd0J6zioDqFUD/KTeE6\npJk4UifGihsPbRs+moXS/9vayEOXSajjCNUXaBShYJmTP78hvdcJVHeBB618\n6+nPRaeYYCa14g93MjfOZoL+yFMA8vKjXT5VflY8UHNTCZlpC9uvUGq5oNUS\nPMCveDCDL5kyyHXdj8yNj/tXRpsaehYD8LxKnG3eH2lcihB3aonjuDHIeUrs\nRyAZXskIUaaY7CX02y20yxjI4hq+cyQBrWsEkBM/lYd2UBdd2AnKV5X7d4JZ\niqvfKi2GGkk0MP0anbsSy6PstwSw3H4+Z1Kmc2pmxO8cuzjvhynBS4UkC4Ar\ns5SjaxbsvariZjAkGRXilYL1g34xcx6yt3oW9Pd2Lj1V2USYLNWPaXFvPiBe\n7pGaa4AJ+rX18817Y+U/Ga53VbM+w+2ZgBJ+5m28PxlWI/c1u/x0B9do6MNX\nqBbC\r\n=P+5W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a14e3cae1fdb42680777a9a6b5706060924d68b5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.a66493cd8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.a66493cd8.0_1590081455965_0.7265301897503695","host":"s3://npm-registry-packages"}},"7.0.0-canary.da05f66e1.0":{"name":"@material/dom","version":"7.0.0-canary.da05f66e1.0","license":"MIT","_id":"@material/dom@7.0.0-canary.da05f66e1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bf3eb7ee33d6fd341786c0d174374f106259d180","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.da05f66e1.0.tgz","fileCount":28,"integrity":"sha512-3QwZIxo+U9B6vlVFU6Fd5Y+YkwfC+bIKH48uKJjlpqICHEBh/cGEv/cQ9zQ9mU0K21XLGBS/OHLATZ+sS9jrLQ==","signatures":[{"sig":"MEQCICITq26PMJdPP30kaLolt4fndwrX/QWHvR4KqgOqUg+lAiAS+6mOgmwbum/caAa42sIq5w3yidHu9kyhN15Vt+6C6w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexrggCRA9TVsSAnZWagAAUXsQAJE6JY6ZkiPorFpN+A+R\nbRrHFlAG3m3FEXly3H4iaHm2xEyVN6/m0QIYy0cNGmk5qqWerFYP27bJb8CK\nQIaLWk+NedvUFRzN06lEb6FJbRYDwF0epqaE6sy1drdqBCSfL8Yoc0q+foDR\n+i18YJwmN1FeC/xcIybzWRW40ziF41p015Jce4KKHZINqbHmG1yKgFAWnjzW\n9ARz/YvBgbCepsDKDGupMxsvU7Yrds7DoLPsb6Pu7bHmLdRSJkeN+cQ6+Qmg\nkSmNK4SoVyn2gx4zo5AD/IqbbNabKo5Xahwks9Q7ewoax8rBw91JnyF4kCgP\nwK9v4AkXu/+zApGVU5asi5lTMA/O20nY4flActClwcx9PIURd44LuPozawuw\nO3Xm+qZMYbv3ovqqIt9awrzZ/wKg9z2r3z9KvhfWEEAKCuKxJ/yvASZEXXjm\nd18UBnc63jntJO1E846sEvTbSnlWmYUFrGDQOhvwf3u5gS6dIrFXFYsWAh+b\nUDhgWut8+rFgSK4G0utOlnjlu45pfcwxz2VUJBaUSVruNhb72mW6H1ofVpd+\no6ZBr1jpvwABFDW5DIHtieFvClT1e/K/0N3fvRhM/GtlYppj1NAQSAkodccl\nik+VmCTl83FTjBJTHgIlWhcnSC4/qBuhok99i5tnbDmZtzmw5//gs/p4cFMa\nH4sw\r\n=EE7A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"97f495e74f33645d8f066a4be88eaba95700a4e3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.da05f66e1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.da05f66e1.0_1590081568331_0.8622343680432436","host":"s3://npm-registry-packages"}},"7.0.0-canary.740860e78.0":{"name":"@material/dom","version":"7.0.0-canary.740860e78.0","license":"MIT","_id":"@material/dom@7.0.0-canary.740860e78.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d23e8d4481145caed22745619d4d409585c43e98","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.740860e78.0.tgz","fileCount":28,"integrity":"sha512-vyFXK/VaLsmC4LZU5niQIoksKVtx4Owjj1AmJ+2ADiDA4g91XGp4wj7iKEQBimcOGiZ1GPiNn96D3GlIbTh6Ag==","signatures":[{"sig":"MEYCIQDfTWbphfaCnP4PMPouNKfjApxKwMtqSjLV07FYBoeLBgIhAIXn/FWE5c0KKguNWnoQ9vxBzfNv9EU1DrY8O9qeFy9N","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexrmyCRA9TVsSAnZWagAAprkP+QHovpt4luNFJ8o70GQs\ncVg1VeSdWeM0Dqc1kcZGIeT+1CEn/Qoyj8GL1dXjMphNs9uU1aPewr0S/tIh\nRHIZmj4LH9I/U4RcpWEAhPk129/2HObt2ExoD7nNfQ/5CVQa478UTgOMuIro\nKIgeoVoPFxp+rZyqQJ7Aor8lei7WXfUzVgmbjpj5LuGcDkUu0l5BUbBdEvUN\nOrwwR+5Df0V6hBsBOBkzr8+7VgvaQBy16uHMWIfgqm4ciFY0SnoIgkVrTphY\n5O4QwsF3JawffN8lzuk80wyvWJJheRaD9K0wzE6OWHk8vLOg9xeXoZJN9d/Q\ncbtmoHy37ImRBdtLDoQgzCNJrLNQA3TGj99WNbeOWzHj/oHjZERjUirMi4ww\nTlvq2xepcW24f2BOdHe01XhY+GPrIRzDVab6yeg4tDXMElqy4EPR5gd2D+gD\n3KFPhihj97HgQaRUwoCLArbzpN2hAmyKsy6xc2y/sEINv9NEWb62G8Dt7kjf\nwYrePybwcWd7L++ToC9boz+z5cAlnrxPRkxU0dZBPZEZHepMdUpK1neTVR33\n6osVIJ+/TrK1WzTPLB5DqbXIkTabQHBIb004i1P3gB9o0VEZcrONmNQSeiyH\nAovLCHR7f7rqBjoBe9ulA0qNYQHpYMD6qXjnKHBBljDtCz9TJWqaAuQhyaJP\n0WjR\r\n=v4wW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2319c23e86ed8e7ed27865b711bb6ea6970b98dc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.740860e78.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.740860e78.0_1590081970494_0.11219216758135508","host":"s3://npm-registry-packages"}},"7.0.0-canary.5cea2610f.0":{"name":"@material/dom","version":"7.0.0-canary.5cea2610f.0","license":"MIT","_id":"@material/dom@7.0.0-canary.5cea2610f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d612ca0c34ce5c36a29b56d19d2f828a3c636b52","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.5cea2610f.0.tgz","fileCount":28,"integrity":"sha512-sa6lgx+yt4WJF6QazK79R5tfrLG7NrrLlvmUmNlvYS2zZdZ8V/Tv8Or2XE6Ahio75E0YoIKFCC3xi/E4RSlqQw==","signatures":[{"sig":"MEUCIE/Wr6z9v78h6oh24SMqWsREwE4lr85VG28355Y3N+fnAiEAiUqFXz3XZN5SKgUCMi3lf9knzXhsd8m8PWUopr/fTWw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexroqCRA9TVsSAnZWagAAALcP/jFsWyILclNOgvnNCILC\nIF2usui5mprtloFLH/cB6cxATxgGtsNUtJ6JrwRL1mQClDmp3ViPj9QcmMtg\ncXOHGzqVibho0hp4rUzbZ5eXEGfhyB7wfHGYrrcnMoOVMk3Y1xy4vhLPziB9\nQ+/ZtJfPFGRuI3aOobDhpeklDyGkAWH8dJxLiWMnZYwgCFGTn4Ksu8RmonVh\nsVQStvDnvQjO2NuZyNbkEcVAgD2iICvmjifeoMGNX5g5cXkb6un2CioqoSEK\nVVfS9vXculZIFq1uSKi2gNWfQ7+ljNtRT0AdTewRxT0L6kYwySkEL3Mc0OKC\nU+liPUSj//vggquOFdAl8cuVYQrI4qM5iqsC1Mit3lcBYE4ctVg4HuhH2+HM\nu3GBpDrK4o18uNIhQnEJUElKA9F17mKGdo+IZcxHheNb9zAucYXBISlKU9ne\nlcTdTcstxw/PiMOoJ+uc7um1KFT46hfqYF9jyi/2Q2KDXo4ENidFZtmubcZG\nnRqJtOM3ueXCMcAalt5va/2fJe6OsHIsPgHaS1hoUMl0wVPC/jbvER7+uzjZ\nMj4GEcBs1x18DXumsEU8QgN0r5KvPpwwms6gNLAtq/TtlcmryhU4oW+awn9H\noJhN+FElSjmYvzbqUNMqt/D4mjVbBaXyYVBlK1oJnt9/HA0al7AuHTnoy6nr\n+EFM\r\n=1iyc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"647d4356b68bdae8879ed7384b0ed1ba4e1954dd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.5cea2610f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.5cea2610f.0_1590082089593_0.3805981784491541","host":"s3://npm-registry-packages"}},"7.0.0-canary.cf7747ef7.0":{"name":"@material/dom","version":"7.0.0-canary.cf7747ef7.0","license":"MIT","_id":"@material/dom@7.0.0-canary.cf7747ef7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"36f7b0dde89febf93b416b8d4711f91f5513b113","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.cf7747ef7.0.tgz","fileCount":28,"integrity":"sha512-emzuFtcZHEL33aG1Lcm7Hgo9KxFAYqI74gn7s2wRp00tAOi5EVmYQjnozVNx3mgS6V9MtHJyGGM1PBmUwwoMxA==","signatures":[{"sig":"MEYCIQCZ3GVMko+Vlr/tWJ44J2gNMeOfe3u/E1T3hqu8zLrP4wIhAKS0wn+HK6fc9lTXatD8T+t9FEGy1AN1Nv92Cst4gz7l","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexro9CRA9TVsSAnZWagAA13gP/jWMAoSaUM/uvGP2F28c\n6u19FdY3IRIfEmxf0tu/h7ZE2frnrZzeY+FVupiWCAYkn72YzqJGtXn9SeaQ\nC+FUSfUqUMG+7MqR8+rrbGp2HhNQSAySbTrBSlMNUsk9L+qw4XnUkCpUR0nF\n85mLgnhmCaPzPPC5g5zopUJ1fQ93YQ4LFwVVyTRvAgHLN0/HOUm6lVPnGSJ4\nS8WSqr5Dlr6D6Y81t5knoOsF1t017Zmc4Kx+cJ2ULvrjc1LuqS1tj+W/qajW\n6sexDVCn9jvGIwIswmD9t/dlxdoadYIdVFlLEYk0qG6T1PRMngbV+p1cal7c\nVyZsILaEDkIvtY3gjU4rrXze03DwbfV2XQl5xv0mLjCD+Kml5go9VA7SvOHW\nGvOCKlrSiguO3PM7zZRss1Ln1Vux3skxZ+lKuEajm+beOshQjMdjhsBh4Sul\nJs3POoV4DRxXLP9+Rw4K3IKFz9Exnnus4NmRbXLZ6ly0FFgu49KkXBS0iZPQ\nN2jz5X1NQIBvHl8OhSo3mdLhvIHtInV7XWSzqCndRhoUONxNi9HqgAnBzOJK\nEQ1dp2S1tUUbDiwwoAru9SFgTOOGbq4lsncjGwUv5DH+x5k1icMoJlPnLgQL\nP6WPZO3bUjvI6H40PjRm/LgJKrTuyOlABhGqVunvblcM3R0Fc8YIaV8uS9Gd\nBmS0\r\n=CASI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"12d3ae46d64646ae020ede8b9ce88abc7efd384f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.cf7747ef7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.cf7747ef7.0_1590082108784_0.8040408039935438","host":"s3://npm-registry-packages"}},"7.0.0-canary.862d0d7bc.0":{"name":"@material/dom","version":"7.0.0-canary.862d0d7bc.0","license":"MIT","_id":"@material/dom@7.0.0-canary.862d0d7bc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c2c182ebf4134d14bfb990d26fb7a3a0bb0b7351","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.862d0d7bc.0.tgz","fileCount":28,"integrity":"sha512-m6si1meIXpfAiOVlrbRIsEpbxH6uLmDUtNVXnAosXemMrf5PTPuAND8MEss213Uyjz1QUCGeJNN0KbrIMTL7Lg==","signatures":[{"sig":"MEYCIQCVcnTPK4czIszjF0dg1iJKVatdEX3x9wInKZDQil+XbQIhANH83LUnlqD5+OfsDXiQPzx0cs2Kt8A9nNIpdqnNtgYm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexrreCRA9TVsSAnZWagAAvMoP/jKyGYl2qQyPl5d0HX5W\nuLC5acBejaOPIaEsLQZJaCHWdeDh5Pc8Anv4jEoPYza/53zxFoiSRbh3DVr9\nMQZO3HgNzg6Tl0FBZLJmF3sSRMU0w7qYxwEkD3f1D194qSbiVHkQ3EtBVvpW\noXnzgZ9457VdJq1ty9ey237eAoNs4xAEl88OnCmfVYIlUZyqlm1M6BARIfm7\nhoi8cCAf29LRsMW2uiHt4cojrKQ1Mla2kghPF7HH5DGck1Rd/uxFLCJ/CJdD\nlIkjXqyr2DBFe4gDz3m8V+0oT4UEilEoEPNMCEwHpw92pq8efQLehEjFWfeB\npx+xaFewL5qHNL94payIt5h0wErgniOeW/Bj87RVHBKDXU1xBfRAdX7gVrrf\nxSFKiIxoW9MZLKRlrbHnd83mElEtfMPvo9n8kgRmAhs3grqgP8yA7WRFxC+F\nlucI7P3eKdl+qRhvzUVagE07+XkRKR52A6yC4HAjhWfpI800px5X4cGzpHPh\nQlKs9fvNXUvYzBX1VkyImrzlduH1+3n9p+fuqAOAhFoaTAuByngXBHQ3SULM\nDfJtIEBzKfuYHWk3oBvIG9XqG6aTAYYMCrGgRv2pWL1yWnw96JZy2YbgJpWP\nYkvbhdNfyz/xe0P0v15b+ABqyxjClTWpPv3vwYOJMaTgBWnR2U2odBbHTRwm\n2YpN\r\n=83ih\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"534ebaefbbb3a8abf3be3e2e13c05f86a5461127","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.862d0d7bc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.862d0d7bc.0_1590082270231_0.12842561827582388","host":"s3://npm-registry-packages"}},"7.0.0-canary.0008c8a91.0":{"name":"@material/dom","version":"7.0.0-canary.0008c8a91.0","license":"MIT","_id":"@material/dom@7.0.0-canary.0008c8a91.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d997d9aa18d679b2e35ebfc60bbb6c8706cef55c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.0008c8a91.0.tgz","fileCount":28,"integrity":"sha512-TzatF5JBROm45DyMGp+CdatYZTOWmnVJYTLfanB1EKiL4Jxtteee2UtQH6B8dW9XwbbiBcIEphWG0iHSRDjLXA==","signatures":[{"sig":"MEUCIQCjMOhOQd0fGwUONCFrd5F4Vt006CwcC4FuuF6FOORrZgIgAaDJPflk0Vzr+orTNsBPZQFLMgR4/g+vUuOAp2aimbk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJextdWCRA9TVsSAnZWagAAYYkP/2U5jnzh9BauKZpEsPbD\nwVDJXBk6hxuVqJ5VKJFzmyi7Ph40Xa9AgDVIpnTsJxq1ruEhYM8Hk7vc9r8z\nyBIw+9G3kulxGT2JJIeFCc6EIi+eXRYIR+SNy5cjhor1V/FL9QGmHZnjwqL2\nNDSSaqy1EU0NKFr0iw7argTiiPIqu7VaQvKUqagt8YUDkfobVv5y6G2zezQ0\noxA+0nrmOUYLuAa3yJm/IG+25QrPtbsjSe1BKzkX1lvdpj12dEX9boVcHgbU\ntjQApwARxcEE/HKNEjqiIutQITFTG+s8l6W2rnsO0GZiS7+N6MkPD94NC04z\nI/f0/shrtC4aVsEMq4oR7YqW+51O7Hdvwsl9tt8poSMDUmaaBRl1FfTYtcaA\nd+KAdYq6FxyP3ui01roPAEyk0mrkuU1V8wY07PiHqcLo1xKqU0vh/TEztvvo\nso45FJ3vQtkSDAycqFmbw1zdUGhNU8uDyu0P4n+0oh5Hldwk84HQ+DeNJZk8\nZvDiygwHkHNPdRUbPvtaW40sG9aL3X55UjvUJammF+zsZUBaM9AJLSpOs4mE\nix3iOjyWCZJeihl8x4OLr6Q2deK6swHwthGSsfYD5YbAJWeU3NigmAa67EWt\nmCtUOc1s20pKu3c6GAWwcwfklqT8W7jclBecWrqnogCqGjXTIUBTXoBGmyCJ\nm6we\r\n=dGs7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5bafcd3cd9f6f60ca813af30e2b0a8974de09ec8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.0008c8a91.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.0008c8a91.0_1590089558000_0.34540285072386","host":"s3://npm-registry-packages"}},"7.0.0-canary.541638fa2.0":{"name":"@material/dom","version":"7.0.0-canary.541638fa2.0","license":"MIT","_id":"@material/dom@7.0.0-canary.541638fa2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f5e4a27f7fd59961cf8d7e1ad3027cc6bf043396","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.541638fa2.0.tgz","fileCount":28,"integrity":"sha512-V/uKwgEVlTCLKjNJoDG0N/JBnywt43jpO52iB72/3lXvogbKgl9W5kyNamSy2BrA/yDIAXxYfWqWh0Z0Ol/hXw==","signatures":[{"sig":"MEUCIDVPGl3EUhTRfgC4Qew3G+fgqaVYguM/VLqllfRYIZi3AiEAlnZGXi7N9THXwTuAO2v8pYWEt52f+i3qmmoVDCu5nUg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJextrWCRA9TVsSAnZWagAA9NEQAISFWqACYY8vmfFdOZhL\nz9tOOBX0PrxHEPQGiSmD9SYjjD/2Mwru1uBnRHUSDQ3okYxPT0GEiITRvHoq\nL4QxGyybOMft0lIGOUgEdwjLV71mUp4uZO+8ygnv9FSu9E7W5cTJPztyX0E9\niu0ZNwiow3lvTiDanKkDJb+bkwXgVsfl9JN9T5PYTEwMaMT+ie2doe65301/\n/KG2pqe2VxcKcyDIJuEmeeiIUYvMzsyyq+qS+lxhCCUQH1fIB2TXJM4JND7k\nVMAl2778h0aKGLasUT0HekpT6AY32RRonanUvxif7ZvYMx+c4twZ51cwiPRt\n1YFSvu1hDoJax3PKIKxMyIbnUFRyM1JjzfXwYOuawO3M8lC5iA04Wp2Y0eYa\npOcHnofI5F3x466wSHdqkzpM3XC2/XzDJGQfGZOST6N3EwDekse68SaJr7ko\n3s9gm8tOmzSZovrmnzsjvZcJmUzNkchTh1UarZhDJiy0I0sLJzuSajyICLsc\nofYPCnzF6uKVNU53rQXzs+f3h6VcKcDNvqFGVmcwzrE+1xF9M1zrHfq5Ml04\nhYUoctT2X8A3nJEuhMGfiFGOxInMO3YZSFfciEJjiwM1eaJQIIpz9m59tGT5\nwBUpo6uFDQTg83nt+k45Lz9lGBW1XbKrIsaZv232/MQa9vbPmZ9RqfnzrEVL\nOWle\r\n=+wkd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e9634a8258477402629947671e06d007833e14f2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.541638fa2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.541638fa2.0_1590090453924_0.6060490444506597","host":"s3://npm-registry-packages"}},"7.0.0-canary.6167cd075.0":{"name":"@material/dom","version":"7.0.0-canary.6167cd075.0","license":"MIT","_id":"@material/dom@7.0.0-canary.6167cd075.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b619e76b989c9dc3d5e1cec0cbd4dc23a82ca4e1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.6167cd075.0.tgz","fileCount":28,"integrity":"sha512-Dw1t9VOJ+5HLFzbVIke2REECvfnD2C8Xik6HICOORkFNmda+w5eleRzYDvigq5QVNPeDTLauNTsrKSnj/gsyTA==","signatures":[{"sig":"MEUCIF/ebkE6qApq70KPa72VWoRHNlJm9jMvDqowa/NGSAS6AiEA0KZEJCyvtfhps9FGMJdTJBww+iau5DATdOillwKXrdI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexuKPCRA9TVsSAnZWagAA7yAP/jiv2UjR1e1R2/EosBFJ\nw9HuYF0atP01k4cj/eK3FM9eHmHDZnAei46MncFyPJ83097jx/09AnNmqXuM\nr2jUYaqPw+eh23az5aYKbybnytS6Il2PQjbsT6atLmlyuIiawqW0YPyKiGu4\nam3nqdtSAlvIuyD/5ptpEu1gvD9V/35qS3j9oRLtn0q8HU6Gds9S606UV5Xn\n1kqiB3jPwlQ1JmZpHdJpZiyq8UPu4bYD6hG9zwH0mF82EaQJ+cf1QnUZSGgS\nPAvHnqjMqpswrgQoyJKr4ao7lkux5uvvIa/lmc1goUi8SkJnjIJoaCsOTjwf\nGaW8OdJ60cmWUqX9tzyiubY7WznxDBUrTTB7CjXw/EMXHbDtm2cluk9vm8Ud\nAVXRiJ+/qtsJM+ALeD3JJNltuE+aHBoWC1T4UmPw9ZVyl27M4Jb6xHGqYSPq\nODPAVYM/H27DeIw5u4PpClT/SxdSVBmXpjGOSW5y49bfEgL6wA6cd5Dc85TW\n4vbSQVUjmMSfatGuQeqWzIg7z5eu/7+6MWtRWhGLGESUSV13iG+bOz15B6Ku\nGcfdIsePwplGh+GyMihaxWP9cjfHSQ3H5ZTgoDGYCwdcshvgRzyOkwbA5PDr\nNbtYGvX0bbaLs+O7GWqjoNsjgtd2cZGF6j+gm3F/NqsRJFzJE6fELXc0HZC9\nb3Fz\r\n=/pXc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c86a924ab304fc32e4e6840c7c8962330b6b0fcd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.6167cd075.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.6167cd075.0_1590092430596_0.8136875927011682","host":"s3://npm-registry-packages"}},"7.0.0-canary.863ac1b0f.0":{"name":"@material/dom","version":"7.0.0-canary.863ac1b0f.0","license":"MIT","_id":"@material/dom@7.0.0-canary.863ac1b0f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4b6190c8feddbb4f6afe57d0baf3ec92f8225695","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.863ac1b0f.0.tgz","fileCount":28,"integrity":"sha512-0q36n0rAg9UhwABG3Rf0A2/x+vxgZPXp1cWrMRWaGymkUCAGfzdICaK6ZbnPqA38VCAMcuiyXMkin58GW84Dfg==","signatures":[{"sig":"MEYCIQD+ToUz87TZyOdVZc5UxvF+A3jpWtu2UbyhxAVVXoVN+QIhAKYUP5dwCj6cqLDOTwChVFSSJWeJN8yDAHDX6fqXoXXj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexuugCRA9TVsSAnZWagAAC8oQAJw5q5NJWDg+6vNOY0A6\nDOfzDifU24dmnGlby9ozYzegA91mbkgWyEyxcew3ADpk/Mxw86pOw7t5WLjN\nu2hxkrOaL7lnse2li3NhCtkz+39Fm6u/c5/bk9Sqowp5mmmWPuNtEuwMXvrQ\nzq94HtciVPH0atmua2UG8GHjtXuJA69/rrNwzaoT7HOUKmnyxo0VVwnbhyTt\nqvdHNllxmrJqTr45WyoAGqYRoz93ZmK12d/DtvZdOxmTzNYuo8Si8lH1bKPv\nzqR2y2ovwEci/YqT+VeA+BSLwzAMOigrEPSzMgcvEDCO/DU8UHXpUe9yCcG6\nxB+JiZzCTe3uUcrp/oObVPPpwvGjOeAH0UzDPK7vrCMcUv6FSdADNY1XnYyf\nhjbgGCJWjGUHLroeL47b/qT7LLTIQAv7wEwKFA072Cvc4o+azFQFFIhuA5hg\nEAbOZTQaXEYUsmKaQqhBScYcvAsllsWYbk5966osKKL3uWwMHSiwxuBD+w91\nUB2tSJGFf1B/FUZmAOa4KS/T9WgXmSoltApB7wP1/OqbGlyCved07tBl/CHm\nu0TtTnO1+fXuBFkNO2lcTMHtMckhdQkdcUl31F7mttkUXCX4wTb2Y+3/yGFn\n/dgjETITA13flc6OoAULbH+tSfok4pFMqs/Q4xKVd3h67pyzzj6ZVubJukD5\nNUij\r\n=6kF7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c1e7026720dc12f1bd465dc892c8718b429563b6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.863ac1b0f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.863ac1b0f.0_1590094751450_0.8487778705766729","host":"s3://npm-registry-packages"}},"7.0.0-canary.d30a214ac.0":{"name":"@material/dom","version":"7.0.0-canary.d30a214ac.0","license":"MIT","_id":"@material/dom@7.0.0-canary.d30a214ac.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2db47ecd76a654492c5115ee09c981020bc47e18","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.d30a214ac.0.tgz","fileCount":28,"integrity":"sha512-f0EWfoOejCCifksfTuR0RkWJfzqc4RSbgjoSE+A5QaPXfamCYbQ0JqnPWq9fgK4Eow2kTw9Iq+uSSB+YOFlWVg==","signatures":[{"sig":"MEQCH2oX2VWx2uOcRtjPKOtL/o1JRn60nwGidr0cljlRbJkCIQC4HwIq2oSzRDhhPBfxFiEEX4Y1Yr9p/xPC6141P3kkXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexuyaCRA9TVsSAnZWagAAcjcP/RgcZklX542j9KTw+BIT\naF7ux/D5bN92ElF22IKKncMBtYatv0GBafu0+/wvvYrzuLMw1FXOIEd/ZMtI\nl8Yq9+9VDJ4/QV3OmQrRrV6EQaxXzsdBaRJWApUnEFM2K5VP0HJY5dL6ekdk\nNxjsBI3qHNN2wymZGH3QCX+fIkyTF7gzstNUAMc9bnkRJeSgpHpDInZZ9uok\nntUoe+dHo8buDE1TjAiXRbChOA7b7raeGYAbSep9/Zk6W13zl5vlM3EYqtKZ\nePn+0+GRC3bo5ZeJqCN3jQ0Nx+yBjVY3Gn67A/9wVKQWqZcCTq+FJ4j5qsDW\nLeNAMYLAT6tBmrLw4rZtbcJemS3AoG7pus3FvbNWmJfqZuW/4lMuM9wvkdTI\npB4dbxKr0l0Wrh3ZPIjhKxjp4D0AQKKlUWknKt6Tenws/lFqqx1dizBZfeBe\nzUwkdhmuN90HzOUeYIZoJ7epZK4k2P3uDpNJKZcdFAUxPCXj72yojbE8LImA\nYtB9j2aA/7f2Joxv7ZOPNOKFiEiQISVZ7+Wp0WT1enIu1cc/jgGb65f7ubuj\nuz0pWvCUAzJZOCkmkgLq97ChzsQqdQiE070FVtOzL3+8JvedM7vQDJkR0uEY\nVAN5Yyvfe5tJR3C0qC+wBDisA221iq6Kz4t69Te1yPoClqxclGICAbSm3LzT\nh9Ol\r\n=WTGi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"635c0e7c484f851d2ecb4be825abc36357ffc685","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.d30a214ac.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.d30a214ac.0_1590095001994_0.5502855961756901","host":"s3://npm-registry-packages"}},"7.0.0-canary.62abbc8d7.0":{"name":"@material/dom","version":"7.0.0-canary.62abbc8d7.0","license":"MIT","_id":"@material/dom@7.0.0-canary.62abbc8d7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"793181c88eb05c19f8bbddaeea62a15b509cf75d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.62abbc8d7.0.tgz","fileCount":28,"integrity":"sha512-OZ6qKS6NfMsHpJz0xTs0nvFVQZjKibYSAu/Xn0YBXRdKTtgf5V3iR3NC/mBmzXR91orNR8gfhRo94ByhTnh3uA==","signatures":[{"sig":"MEYCIQDOhuSwZryI77X8Kdwb17Yjck4mJ1gElkV9983akBYYMwIhAN0teXNXSIrW/CTebHgSiONQ2kJgJPoinD/7PtCf0jBu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexvJoCRA9TVsSAnZWagAA4Y8P/3oVJWLsI8nKLC1PR7Hl\nRj+uPb/2pNPGWOti5ZjLGavHG9/17BgI/7Gd+KsjJFzy5zZEIxJjWNy4FOjb\nlkrA/ubz2fIy7nxb7Ad63gvPRmkis5anjrcrMTP8VkPkR0t7qzu0ckR1xBe3\nDfUtKpWdeJ5YgMbC8tD+gL+8ACJwzXTMC0m9bdC/b8xW+bES4UuTq7dVk8Pe\ntj87iTwH/l+Zg8tWVTw1Dl7KuPTC9mar09AMvdaxL4jGxCVKhgijQW1k7bfd\nEGNGPpJwY14YWC9/tx2gEaCfC7fjX1Re3TFZrKGFBGRPJ8PZW5gBVtNGxoMk\njp/V6A9D89KAly8I/A8G14SOCwN5n1KvGhaOm/tOHPjV1KL1bfVHhsXsajpK\n+Wov/TQE3jry+1P5sVUiwRpeKkkG6Ssc0GLBAjzVHs998AHNTJueqbjsnY/R\nkWk+BZkUGe0utBi0yQSlnpERc0GYDlGF1yYivtesRsNyqNmn2UhMaFWSL2TC\nbjA7veFlrklnlKrTH+WRZ8iz54lzmJDdDnc2OHy+LkIIwBiAN5VoTD3889nK\n/aGe2e07/oc8USJlGsibsfTGF0YWZCRtGH2qDCreOqoxFXGIy3opwzJCPxWk\n+J0LYPU3RLubYlCHRqmji9dQG8VD2tRZcL1j7pwrExY5lYeRuft1wI8ZvNAr\nbspJ\r\n=1qwv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6758c29e4b065e2aa9cf633b0838c4ebefb9f54c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.62abbc8d7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.62abbc8d7.0_1590096488232_0.9548550766368855","host":"s3://npm-registry-packages"}},"7.0.0-canary.49bf31d5c.0":{"name":"@material/dom","version":"7.0.0-canary.49bf31d5c.0","license":"MIT","_id":"@material/dom@7.0.0-canary.49bf31d5c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"13ef1c1188a3742ca411d9f40eede7317f6b0d9b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.49bf31d5c.0.tgz","fileCount":28,"integrity":"sha512-Iz6qNow/kk6eSTfQUtIf98ak5ENCbvmwCgNF2yBcpFz+Au7vQ9ksA4W1oe4YymgUGp+Tu9teIPqiLMhgxEfDsA==","signatures":[{"sig":"MEUCIQDbWWXFAK/sdxjrnaB/4PuFSRb5CnK1RVHVh9+9caM86AIgSkxYqX1srS3Nlj7c7+qEWoePb4GlS2B5YkGByw0Opw4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexvMvCRA9TVsSAnZWagAAYogQAJvi1NWwy7otiVAdYcdm\nLM0o7tCBPrD3fGInPdNj1+3iwNZ90X9wejWKf29b70+kl9aN7SQxiE4gCHR5\nBz53lN9jnrxWoOAXpy56BHqsivMH03g6k5sqk+6zDGuoZp5gLkRND8+k/1Rj\nzFt7sxuHnIDY5r3sFhFtSCz5vkK7obhX4hapCLZaT6O0Q3sRyDXkYAW6swuV\nOUnFO2nLnfeb9t53R3zEXx4NypuOUBKCnue2Yn4frtGR0/EMeS63/VF5447r\n7j+mbfmjWv1wobPMfeMw4oGoVd1Zop+ti/UH7j7FI+2B7X/hs3h4APfhHNoA\nlJYquqvAK84r3/tBeg33yq121GO7cW9nrvX4waVe/CwvAOl9ZKkQebG/wzTF\naDUuqESE+azg+6Z4e9LM0UKwTPiCzIc4vxe897guwukj8MIWv/DOSI0xKlkM\nOAs1PINQFOcLfSo9sZwBforoejPycHiMgAa4qlihtTHL/2Uw5A3uBHZ5Ao+N\nGaZMcqpJ2DtXhYOXjs69yDal5R4zmAPDvxTUE172vhUXTU7NnM7zsdJXlrqf\nJUWLNmV3k9OnVFhHlHh6q86FgU6gAPJ7pwPEB8rGR0HwnbYdxMyF2WKJQbA8\nc6lP+OyCjoVpvvMbz1lcMet/pxjE0pNhnh35UDOUNSf365nRYAVzc4L+Sc1X\nUEPt\r\n=ZJzg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"01cd7b0082a754dfb042df35ec48efcd4aa4c52c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.49bf31d5c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.49bf31d5c.0_1590096687086_0.15014678762007283","host":"s3://npm-registry-packages"}},"7.0.0-canary.8e17857d0.0":{"name":"@material/dom","version":"7.0.0-canary.8e17857d0.0","license":"MIT","_id":"@material/dom@7.0.0-canary.8e17857d0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b092027003240bea2203cbcba63a3e288b7dd1ea","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.8e17857d0.0.tgz","fileCount":28,"integrity":"sha512-hzDmDZok5mUpagnl5ZhCT1r22PivecYyiNDYmzyZps3PvMwobYpI37PuNu7rLfi3Fz0PN/62AzJYVaP3MaxATg==","signatures":[{"sig":"MEUCIBWpcENlbH+Pf1sOr44V9X+Eq5wTRvVt6976oCwlM0QLAiEAvaI4KNcRJDGzlLFByvD4Jd2P+WoY1YpYB1qeSsfr5Gc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexvNkCRA9TVsSAnZWagAACJ0P/j5aS68nKlupTkhYs/On\nf67brfCscIrdyddm+FlDkKbe4FnqCr/aPQWZrSv7LsMvyRT+/jK5Y2C+AvBa\n/vL0ttAT8u9wlRd+eZXeck+YlOoToYedRmK4gUXURrr3FRVcXXpiYOx+NNU8\nNwr1PXEfeQq8B3jAb3nsHteSsHfgS3LX9wDClN1saiK2heG31NwLkbEjJ7wE\ng/9tP2n3s7c9uzGsdI7+emH/8q0cXaB13pInV3Nz9oBftlaePoq1i0O5yTdV\nb4WvI1f1grAdzPG1/lUd31CQ2MzQ+tH6IHnLqaaqZgRQYWfrUGx6vy1le0qV\n2PsV7+wckhwoK1eIiYscZag9q3ieem7wA/bmhWgBY04D6ynOKmMIWbQb1GIB\nlpCYI0qkAzTWk+QB7/PXZJ/9XmTSKlVKejn7DnBdCKnMdVGWkbb2NofZGTd/\nxgpHlFesdGjINk2C3l6eefFV7yrdcWCDmI88d9EEdvYtOj5XInX6aaybvFii\nmj4Q+yaJyZlvmTJ9PKE2v4pbQCgSKk9dxAkgq8V1Q38PcrDdE55VC4luuxSa\nyQtDcSMrJQpOHl3AAMVlP4T1rTB+v9GU5UjFoZ58gIxAFenGLCoBQ70c9t26\nYUOxL8SXQbgf5B/1INL/BBtZYCIp/Ct5yzT0Wi3YpjAeB7fcmhFAX+dea/Fq\nGLUE\r\n=KRpP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9b03d700366fd287f2ec053c5ef4ccf802ac600f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.8e17857d0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.8e17857d0.0_1590096739785_0.45172188446036743","host":"s3://npm-registry-packages"}},"7.0.0-canary.c113fc942.0":{"name":"@material/dom","version":"7.0.0-canary.c113fc942.0","license":"MIT","_id":"@material/dom@7.0.0-canary.c113fc942.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cfb42ca0ab748914ea551c0f5bd8bc9f5fe32507","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.c113fc942.0.tgz","fileCount":28,"integrity":"sha512-pHrvslRgqnP/zTs5eaD0P+g6EX8dj2+IFr8Vw2r+iUXPYKVirU9cG//WYpCos+zJGaxon8NHuaiTgC1y1CWPEQ==","signatures":[{"sig":"MEYCIQCapaT/Ymh4tGbXc1Frp7bJ9Gy9swLA6c7n67nAg65zIgIhALSu8G6TRnkVEvFCwcHyuSj0TKCb8DE/R6Cu+M7D6nKC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexwSiCRA9TVsSAnZWagAA7ioP/jXkiQYz1HyEapbjLXkh\nZHQ9615WZRcEv9IHX1dpszkZmWFwzSoXhqFY3ydFV/iW7xZZgyAJyV0u2+KE\nKlHShJWe+G7uhlznm9syGVd02V7S8o9QqInJLuNBjzQrQcp+pEOT2w/QRg7d\n5rDe6Y3Oskl6222Av4g8JgRWzYN7ZUfgHlhMfgS0ui3iDRIGJLgf/JnLfibH\nRMqgDJTY7Rve3YGT8/z/t2zSzpN4jZ0zuqdzp9NfGTeuttIOrc1+oIGanV3R\nqiZjgXm7LgsnMRD5bPBtYBJAgIse3TPqaQZfeiRwZZeXy4dTSETptBWDxTcc\nzV6NN0hnzZm5RWK9j6AX/UhcF5YFJYlJWS8tq1XEt71qC0tz4Swl7JFnBArs\ndKQrhftJCO9FiAo+NntEbpdBJ7zSdGznHGADeAMiXwChvb2JRJl+kQzguFsO\nmTh0jYafzJYqsfQo6mzL+/Jlg2vVGgdsEuKJNJDBfq+5tkSFSX9YWg/Roibo\ni1Yyp8upSWuDSRJTUxLAP3cYMDCA81YNETcjEm4AgrIO0hsgtn4e3+pvhd+c\nx7TDXN4qORIkeEQAbnDzWVvAKcpBfrvNHCvFTtLMo7dWLtiUK0AxMXLh11lv\nfkHxuQagIpSXEGsz+NgdOAk++zHpPj7Bz3tlI+g07q6DHNAkATv+tTXdhCXf\nK+Vr\r\n=txR7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"49605d78c19f78dc1b28a35457efd8dd808621e4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.c113fc942.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.c113fc942.0_1590101154121_0.7443845280202461","host":"s3://npm-registry-packages"}},"7.0.0-canary.912d9021d.0":{"name":"@material/dom","version":"7.0.0-canary.912d9021d.0","license":"MIT","_id":"@material/dom@7.0.0-canary.912d9021d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d2fd2799ef04c8a70de719dc4a75c66fdb0a1735","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.912d9021d.0.tgz","fileCount":28,"integrity":"sha512-jO2PYUtksrZKKVFA2nCK2inpeLs34seqhnoT9RT04cuMx4RmjWth8GLPy9COEs5mr1z5LtTAjNZ0BfiPcGV4vw==","signatures":[{"sig":"MEQCIFrqb5qJy8zRYzrsvsJA0hY15T21Y+/jQi97Iz2GDahRAiAjmsZHIaM/CSKXdEursKw2LXlaooClrR+BSxzKfWskHg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezWOeCRA9TVsSAnZWagAAs6EP/3Jpjmuknp0BGAPGfknK\nFEH+XmkTdRjmCcgDqt7qLnS/VLYLZsk4pz9+dLFIWkt4LiwIMeltWdhnvErz\nKfW5YjFc3zonx2dg3KGCf8/jyJUkYwYNdFv/51peEQPIo2t5XoT9nDuLGaAc\nNf3K2+2PnplX2kQVxMSqF3K7oApeSrOROHzSWSfdvtGB4vDUSGIc5vNlYBEf\nNG57FhLeCJQEb+BhjHTk43aUaiFlo2bOapvSi/CnYVrRdRy/7Bx+3NM7y1Cf\n4Y05wTqJpVenjppLECV49uHK0thbawwvppAvBgiGfRNBvuSw6BlF3lQ3n2Db\nYNMH1FWuOTXuwM3NYzwEIcK6l+m9L5sEqIYAfHYPHFYasPvSRkL4oJM3lKpP\nCTAH5flK7RB2KPmza6brymSCm1SYED9gejNV0tErQeUqp7CmVBt8Zf5MyDi1\n5zCLUf6qLovt4pzgPuDLeYJ73SUt9XxBeCiNHONliFafpvYqv0pbiIYBE6oV\nYr9UB2Dxdf2lASvzXiq3P+HuLZNhGGLLEGcDwgjCsCV78jMg1uPda5q5ML6y\nU0Z336PjQFi6Zq9pntI95fpS7EdTsbnM0SzUN3qA7jixpqXqFV+H9sqCC4rM\nlED00LGHibkXtYPcyFD8fda5L2ia1dxCYJlOCACI0U7WlDlqiplQ7U2pTyOY\n5juP\r\n=f6P5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b7080ce5675d8ab69b7f361d040e079511499175","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.912d9021d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.912d9021d.0_1590518685798_0.33622263319712187","host":"s3://npm-registry-packages"}},"7.0.0-canary.68a2af131.0":{"name":"@material/dom","version":"7.0.0-canary.68a2af131.0","license":"MIT","_id":"@material/dom@7.0.0-canary.68a2af131.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ab66404e320ba84cba8e0522cf1427414af7fb2f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.68a2af131.0.tgz","fileCount":28,"integrity":"sha512-Kc8LEajvX8wP+HBmv/cbDBWJOXoHwN02wwlr2CGEvADwUZ9zmaNzWQBhz5Rbz0CRAtizk880IR99F+oV2Gdnmg==","signatures":[{"sig":"MEUCIQCIl4Pu45O1zQeN2p3+FFxsLFXuOupcMPtQDjDsx50mOAIgFgd4Id2x5q9AQaof5dgFQhY8CmkvE+u3rQCFLJvVp4w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezWjMCRA9TVsSAnZWagAAWlAP/jdXyrmefOh01X+vyeMa\nolznAvIUeHjbBU6Eynv9CrpPPH8OPaFu4+x48LRIa7XUxVfblCBzvw6ZBU5h\n2qiKXrNiikJrirbbnJySpo/tFzCWOQU6stcvZSlhUgr4AGatVEiX9f1XI+FI\nNMo1NHLdRvkuveYunAYcxS6CpcLGTVd9ADvEj/aefNVu5pGmjjHqx1Ayu4Fg\nPlUy+znRMB1kINb6wCrjM7yg0hiwN8J3v19yGmRge7zrwhRnuHhKRVWjss+I\nrXBy2yJLOVgjsmEDs9TF1qb7eHQLhJgiVsfkgVb3VQJV+Z+Y1wMXHQHPxTv4\nco52CrNVEBhe1eC8stOJapxbs/F/IOY60O9p7INYoqgNd75jbCgzwrPwENFj\nT3cqglM7otgLUY7s1gt2l9JkrdpOyJWbuJIcH8yLJVHTRowggTCqJ2AOhynZ\nqcmkjlaISCIiIEsfEIp9j574DlGDYQsdg04rC07N7kj0gMWl/s7WbNvp+HMr\nvyz73pTuSAw635A/ErLasru/iruumJtTTnt4Dm56rEZvpnKZKA1koeEXaTyb\n2lLwIOxTxV53+CFcxoh+FBBAMPHoB+EaTFwnFQlHdqTqRb+K/LnnnJOsBStY\nh9CLxGbueXFdS8MAjLagWaBoU3+beaeBFeiJ0RttWYSkPyw+K0R7btDS0/VA\nzHuQ\r\n=jQdp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9fa697d39bb8f18500434764b1fd608819d2e194","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.68a2af131.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.68a2af131.0_1590520011825_0.16991944587199215","host":"s3://npm-registry-packages"}},"7.0.0-canary.01de07011.0":{"name":"@material/dom","version":"7.0.0-canary.01de07011.0","license":"MIT","_id":"@material/dom@7.0.0-canary.01de07011.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a5de1404164e07f7b1bd76ed79e8c3a11fa44a9c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.01de07011.0.tgz","fileCount":28,"integrity":"sha512-DPyNYBxoZ7Rfyi5RwP3MYVlZwBRu3FoV4wsM6Wf18BW3AZrdQVMX3c420ylcv8dt1tymP+/Mo82yOhxOQidndQ==","signatures":[{"sig":"MEYCIQCOmKP7f0EPuz0a2jk6IvKbp/Igzx3w4t1/9Z3x1hGfgwIhANROwqUdLW72qunlM4OKCe/9+rhgM24aBz7XGMoHJtI2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezXNpCRA9TVsSAnZWagAAeTkP/2OpUrCOWjbGFlbcpsIj\nnIcrfTfZNGP32gb2ohiRRywaQxSzDEdxUPANuJgUi5Jj7R6apMOD5tqMBYhy\neH2hg3um9s48zHQT3edtECrucd73z2XyHvKV+egI9nhJK21PV4i4eISv5gla\nAVfrutoN8v6WfNbAoV4TJHRFdgmSjac+qcXTRZP9vGH+dfgUa5LfEyD59WyV\nQKzlQ5AuN/iRgBq9WyWy12v6li7M8vN+cBdGWejMMCywxiXKxGoYGoJox34k\nNTfx7swoSv3LUsnlS3mg4hObJWVvoxS7aAMYVIMbVHc7ZYkFmiaE5CbTOCWO\nP/b+NX+oO7khNlWx7YBgmqlzbjz1YEwJyhedzuKol2QTjvWdYvWtgW2QPyCZ\nmk3bZbB0XQSx97gftI+8AjYHHviyIJzpBzj/LpJH+zDbClrtItoDIe18YSPK\nhKFBJkUf3HEbI6LNmY+wnwik1HHUvRpMc3mH+UVAaxEA2QhoQlI96EnI/oMg\nbiECNfTV1LTixMtUi2wHT6+Ui1YCHGJFl2hmnjRPE2Y089lVNdr9oVZ3Y3/c\n/pSEg9t3TpeUkh/Ckudzhu7EuXEz/1G2EQYDgaBPJlWGpk7o1B+Q9wyZd2Z+\njXLDjP63OJjJRcShAWHrfCOagoaE1l7l/KRIojX1fD1thwYTYOWt74PV5vJU\n0+bZ\r\n=FeG0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"58ff4055affa7a1d66e79813fbb147990e5360e1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.01de07011.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.01de07011.0_1590522729355_0.07294449761396637","host":"s3://npm-registry-packages"}},"7.0.0-canary.51d4535fe.0":{"name":"@material/dom","version":"7.0.0-canary.51d4535fe.0","license":"MIT","_id":"@material/dom@7.0.0-canary.51d4535fe.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"284754b16c2065a184d45d0b9dfa730b72cb5c57","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.51d4535fe.0.tgz","fileCount":28,"integrity":"sha512-xHngoPtkVIfDsKqLLf2KCcJFKx9KMLyDTkdLV7mOhbCB3P1OD2Fz1A6UU9391w23cHXYWnYFc000a/VugxTx1Q==","signatures":[{"sig":"MEYCIQDIBtQuRQBfDBnruSVmcRam/2xmz2fkShIzUKEqnmOyogIhANTTVkyKhHXfm+RQooNaRCJRKI3n3Gw8fezlRCakEuJq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezYtYCRA9TVsSAnZWagAAZisP/Ru1E4yOZzuzrBgRRmJN\nYjYCCC7gPX98lMqQ2lZ/LuMwJqhshS+2QaIyNWFRjB1+U6Mpu/Q5HPtc3aiH\n1EKVOHUeFgF9ZaUTM7suV06LEPBeFzjk0z1zmLsh3VhM9GqPhxtGVdytRkcr\nbTPUBHukmYkaVA1trt1IvdhNM4KmIQ2AA+vKf+YWurZmEYzVImqVwLW1qFn6\nNFkEIL+fMfqbzZs/uqgoiw5trkJHdcmdGJlMQwXJyHTU9rIGGk4CFDNHFco9\nihoc1bsNBfCujrzkZX9eWF19ULKxJyVXhZUmR1qNaVL/ZMKE5kaCiLPiW/1G\n6FDuXztkZE3DwbBHzuxBFEwW77GMoi4uLevSud6szCO9S1KSq3QgDgCcOcZj\nv/OHEvEpdD3WfgJTDEZ/eGaA+Ia0gmnF4CewLwNsWNf/zwAxZHCMH85jnGt6\nhy5NEPtahwzYEuMghgCvoIusaUd4KSuFgD4uHC4fM2TMkxzzQemI815ihIH7\nfO3xdOG6ZFoHsDva7tLcg68CVkatXq9dT2sLlG5P+JoteELnK0oeJLJX7ybo\nNY4S7Fov815kRC+WJLmVYaeDaTk/DnC2FWeZx6oAPobdn6er5t9bOhUX0nin\nal0j5XrzlARe0K15v8A+9LvVTvPgAdQE4My9NPFtbFpA7UlQV/G9zlQCTFUi\nELwP\r\n=2WlQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2ea346ccbcf8fe2cc90f893a510a194ad4f67356","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.51d4535fe.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.51d4535fe.0_1590528856279_0.7814821575584254","host":"s3://npm-registry-packages"}},"7.0.0-canary.b86d826b7.0":{"name":"@material/dom","version":"7.0.0-canary.b86d826b7.0","license":"MIT","_id":"@material/dom@7.0.0-canary.b86d826b7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4a49a81180de3096accdbf9f869d32018e019498","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.b86d826b7.0.tgz","fileCount":28,"integrity":"sha512-bXFCBZOnoYOpCdJ+KrMOZ6VNKGUdvzNqgj+ll+gJ0zGkQAelbpRfUJACqaO9V065LzCR4trvdLtnWJP/qkaBVg==","signatures":[{"sig":"MEYCIQCxRlmNw2z+5JqmHcBiDTCvzSTUG8XDg7Zq9KF35NkhggIhAJVp9++qiYC76hjHsN60BxkT+PLgtDpgq68+x24UBKmh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezZR0CRA9TVsSAnZWagAAzt8P/jPeWlOcdQOLm4ZxuA0A\nsuiOEaZoRvmLFAhe1stPfYn6MQX7qeqHH9peatRCMGg00Svy0Z3Qw29iOp2H\nBQf240+yo6cp+1cQjBzmm+4aamBRoXQ2vV2i0gqfbOT8I8eR+zb4uKT3+Y6A\nTCOSESW+Hr4IHi7cHzcU+gVE1FLXrcA4ulpR4yYaJSZlJlhTRcr71/TlrAjI\nZQESCGMp+jkyUCg21wfQA20wSjWrSymz4QE7WLc+N/VWWmOKdcCXQk1tjkWX\nCcyt6z9Qc4mmMCyRiqSy1qcPt647nN44DwXpuI7LbiufJN8oV6cdAQaeWF/+\nMMKrh1mKmEAqsi8HCJzIY62wZqAC/55OtLlq4guRb6b7/XxfhFq0d21Q6ZmM\nmti42P43sk3V0033T9chDdkjk03gftPp1TdsEkR/Qeoky0VdCLGknWN8/8ja\nwCh4VrGEYpr1X4nvgl93B8a59wTzxbrJJotQlvGALp6DpLLzBP1tFO76pgCb\nvhJLuVlA90iRhMSKVE7jqRfqG69u2zeFstpCw5v3IB/tXGYSfwCSIL2zk5ME\n0i4Y9G/JKaEA3+1XB9KvF4SZtdpMEZnoDgL0Qz0tgf3DBhDwyhM/PJ/ibFXv\nwYKDevc5fUAhLDjlrrw1t36t1IDkKyyhPOaayWcw47oD1jxQuMsSFkRO7NMc\nVrKU\r\n=vfEZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2b22865938bbce871e6d1ce8ce0129227142073c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.b86d826b7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.b86d826b7.0_1590531188402_0.530836371079004","host":"s3://npm-registry-packages"}},"7.0.0-canary.d91794c7e.0":{"name":"@material/dom","version":"7.0.0-canary.d91794c7e.0","license":"MIT","_id":"@material/dom@7.0.0-canary.d91794c7e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a7c8c32f9e9285aeaa35637eee026a5bca53ca3f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.d91794c7e.0.tgz","fileCount":28,"integrity":"sha512-45Ghprf2KegR5n0ge2jKMr3tg5z9WqKauVhksBD/CENfKKlAFpHTWa0dhjq2FhrAsosDGt7bqrtTFqAb3H1bTQ==","signatures":[{"sig":"MEUCIQCVgHf2OshD/d7eOTkKQ0NeYe4baxGIBGnoSvoxsNfWgwIgdoWqJSxXgqIwXq+7lLIqILELrml1fZ6uQHk755T14JE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezaw0CRA9TVsSAnZWagAADHAP/04IJXsuIcx+CRnygas5\n/lwOinLyjdD+lDwFo0aBursl+AmVMZ5VvjsAyfRpex3938qMD3oG3mKyH9Iq\nkFidY9ngBpTPA7Z4e0U2wAbkmRuPg6jwZNhdNTsH1RlwY8JB4744TajknZ24\ni49Vj2HL8DJ8SoIr/4UOYizbV/2qolNl9IX3+Izk/VnZQ6zZ7VMHLFOoY22A\nLNwjnERm0n0Umb3MH2pNrn2vOWqdweEGUSsDXEhpC7hzenCFC5DuGs+/ivuB\n5Xm1NgQxBtHcHm+8ri5SnaiF6Om5ihMzPBUpj3DIvMfYiixKKPthtAhkP2EL\nQRoDdWwhjpRcX77egC/14rNPy2OkU9/1SIZ3rhgQ5SutvO/ZzgDXwhZJ7NPB\nGPCjtHqe2rR2s41jnelqw2knvM7rt+WQJ+WpoQWIsBfMZE5knkDA6NyRijPh\nJOln8I2GCJZdrXzngfC1sVC2A1C6ZVj1mJq/5+fcH0nBG73XLO5GTdaNmAYZ\nSvX5gwl2ULFaziN8s8m7sokNJEnBkWlGTLvX2QNx5A/3EyJJu9fVMhkHrUAk\n4jwUS0gtatGAtAw1Tdno3+PQPkZTyeZLC19SedZ8tSkDqg7qzWEser368clX\nmAnECN2kX/iqWiwBX2GSvreAhx5C9cNo/bTR6kVom3s9DrIUD4xT/2ZQGMFE\nGWgB\r\n=y9Ty\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f931cc9789364ca07cac4a17cef0a225bf43c168","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.d91794c7e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.d91794c7e.0_1590537267579_0.9655401226718971","host":"s3://npm-registry-packages"}},"7.0.0-canary.8c6d7e076.0":{"name":"@material/dom","version":"7.0.0-canary.8c6d7e076.0","license":"MIT","_id":"@material/dom@7.0.0-canary.8c6d7e076.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6c75d2fb877b6f7d05d463012d63412eee2aa117","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.8c6d7e076.0.tgz","fileCount":28,"integrity":"sha512-tp//yqJAy0r8pMvmFEFUkUljoq0/dYoz/2A/LNAQHIQ/5plmKLOS1ACKT9xGm/oZ3QY+YFBTEiuTJ9EbTiUq6A==","signatures":[{"sig":"MEYCIQDERDgXrvzRSWSR0jke8BAcYwwvi1VBwoU8IXvBj0FGhAIhAKRhxsvJKo0+l6doNSLJxAB//1k3o5Zl3DkL95cgo/Ez","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezrhnCRA9TVsSAnZWagAAlKwP/ROHY/WAteUEjZBfrDqJ\nrk4+g7s/Le1f/lyqC58GALB9z5d/PEeTTB+09PsnkM1H11CbvRTQ7nCTBVX2\n3KydO3aF5vjueKXLkvuc+SWi3mRsYkzuLG8aMvi81zRpXVS2gVecCWM5dKBF\nFhqGd2/AD0VLKUQHqNG5zI7CkLc4SMCnkBdU1ScQgOYFvm+4LZCUKC8ji+DC\nrX6S21JErzIkaNsbQYzbx4iB6ki6rKcANCef86TCgrZ2za7hZQZFAZ8bKGH3\n6N1jkW5WEU1SurDDVXel5kUzoVTnTLCPkkMj/M0dTaXAsYiI8QYATpl02ghj\n9/azOhOBCRbDKe28/1Ouw/q8diNl8JrqxQ5gMv1bQ/NHJa6dlVhLJhAegkTX\nZwqRzIM9Xp4ysxr6NdWdtqmNp3MRQpFRde9WnW6VD47s8bIP4Gb/cFJZRgyk\nBtIGLxcoD9o4XSVPhJABtqgQ0S9BiQy67m8rTts8G8pc9HTnA3/i/uw5N0Uq\nLe6CKziIBUX7tAaeVCk/zUHmxwwXAu9M+iD8V9vrd/TTUFOk40L9zxxmx4ab\nLg2mijHAhNVwVjmF4GgKjJHXFHgu3h359xzbkerDbjNJw0t//DJ2nfi4MX7j\nYc7lXHCUy/5iBU5bghz+vcxCBjMsEgCttQp63DFSWm5lPLUzl2pTTgpOyCSp\nX7xj\r\n=SB07\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ca2efa9bf20bd3fd24c7f6ff263721fea798614d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.8c6d7e076.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.8c6d7e076.0_1590605927449_0.3837455936002714","host":"s3://npm-registry-packages"}},"7.0.0-canary.5b5f62f93.0":{"name":"@material/dom","version":"7.0.0-canary.5b5f62f93.0","license":"MIT","_id":"@material/dom@7.0.0-canary.5b5f62f93.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b5c4b19e42726bd0ac41d7732cc991c6ffc91091","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.5b5f62f93.0.tgz","fileCount":28,"integrity":"sha512-TE/hU1Wge8dRLkS4ftrFtrByonwizR9V5nGpdo9jwGN4XWwuQ7r6+/BtKTWW614RCze8VTB7NYE4IUwcHaweFQ==","signatures":[{"sig":"MEQCIEp9JOW6h/21PhJUpqf6jlxppn1f/F5YZg9xztsinpo+AiBVQBNzZTmXbifx+T4F5MurqUVd/d3OexmqEHjt7LDMcg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezrxmCRA9TVsSAnZWagAAXRcP/0zCFIpslWapiKh6K8M8\nTD8+jDZxs+LmSMALn8quBVGopWkBy12JaRdJOi5HqIuLd1grpLDiQJl0zsYg\n3vHCLek2Hw0p83b9GjONnKaRkf/xZt0G04Oa6bm7HuvF3RDZit68luyF1muL\nsLV/eoec8o3pXBi366cWVJdYoH3DTG7c/c+0KJhShoJUhgMNhcPMOWcowOsx\nCUCQRg3/agzgdvOhrEFN6FFrh077XPXfQSaPY4cVzU1eN+YS1cmX0h2UD2yu\nbu27tDn20KUxs4Ogr+BWI6fHO+JQc+bdmoyOoFoPFuO1yLumkPPQapX73igO\nMUIJ7EW2drJNPkiczkjxASXXdnrugi01eIgWUSstrD1GvB6UGbS6yBHPumcp\ndLoc/kGQkElKbmjgrH/lFRskFGKF6nv0RSWXsWYpujWvkVQdnXn22lRr3U52\nofSFTXNzp7vuNAm4UV9Re2u2SEQgm2ZZ9dq2poWQ/oSNt5NJLq1tSfWrHSlb\nqRK5IeQem6KnlFZMyM03d5BqMSK9/ed8yf2xKdfrJbWcGPpyqsUGBqYCd2np\nVUfm4Dr9RLH5nB22jnJ/6ZF8luybGyRty3VHMiAC8k86RYvdhhmMHbzAIZZu\n56SX9WKW7tGQuRXwcftddpTyjTEXr02W2K7InSu8gJlQ/7FgsWPvSROVrlm2\npyDT\r\n=9gEC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bdb576423b0f8020c453a5473bae420ee287c240","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.5b5f62f93.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.5b5f62f93.0_1590606950221_0.3124386397311081","host":"s3://npm-registry-packages"}},"7.0.0-canary.d9972abb1.0":{"name":"@material/dom","version":"7.0.0-canary.d9972abb1.0","license":"MIT","_id":"@material/dom@7.0.0-canary.d9972abb1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dc14d07942a55591928a86f707295d2c6ea4524d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.d9972abb1.0.tgz","fileCount":28,"integrity":"sha512-Q41la5mWgSotg0lpG1Y11HLfjhcZw81MnXmO12ySZZ+kCVFlw41fHeer/DqvEjCJJHTe++pb8AqcNjrb+YNrWQ==","signatures":[{"sig":"MEUCIQDak1nrzJq9bhl6fAFVDB4fc6RNmsR0Cak/U6HdB76hGQIgAtFtxWudF0w5ZaICBXPhWuDxrilOdeSniOs4osujuik=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezsuCCRA9TVsSAnZWagAAb0UQAIda+Ysx16sBu1LJT/QY\nlbitkzTMjYRXWh8GLT4gwU9Sx1dkziCLs50kMsCwURRLKh1H9/gzQqJlg64W\n/1i/v6pM6Lu4k4OxMhT6sJWpLxlN6azplZ69yFSOSs4y/jNyuOIDhuhiUQdi\nnxdpTqXGJ/iMRBtsW6rqL+oCfxzVwxdn0p/5Nzo+4fhCV5U9Q3m6Xt9c3Ngu\n9miXrzjw8JNC517Sedb11OZ4soMJL0Lbu/MoAprLTr9/g4y4gTa0zg4xDKbh\nHee6KnsGh/lcX+/xit7yGIjJtnBH7BO3JhWZTKtZU6WJfyLjdQhMb28cnltx\nk9Vj9oBUGubR9sV6GFezP3ga80Khh/6glrBEEVmak5u9CqnCy7SvV8D+pjtk\nTWF3P4vvy0t9XNdatTB6TD9qrkhi4lxHanP2MPFn7HsrNdN/29+dF1cjHMOp\nrWQ4o92vpMIgmQchQ/57jiwmhAtShwxChHKG/nA4JbjTTkLv7Uz7u6xYKS/F\nNhFwz0ydRkLtvMU7Cb5IRANPzL6BFboxrU/QoSqE+jyrseAZZS9eh0RMOfIE\nHmkCwss5xPy60yeF0vkx07XVFbPHUkuSSGE4apyspHKS5yTXg50n8hn6zjP+\nKrpn0HtuFt+EY6slp/sXuzCQL70Q0RP3fdOksgPQfK0LNZu6ny0YoZnw0txR\nb0HN\r\n=5AJf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3db449915645c45b366327c8152342a34f1e10e2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.d9972abb1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.d9972abb1.0_1590610818261_0.2565399083199267","host":"s3://npm-registry-packages"}},"7.0.0-canary.6556eda2b.0":{"name":"@material/dom","version":"7.0.0-canary.6556eda2b.0","license":"MIT","_id":"@material/dom@7.0.0-canary.6556eda2b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dc0f9147e877f6f3bc98d04269ceb8a997ed1b6b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.6556eda2b.0.tgz","fileCount":28,"integrity":"sha512-1mGkikxCk7gtGAIBBJuhgVmWiCsUdhogapqD5QfYS1pOLkrD53ZjZDS0LMquBkrd6J6Dm5EVzyNRTp9Qfw54Yw==","signatures":[{"sig":"MEQCIFrK+QIbMbytnYuqK8smG9cN/D31GO4fMFbWVSzdX4eQAiAYaGY9QXamU9tiQaGnWY9v7utO7r8YtbY/5nuH2WslCA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezs2pCRA9TVsSAnZWagAAS+QP/R4oui6QZoOLkb0o4sua\nqB9bJ5DyU+1w1VzAnUukQl7KXN2JgeabImmBLDK+U60GvGa87B9YucIyZzrP\nxgSkjrRCuV254/mfzOd5rZRT2u6A3DtQlyZ7pntvKPPS0Ea3V7TR2NMfJg3v\nMDc/grHrlaH5aFzv/Nd3PhZ/zk8jibR0Es3PCPQOp2ezPmcKKpyYdE4yzoXK\nnmTUuZYJeIbJCWEFM0n9TAkL04SdsY8H6S/sKbiQWzOK3GToWcUYHD8T5F6l\nmpdreruCOA9QHUEqJIX1Edf7ap4yPc6lvebso2BJGSkRQ8J8dMeedj39kSPB\njel77T6VT66BHUs40wTG3IKOhWlnSvjYNrA/sUZUlOqfoJzYsOuiZrABEtC6\nDLL8FcePQdNoaJ+KTwSYEbXrcGyRqhXsaa9JFbmFcFqkHF9BWsvC6ger7TqD\nc99HQo53QtYVSPwwnVYTxywwneos25mQtaMmhh26AdmghDueAK3f/JOxnIG6\nFbvQ9AaWLLJkm2Af5M0g/1IsdPlubeyHdTVg4NZdQzxLjJoiquFF4tLaQvhu\nAerULOr3f7c43s6ii6x76r1QtGZ/YRtsP4C8dSwKH6mem2U0znpT2jo/nPHM\n42BB7oSeSVA6MObyv13yGwtLu31gVBXnFGbncgVV+ePctwYi2A0CyITQWeod\nYD49\r\n=1cIH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"504ec59b4b401d057e70ba4bd1bbef2f87218204","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.6556eda2b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.6556eda2b.0_1590611368641_0.6482328581926269","host":"s3://npm-registry-packages"}},"7.0.0-canary.32aa23641.0":{"name":"@material/dom","version":"7.0.0-canary.32aa23641.0","license":"MIT","_id":"@material/dom@7.0.0-canary.32aa23641.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"946011f2d8e4cb476b8de1de3fccd51d6f1ac3f7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.32aa23641.0.tgz","fileCount":28,"integrity":"sha512-CbbA6VzWHdzl1b/UCYbNdCAJJk9rdnzC3PCYlHXSDianZTkKEfHouzstM22TcCfiQzpkpU+LeEwrI8nTKWX99g==","signatures":[{"sig":"MEUCIQCdGOBn1KL4nQGt3z678yc0XjGujsCD2FNAKXvoeAxU6gIgdSCSqqB3CpahwPuPVcD0FoUqs3J4THJ+CjhkALi9boM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezt2oCRA9TVsSAnZWagAAD+EP/1YxMOd572+ybMXV9Yly\nEmZE11k7nzTx92vMRXVCF6kg9HmIQylBJWnro3AFBp4DAkdLJdyE3tgh82ud\nQpUoNxlR6DTaHVZOihKkMn2Qywh9cK1ny41nr0ACluSU9+L03WsfDR0DFw8i\n4thiTJNT0w7HDuINrDxvCMEBtYkq/+AQrSbeOPGdwbpvgXNp2zSxe6Gl58V3\ny3Ag6FLacKI3z1kh1WbO7lAwjnG4hTfwfk//Gr3R+CCpPSiICNlXe0k52arp\ngL/pHqBzVZRQm78dyDCkc0Qr5ux4KA/ALTEFRBhHqwk+IthUj3j9YHZdGqQK\nO0m/r7EGH3eoCRypZM/zNT5FZ1gJJ9rRuUi5em3mCDVe/+nZlTOX3NH+EUcS\ndpjHmC5+e/N0vFaLoWyP7psL9va5p5nyVfh3AdE+Q07jLhKeOS1wUABQZEXt\n7mL5xNg+XRqsQzUXWpzQ5T6FPUijXL3E3efVmdXsoK2UYX2UPK5BVNmQn9z/\niGYFLfFs8/OJFaMhoSPZDNFSfQxdara7PnfKQgmdZy3MHhxb4H9SGmwHYod7\neVlxPMvVWh9P6jRTYTtVuL22GI3KeQ8ROSFsJbirqcxZFDfrnFCM6YdmQ8AH\nBGPTzzy9PBFG8mdbHqHOb+wyAlXOh8o40+GYS48P0t4vKtr6582ftWo54mLG\n+DFq\r\n=HsIv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4cc39075dabda7fb76257a3403f0bde13084b87b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.32aa23641.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.32aa23641.0_1590615463789_0.6480044554186137","host":"s3://npm-registry-packages"}},"7.0.0-canary.654934dfa.0":{"name":"@material/dom","version":"7.0.0-canary.654934dfa.0","license":"MIT","_id":"@material/dom@7.0.0-canary.654934dfa.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a8e7ba4fa9c1d535b4171c61cf3855d9c8b45133","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.654934dfa.0.tgz","fileCount":28,"integrity":"sha512-fLCpWOTu5ATfReVR97ca/vkiGlJ0SpbOSC/Q+l1puTwoH4c3WgNB8inMFw08pA6UAcdWg3c6Kj95xBGde65f8g==","signatures":[{"sig":"MEUCIGAIXugdSigyCNXrRKyBCRmTNjCir0m3iejl5UotJMqxAiEAxwN5nwQh6ahFM0IVL/owcu/fzzGrhtX3MtGTqq6E1v8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezweGCRA9TVsSAnZWagAAw6cP/1QL3wfsKaHU1vMkYWDE\nyVDDurcxuV0bLzYnWhiMkzsqlTIr3BNUVH0pBL/F/3vUP7zhazh9NfkKO53t\nHdkY8Ivh9L8mhZSFj6Sb1Pb8BSToMBKn74LPT2XfWTaODlDtCLJDUpTVPHfT\nLsen67twdZ14jye9jokYnyxpEj9IaGb6zCiGKHEre+rH6W+/bUZ+wlkS7BLS\nKalcr7HyRBzcbcenUhaz+AHhdml03ODSlXri11JyhX2DefsgsH1+UoWZQpdL\nA8MYNsa8y+VC3E/Yq6OgKsjW7BJ6EDyoSNcg13SsWKpFMKpwzevbieZqVPL3\ncKu0ih89+XRmFZdWa0heyfujWnh2GS3ikvrEzr+BX4aB1OG5ZNzCIWTURP0h\nFOmTRl42gRf5DLG0TLd/65h2sU0SD4bNRXiheZUpWHuzqtiq0sagiHBeH+sl\nfOYsAOyYGAPzabgjpXxZbEMdA1rO+nW9DdX/P1AiggD6X2atsmQIRuJ4aRO1\nNulx7uy+YTLgZCephHDC4uCXh/jP9BAcKWsjKtIkhcG4aCyQYg1MRSJXQ6MG\nKmVPATVDfNG83jFQCh5dhNMdT1fCfV1QtpWiAXrNWVbL9cEzLV+PM+VCZQQz\nK2IGxOPce864Eh0sGTcXfV5+e2Rvh9D+UekLg+qODqVm8hHurSqYhoJkjkJE\ntDOz\r\n=rRjv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"99e56121d157a5a30949b826c0d521a365a1ae59","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.654934dfa.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.654934dfa.0_1590626181916_0.5572341332054012","host":"s3://npm-registry-packages"}},"7.0.0-canary.41910b8b8.0":{"name":"@material/dom","version":"7.0.0-canary.41910b8b8.0","license":"MIT","_id":"@material/dom@7.0.0-canary.41910b8b8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"45d0a824f33ebaa1750ed6ab0457f4bffed27497","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.41910b8b8.0.tgz","fileCount":28,"integrity":"sha512-jDFQ2lJr8rsoBzXrFk4YUQbFTFpKnbtkPFiYJiNbsWrN+kiPZydKSsJhPWfAZ8r+cFY65L/f9o9gIIIg4eU69Q==","signatures":[{"sig":"MEYCIQDukuY+OcTnQEYPP+ck8LGX79fKzPVgLGngNwZwsW+iTQIhAP0ZoXOb3RFp70rMEzfL/fdVfdxQY2B+9t/aJ2LDw1ts","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezwrqCRA9TVsSAnZWagAA6PQP/3+7vbq6gjRdPQW1nbiv\nscsS6DI0WZzUs65wOgNfHK3cpuuYggB7HojJmjjmMReVOMmKlclC4aBiGNZQ\npA7u7RRURHNuSEbpnDpDu3syndFHUxZiPWxBhL6BA2rgAwH+OnZFbRb+3ZdX\nXGWdTGTX1lfe5ac5AhrS8DkCwWAEpm+0p7hJh80VimFFNmD0IcUb7YHIE9li\nVrSdVoxuSq9fMbrjpEBua8J45Oq4GVy10Q269TZ8tXObj5hMsmVDyRYTRViN\niCzG5VXOBpXiQ8Ja/0WunoQnDyyrfrjs9uMoepiOtEJOT4C7GV8/+hQ+sZOh\nBF0r0vQkcPy24WVVWejU3YitFRAvJCpsvyVJyfcruNxZ6yBtBM9YqcRQ/lCO\neEF5pyBxDSYetA/l4QftWExZqvaZXo7vNZlowfObHeA/ilO1x54ghe4wXBSA\nFyaWChO7H4vs8mYX73XKMbSyyqZ3BLI95ciYMgXffI/K7K+CvifeSg/zIs4w\nTj2fAkpei725GVgus6TnlpP4atXwiqwAKUVqSG4hYnyEFX/i8K8t1JhmW8v4\noYB59qspgHRSJQu23DFiBpqKMIoRD2pCgoe7Nf1WrBSU/s6YmdOQ3PeBX4mq\np1UgcNOGwN2TZq+i6wPsoh/9qu/1mM9KjIvFeOjObTknzqrZAk/oY7pDNZ6m\nlJ6h\r\n=wFwP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"14656d5f31e9a410c15eaf9b47530d57a5901add","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.41910b8b8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.41910b8b8.0_1590627049751_0.5977041587089817","host":"s3://npm-registry-packages"}},"7.0.0-canary.d66d22bf9.0":{"name":"@material/dom","version":"7.0.0-canary.d66d22bf9.0","license":"MIT","_id":"@material/dom@7.0.0-canary.d66d22bf9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9854cbb03531295b0be259d301751d65f80ef374","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.d66d22bf9.0.tgz","fileCount":28,"integrity":"sha512-ulD2gB2FhDSV13JnIjJa7ACuQwrImnIPZVmye2aKY5Tgdsex2IIOAG42+91+Oq4vBrDbNnWcCUxBv2KaT2pgTw==","signatures":[{"sig":"MEYCIQDkrwtWAkopYrEWHNBozPuTqZZB4gdXMBRinfyObOEy6gIhANNx17y6wIq0EJAnUPbuXWTULpziwDyGdM/hXP+o+fbL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0BcBCRA9TVsSAnZWagAAhe4P/jdL05uxLsmxS1w104uS\nja58OQe84Fhnq853m4Q5apoY4Wn1pC2rY9ONvX4P6ZF2/M5yBZ47pgB7z/uP\nqwWDSV8XAC6EZ/2HA26IAw/rO2Z6kzZd5+//DwOcWXp80swOOtIhJFXDZr0t\nxuII7SLPE0mtExkJu+cHusc9sumxMk6Nj5ihD6Ca6D0xD/q3ncHkHYbpMiqJ\nepJ021euJkD8Y1j0tFc1pxno/krjBpvFW756Vi8y9gjx8KLJh2EvAhIvRs4T\na6OJloy8EpwTyVcSWiXLe+ZjdBuyNnoohv4mRZVM0gkfy5RixmGD/4/Bxk88\nyD4JbjPAV7CBBizAUCtMXGUaQl3y9inzovF53H2V2eEHasTprz4bQh8k7GF9\nare/JetheBudhzTpmNINgsgGCAODvjg9Rb6QyVrRfxia56kMfUn/KPVT/2ZR\nLLpQH4c7q+3TN7s8Ysl5iCIYGRdDn6S/Q+PkzipEfcICN+DF+hiS0ot7MZ6P\n1hwBTZ358WVvPjbPfJAXjvXXsmjZ0dSN9VgqVIixkUfyrHuWAXhZSizSjl7D\nmD4bKLKX3sq6Ndy67GURYLA0pWo0HMNfx9XoJE4nHdTAnTwf/s+cXymw9oXa\nDK6vPiuLYX+TRyrSZ4k2MXbzxK0flPwo73Td/k7REFtUKvYcSNFQTtaNA3lk\nbxRf\r\n=hOwa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cc182def4daea4d871df41985e6d893429174b3f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.d66d22bf9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.d66d22bf9.0_1590695681123_0.3021779608264714","host":"s3://npm-registry-packages"}},"7.0.0-canary.8904f3cbe.0":{"name":"@material/dom","version":"7.0.0-canary.8904f3cbe.0","license":"MIT","_id":"@material/dom@7.0.0-canary.8904f3cbe.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"29a0c9f8fcfbe217e6ee5a5dd689f63216cb6485","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.8904f3cbe.0.tgz","fileCount":28,"integrity":"sha512-2vDk+oUmj8y4AMHVZDVFDfV4gqFU2rbWRwXYLAed6DKc71huwdCkZnqy/0GmifwsQw0MIr1ZruvNHb9+bd+rpw==","signatures":[{"sig":"MEUCIQCNn8yrPk4FU4oVZWyboub6Hf5GcrK8aIViwiMRvLK/RgIge6k5nE8Kukj/Z9TYOJyqhLB5xMTaby9oVYbdf2J8I0g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0T0uCRA9TVsSAnZWagAAHAEP/Akjced+/6Jc/iFQ2pIZ\ngpuOcUy4a55d1bt27iG8rXRh/3gnU57j/jSK7n/mHBWH4XmkrKmCOMLEx/be\n+XH/fUy86Jr4Nj0GLVStprmKPM1Ery7Jj7F1jspMMWGMXFA8nvS+FWg5Lt2o\ni6u5PMLCBotoV7K68k9XEwq2iLE4FgvDDRtAwhT09My4BhtSFFyDhedDHdZ7\n4DRonUVL6aXwIvxEDjDhdXAu2hxkwpOvzzfBaT5YIifSRJHNqXvVC0OQXiks\nZtJfQh/5zTDl27dcreooZYjppjgb5bp0cyLvKzzeX7gZqS3CvjX2gtmZ7yCX\n8gedY/wSKASWkXgLJSljrAq/OJIthwbWmPbypk+/G6WJm1vlhITuI/aQOdOP\nedFfFBdaHgSP8hqFCKKsVSgCtsIbjTJV+3ekwJ+zOrFqJsthNwpWzE33lUqg\nxLn/PyoJyw+VoeDttQVWo6O6137z7hY1m5GsWxWzQb02hp0PV/TVoyJcYKPm\nkDz6U3U+Lq342LJauSvkmrPSrTvgoZFmV9PMGIEsBWn92p9UG/15MKoQPn8P\n4xKCiO9CECDpaMzpUGjhdlabKUYoGYSrphfHshM0tmBizMJe5r5TQzs94IC2\nqcygErHTsJH2TReEN2vhwuXc3asNRAl/uN+E6fWQmD9kP+Hom7LKceqkEv83\nIzwl\r\n=PKXo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f78dc612af1ed0ba397842886fe5bc41e32f181e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.8904f3cbe.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.8904f3cbe.0_1590770990316_0.6898388908083852","host":"s3://npm-registry-packages"}},"7.0.0-canary.51512a4ac.0":{"name":"@material/dom","version":"7.0.0-canary.51512a4ac.0","license":"MIT","_id":"@material/dom@7.0.0-canary.51512a4ac.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f2f270997e9393912de0be1c48fe61ddac5c71bf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.51512a4ac.0.tgz","fileCount":28,"integrity":"sha512-XlaHrECKtwGNQpPyMDcc8Woabj58rNHxkSnWaGhslL6UAfXr1NXIgibs/AWBB864ue3BLqS7WkQyW2n78QYdIQ==","signatures":[{"sig":"MEUCIQCi5GEvySSw+IDCLBoy9bbfENtxTjkYJvW1FgkxFDMGXAIgSrLWrweLS8marZ2+Mcp87/D+gvthTt8+COIuHPhgr7Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0V8aCRA9TVsSAnZWagAA34cP/2MfWUPrcrodQinv/zTJ\nfPhWjnefVn64u4z0SWCZ6xN78RWH+ewPIrkziSubrQKlFZUtEC2BD9BRyetf\nuJeKB68PepKTdKDnoz+gmbZXW+c764Amx1YPTfFSzHzDYc2tnWPeBTwKfaxq\n4Ro6sUzrCpRe1Zk0tgJT6kW87OelduJ9t8+Da7O9tdhYk8XyrXCs/grNKH7q\nr/b3TfI0cpltO/PNtjf6wIydCU3dJDWOXmTbBjfWOwKnnTmmLJ/Uawn5cYpT\nPE0tDKPseUigpxmJapDNzdNrERQf2bo4lkXGLoWJmWUySNKc/ReMQDPyrHRZ\nHLYEJ1TJiYVw7NLP1QU6jKBOgPfXs5gPUuVykh6Zrv/DAq9BRpQjUowIxxst\nCyMBPaMMDfZNaMqP+8T5qwDe32XuCyD8ipbviQDRy9MUGTf1YEafg/z95FKV\nT5w/poL1wnFv5YYwLLxPQKywD/w0/wb5bumASwcV9MtnLDAygtu9KQwDWv0L\n7uERYYL24UmxSKhrTd18tqtV8h/zN6lSJoZlYlAdv/IgdIocDu4WDBfWYq03\nBxxnnD3G8be8pL2sdu4QqwZR8JNSgHe1mM5E6gfO0u4sz/MqFG5hkWIOKqhg\nu8tM+6kzxZkJ0ysPkuwvQoDgUTrGVeHPnIhl9ilWFf/95vrM9NyI7rOJa439\nPsWH\r\n=Wc7f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d5115fe8118e1e2bc71fc7a491f672b079f281ab","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.51512a4ac.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.51512a4ac.0_1590779674223_0.9308022647217675","host":"s3://npm-registry-packages"}},"7.0.0-canary.0743288fb.0":{"name":"@material/dom","version":"7.0.0-canary.0743288fb.0","license":"MIT","_id":"@material/dom@7.0.0-canary.0743288fb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1d1b89603f8d36cae4555b9bdde7c99b2ae14e36","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.0743288fb.0.tgz","fileCount":28,"integrity":"sha512-+dup6K9qkQB92qOzqyb9PJeqk5CqZNuIHnHFIbpxRftTdpNyc/rdDzbclncSGCRrHSqs5kK8aSJdrw8xhu0Rmw==","signatures":[{"sig":"MEQCIG694f+aG8K3XEB9U5dvQtDTSXFapGGN5FrCJN+qbGLKAiAwd5cMxaWq9a4tZgUa7II6DPtKCHu07XsQbhEkoWHb6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0WrPCRA9TVsSAnZWagAAM54P/0d9atzXujJppFWcNCgC\n+C1OL4QV4QCmTZlJMiJcT32SQiJS8ftLkyvx5OnNnVHRWr81rm3SkBnFXJ0t\neVZMV0lIao7MELfZ/DzZGkVUiTpwOZ3GGxJnOxxksNERpAvwMECeE1T5hs3z\nLDZhfS4Ks/MoWHdlGrTjkwgn5vfXffjbKKDSMwlh21752HTWKW7ZBudZT9NX\nsawm41PsUifyrc0LnxdhKc6Cymu/iAvCnCp4iTzcF/5e4WheJasgUKvPD/sE\nXEwNjdclC7q/FMecucNTsLToj/gjVsIajPK7RRKRNCwxNX1liNqQdev1aI3H\nk7UwXYF/9i9WTU7lu9tPO9JR9/Uwj7TT97iv+8h1LGSYsH8KYz6EqUdrJ7go\nbAovZdypxhs0RPTetkvjto7dAfIkes3fZ6PTHmfUdSQRvHwLEhWc1+06unN6\nIpyH4o284+YR0h2jZzqkNp6UBHzt3dCSWiA/ImXy6Ifp4l33mUJdo16PsSkf\n2ekx171jfdlzEUtQ3dRKUrF6jieVAsXgVYboh9W9/0IWUsT7OYn15CeSx0bp\n4EaF2KFBMp/4c4Ior8qC/wwgMyvkic7KHcRRba9sIJmnKAIxe1gdmQPgIQX4\n44coOYrBJuiqKR2Dg9UKyK0//PaWeSI019ZzzKQh5GRbc69v2yOqOrhFtshj\nxWxx\r\n=bhuP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e0c92eea0cf28bf0f2367fb0666eb8592ef2f8c8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.0743288fb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.0743288fb.0_1590782671328_0.10768719199617816","host":"s3://npm-registry-packages"}},"7.0.0-canary.06ef147b5.0":{"name":"@material/dom","version":"7.0.0-canary.06ef147b5.0","license":"MIT","_id":"@material/dom@7.0.0-canary.06ef147b5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c0bf837f3a569d85bf1b118f8faea293f31eb473","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.06ef147b5.0.tgz","fileCount":28,"integrity":"sha512-CJqv6nzskOePGnS/98HfAQUZESgNriiaalvCHzIIxJgNs4Pt0QEobf45Yzgn2zCVbMmv5DI7S/V99Yx27BSfiQ==","signatures":[{"sig":"MEQCIBAk51dznsSjkhlYIBofv6C9J9ZES9/GhKCs1OW2jdntAiBp8wXfvlRH7oNEtd5eDSoQEFV0WlfD6OsbTGf2Uuyhpg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0XMrCRA9TVsSAnZWagAAsHEP/jekyWPPghwPJ0eQUKQz\nIlxbLpd9Delnx0DqdP8iknLv9EUTFb0GEuSRYlGVwYXWUGB89LqU+gjCq0Or\nLlJtbLy3mogVS/lq2tA9E16XAJMAiXVrdeHOH1+56ddQRi9Oob8n1sJCGyvw\nFVzpyrMkaHd1YrTOT7sO91qOA+1eNqiu4JVGs+4wpAJ+kaTCjojTPwposfad\n2GzJ835BREfoheQzWvV8CIz/lOLyjKFoWM+3AWpp5Y0NVWXUK1t3Zsy0XLxC\nEX+fmy532MnUzohJH4EGVLBw30XzYd6REojacPH4k+QRPTgx02HjxzXS8S/A\npKdQxzctEbifFxSHjqxAZiKfnFL1VnL3j3XrLN0E+U8ul/PGX4kvtZuUxxhV\nuj/tr/gXp/AK13mpzJZDlpa2GfrMGaIp6AqA67rYwkRKQ+WTFhdt0TX3CycS\n2Dpior6Drr2kjffYk7c0s/NJ4JYiMBfGV9CPoq6uYN7Vs/DhcTGu/j5p2EQQ\nVH1XadochTxVF5XVwKWLVJA4+STZzptcu9zhV6+W3i3uLwlczMIiFBvgAQ/3\nK77xb2rdEPTVGksyxkqaMp4uVaEJmIO6/8p9QBWCCq6+4lsA1MEKNlK3LDeX\nOPF/edV8qtHTyz4dXJH2urndUcPjog9rE3PmQk82IGSQ7KvdCaY0PiCFJsDn\n7TVj\r\n=YPe0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"43f043010a4682138cfe1d453ea0460f912fc2ea","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.06ef147b5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.06ef147b5.0_1590784811017_0.5458747443572272","host":"s3://npm-registry-packages"}},"7.0.0-canary.8073a20a9.0":{"name":"@material/dom","version":"7.0.0-canary.8073a20a9.0","license":"MIT","_id":"@material/dom@7.0.0-canary.8073a20a9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5464a0daa4831a9ef5e359c6286bdc78132bb08f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.8073a20a9.0.tgz","fileCount":28,"integrity":"sha512-OGBbnUq9scHxgduFiJIbX5IGnWonZRKF0O4F6HUcvU3NguIsHJJyDhsvhHyng7jdVCTek0G15oF5sKlLShJJ+g==","signatures":[{"sig":"MEUCIB++vdQ537jPZQgPiJx/BNA+kyD7DHmK8nNCtVeMB0fIAiEA/gbPkFBm1jOGlbdWKsBm0Enn6v+LuFFRRPFFeJ54Ecw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0ZnPCRA9TVsSAnZWagAAKbAP/08hHntZ+gxVxYCkWKFb\nyWsqmb0aOnmKvNdjyrl6XNxFmuyVpx8Sod7gYI3nL0vLrQzsIaq6/7x2ZB4C\nl/qaSE/i3o8XYlC/QqxyCqot9KntjqLQK2cJiTAJvPLk5AtwZ2eGvynHDV4R\n3H3jMYywX7xpJzbj2v3bcCfKf7o7IBzrJa8F6Ew1Dsq8XA/b+n6lZ8M+jeE/\ndjhSDLX9BoOcHODl0ER5fVeU9zXIwWB8bNmULLcOUvC8MxZcb6Mi2NWDTnM5\nlxN5GJ7BWf3VTiBn3RD0I8RJ6jxUI0kOdosEB2zEXEcGLZaElA8zFhtZa8cU\noZOIXR5NeYjpiU5PZjRhgLVZH0jNshnLOjjsCmkAEiUKzhVvzT63k+LxjnH0\nlODxzt3IIK5KAticv7awfa4zcHcoctPouLpXsrIjGkbA3LWqBZ0H33mNndnX\nyDMRu9gceuHTE5/VlGQCuZT/biKic7Th713Al16UCNkrEgfGSr4aogWqzPCT\n3SPCKW0eHi4sCCOqqOAw1XMHsitxSGsXW6G6XMnepC7N5UmwaZzhXegTAsQ2\nKUocr/YSu0VF9ILeAet6i7KQmLNxlBqo6To3+yMjvSSQgK5AXR+028r/Ix/4\nvGvpBKUPP9bl/ZowBkwg5eAh0jI4A0TtzlW+P6yEKWfS9dyC2YQU5O7qT+HG\ngubb\r\n=5WSP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"576fa22ec00234b59b1dc4215b8dd1ae982c7c8b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.8073a20a9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.8073a20a9.0_1590794702132_0.5159990082880894","host":"s3://npm-registry-packages"}},"7.0.0-canary.72ff42330.0":{"name":"@material/dom","version":"7.0.0-canary.72ff42330.0","license":"MIT","_id":"@material/dom@7.0.0-canary.72ff42330.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"50305615c8f0c155b51b48e14998919fa96f42b8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.72ff42330.0.tgz","fileCount":28,"integrity":"sha512-050ncQPvVZZIgSrxIQgEUGhWqVBqFYFyeR1bilpQeSqGNMhCGOBlmu8546UFCKP+hCTOQ7xfLD1ubKzqZBcMKA==","signatures":[{"sig":"MEYCIQDeXGhEaGIMTRQoFjrv5tVNeiTrO8wdrPYwTdy6BwGgZgIhAOcFqCbZJXCNSRu7ffJyCuJLUjIwpXZZVLnOOX1rAWPs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1TAoCRA9TVsSAnZWagAASyEP/jbC4+Mxp3YogjsETXc/\no7BwrDG1xzylak5SpNt0qPvGfVAlXxxw764Ye2uk4SweMd91Dtz/RKtFs0yg\nUnFS/xXaxoRWU3Dj/hARXCou/94BYanD5VwEhDcVtS8Ok/PWmIb5MYXgQJ9H\nO20zDR7+0NJ8kwLHDZk873SGiIoDWuFFELSWF9oBhE+Fmu8rKXqbDu5mQpRO\nGDoNmhRxTlEK2ROHXIV9r/9VE0atuYbIE/oz75HasIWGgQFprVWsKzpTZmv3\nFeQeZ2ZT7inBrRpaX+JJOEBRv44h+6jpjnKBIOrSvE9f0kmE1hdGiL+b96KR\nouWiJT29zjEX7Zxu9y9ipjHr4ZtEdliBuKLOBHU8O1OMdrSm+3sJIl3Pa/oT\nXNUsQ6Zhu0Zn9QQc9BPteH+ssMSzs35iwhmdlaVzfUFiAIVT8EwuDbqgpNFY\nucab8NS1168hH5Fgwm5bbMy/D7lQv4jWDaXHkBqjjgRn6Nf1dmtmoiJalJrP\nMiwtvj7wCPqIkecI9hQL22IQq/eBsEov+kfzUGSP9sbljC+g0SSpXG/+beZO\nH3C5Wz4EflO7qrrFIz0TtPn8fHlH51bOrCIpAb68nG5X7jdzANofnIaQLFlf\ntnu9gaDYBv0oITwbWiMbf1eM836kNsKRvplCtoVqJPjkRkJW2Px6fbTwGsLv\n2AKr\r\n=902r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4c820e9d38fc1bae9a502ae78e336f0e8381f432","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.72ff42330.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.72ff42330.0_1591029800034_0.24685245206607087","host":"s3://npm-registry-packages"}},"7.0.0-canary.9ea52070f.0":{"name":"@material/dom","version":"7.0.0-canary.9ea52070f.0","license":"MIT","_id":"@material/dom@7.0.0-canary.9ea52070f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f9872e3b476aa40b8ce96844ec8db67ddeafd5e7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.9ea52070f.0.tgz","fileCount":28,"integrity":"sha512-nf1nqfsHpy9FX9fSq1s653TAX0QTxfT+zlhgl/12r/KGU/3svRkZ59zsrEhDXvNIUY4ZYZfKNATU80I8jtrGsA==","signatures":[{"sig":"MEUCIQCLzYjzHscTeg+vWdqtgj7vktfhXZ2RVevfBSa0uHiTLwIgVnoVvrLpp9iKNlqdmDN632Fb7OJhxgJohmHVMZE3aBg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1TFiCRA9TVsSAnZWagAAtxIP/RYuTPYutbkTfPtJgVMt\nqxl5axc8og28W1+pAs6mFDvc4eXftd5DI3sqpHfV7j6UDo/8CpNtkeMUqfMa\nqK97dEdbYeUBukTzUYhPrxrR2dqqieMUL1Kr18TjwEuprpvWDJMXSzoX7pi0\naWcUuFIhYIgUsyYSjLCk9eQGzqdELTiwqH96AhD4Fkfi3COFZLsJbj4XBwt+\nqD1xl8VcGERAcakdi17uLx8UNo/4M22E08wVNqEFZSQle7182maMn+8iobzI\nvTNIzqRfk/o3iLLm8eV7K2ADz7zgNr3VB1gYKynWeWkpK1Vh+4cimWAwgAGu\naJSmqVZSKgF3NAh9wj9oxUMLjVKg+EVex3ZLL4O+jIjYYjNSM/DLYxtW7fEc\n2Jql+we4WniCZ5Ku06k+oVWh00FuhzECRrsmvZ/Nsck7RiijIqpCKURlVC6k\ngOGm6Eu6815nsx+tDgvYfH87IyhNaGkUy/Dv3iqZQL6TyDlqZxx68FVl05tZ\npEcuc3R2pl/JO7ZvfmCAmI10Erc5qAI94JfFLCghU7JUvWwu5KHhFKaO7+Rn\n/dFqj7m7gHWEiHpkSdcDD4URBZnQ1HoJUad8vMaX7dPJpq2HaGptzYWQ0jQ/\nQJ8D8WyuEoqXY7CdwHmu5JVauUGOpPz5ZEDnLBMJHqb3L2I4KP8mV2rBpFn/\nVkIu\r\n=dayk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1c7aa3231ba2d87e7abffc33fbc156ee0889131a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.9ea52070f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.9ea52070f.0_1591030113841_0.6982311665994791","host":"s3://npm-registry-packages"}},"7.0.0-canary.d86ad3b60.0":{"name":"@material/dom","version":"7.0.0-canary.d86ad3b60.0","license":"MIT","_id":"@material/dom@7.0.0-canary.d86ad3b60.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c942fc970327b738e4068d225698bda803a97682","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.d86ad3b60.0.tgz","fileCount":28,"integrity":"sha512-Rgw4xM4ALe4w7tK4TPdghXJwp4eKRMCZeKsEa1SUitQTUApZAVLA2DeCBIRpwk0G3K0cxU/oQRxYN035pwqCKw==","signatures":[{"sig":"MEQCICS2FYCmMj77Da5Vs6UuUKN0WUmSojoGsul7tzP40auXAiBxISDOHV31O2NBPA3ZgwQHbiGjZJnu7lViq02E5/c35g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1T9jCRA9TVsSAnZWagAAvjAP/16ZMJxCyyhpWLElbwNn\nCBldYtHrGlqnkY2am7zSAERrlkWKkD2F1iZpXAFhVSCzKX51+v/MY3WtivYz\naz2zYQzvm2mifX8OVoHS4nMKxPeQG1T/5+H0sSgsc4OPNLibxL8vf3Umy5W8\n9dtvzZ7r80BcRyZq85iIaz1qLVPZRRKuOuuM6F52jdZHHrQtqkyioVOx1L/N\n8b9MvFnmphVIWr5dXqD1qyeZvW6EUUttevCqlJZ5WzAswD1MhfN7i5kuqFyR\nGCCweroBOqocUIas8wrRbW/NZs8RxgUjoK7xx2JjdzCVsvI1YzTAH6CFG3Zq\nZppfSgrM8pPhXh5oKpAcHPyr4r1hp61cqag73Oq/C4V64MKy2yiF/kfKd2wY\nPNJmXvZKBJRH7pOtze3sxxBF6JvJspcfKPzwy5bgRBCSz9vb+i8+aoktLlT4\ncgpUcZIqYtC3eOyO69Szr3IElkvGl54cpDRdSryvAH0C7pM3u6mAUD5qKGF3\nzKOPHnDR8SMe7oS90pdIF6m13sSE2AtZ3ljwqDlDvu7Sslx64hc7leNmhpk7\nAoijFwiTf5UiXeETMFi6bH5GzKmCRS8hhaHrSD/Ym4UcBd/0aAJzCqEJNZNd\nuC7fnK++lV+LMNOyuJCtKZqb4gTjZomI7EhOc6cklwt3wFDzFruiNN4N/rGb\nNzGJ\r\n=7uhP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ff64ee77c98ab8a932f9397689714c078eb9fd02","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.d86ad3b60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.d86ad3b60.0_1591033698839_0.9813666855282352","host":"s3://npm-registry-packages"}},"7.0.0-canary.b9776b1d0.0":{"name":"@material/dom","version":"7.0.0-canary.b9776b1d0.0","license":"MIT","_id":"@material/dom@7.0.0-canary.b9776b1d0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8a0fb3ac858abf365eacabb8dd1be4581378b8d3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.b9776b1d0.0.tgz","fileCount":28,"integrity":"sha512-fDZNACZLgO8t/RFse1i2e91+666ai1pOmMwFSwXOuStLsKjBhIjl9w7bZIjnOnQ5B/Qln1NOwVM7g4tc2TgPbw==","signatures":[{"sig":"MEUCIQCJi/H5uGjAxdqaPbJLbDLncy+QEQ4hV3+rJvk7SXChnwIgB/mXyYnt1Ws+suBBRxOPvmqGoMSmSGPSocFQ2mRnKt8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1UgYCRA9TVsSAnZWagAAMuoP/jARqkVTy9128tfu6lWb\nV5GlQhZJ79p59TNwbpyM43YNzQ4wnmFi6o1Dy69DSCnosd4K88PHvrCTsaOx\ncD0hKA4nBitNiyY8BbivgJUpp6c1ArIuPA51CIgmLBEFl1CSAVDuHFtshyyS\nx5coYJ86oRmby0rANkuTrp0zlioVQ15ArRcjOr3qZBWKTO+Yn74dJrLnLFBW\ndvcWkVXaVwAy22a7bgK8BPuwcs1KaeA+uuu/MSsqwfU2IB49yndEGgvLFclz\nqgM7paIBVT5kextUSwKCGyDOGprnaEhzXs6tOt0KaFlAFW294ANUdjcZF+sw\n94TjEJfWPpv9k0NGN/2yY2Mdf/nXczBcfsxpjO0M8t9WWjMC2KtPZpCedvvl\nfKc6MbIWBputYvs4wWzTMO382LqAGxJvmVNz6lkqKOCkcaFFsl6k1MSSZ4Kf\nPgXjQb65p73JipnOhUVoJhS0uXAD7sHCDeE3QYByV72gK3FVOnAzlG1Tm0De\nwn8UVBd7Ihot9fQYTw1Zi5SRkpcRomXVR7Dqk4R5NpbCwD03qOwbNTSJ+Gik\nRNefrqRLGHSR0g7wZ8NxPnW3IFHJvjB1I9QzjGlu0P1/2+NDqhXkU1wBFwYd\n6dMCcFIz8nbpKAnzJuz1p/1w5Pw393b/3xVwlQaGNBfq9UCcGRDb9CZplO70\niEoj\r\n=bJZY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d43f6785558859ab233dac12d042ada9fb8c1b84","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.b9776b1d0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.b9776b1d0.0_1591035928463_0.7059057337985746","host":"s3://npm-registry-packages"}},"7.0.0-canary.ba6f7c294.0":{"name":"@material/dom","version":"7.0.0-canary.ba6f7c294.0","license":"MIT","_id":"@material/dom@7.0.0-canary.ba6f7c294.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e931e539231d0eeeb660d908e001d36fc352e3b0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.ba6f7c294.0.tgz","fileCount":28,"integrity":"sha512-tmZEGYyX4EZK7Qdw3inVSMD8HaBRdogwaUskOMdn9f1RFDGhjXSHQrQlQ4gVtPLbAUL/h4NPp4JMFeAe27YoRg==","signatures":[{"sig":"MEYCIQCZTD2VI03y385ePAUrAZlGw9pY483Zeet7eB5rsnNdGwIhAPtcV/K7fK8ols03i112ERz+DtdoNPEOeT1qySSzNJ/X","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1oYQCRA9TVsSAnZWagAAe6sP/2Wg4Jnrme1jim3UOOb/\ntb8O/6lb5KumvhfGLJCfhTD7oaQZvYlfVaHLACC9c5Wv+DA4u3NT9wegTaNC\nglbmeU7f14GVagZ/xYUrLFvoHOUMb/jFcb22QJOeBbmAToP2H5H5tJE/auzx\nPB2PPrxBQeXvn6RQLxBNmK4cbvX3CaGAebGiBXTfAeexPuCC9M5rCfVHixiR\nzwKjl3BE8tC2FtPi6AgTBjNLLD+wquTPcS/y9Lp94S9KrdEpCRssprJQFMFf\niaa2451CQaGk2rgnmbzkdhEnBrBgyBxRTskfysL0t3dBXS2R/3wTy3RyXnPU\nZz8xWXUUg5lFZQr7jzZCf9pX0IBmemlf7vf4IwlYv87zpnZEfF0RyHHOERMy\nQ2H+dvdYNvd9V9VG2yAN6qDUhmWM0LaUQ/JlJhMt2j0+WVk6Y/3Vc4WN6/Qt\ntVhDxVph9wdaTGGU+Br3Rhp2osGEhGQ4x2BSvl+VIGOEi+tyunQ+lT9qpCvX\nURgnnqin8CPQVZ8ml+4pVXygz8Qi3Ae/9dbQHNFihnkk3tMevcrbJODOaYvy\nvJ/isT+nyS+fUbBirh0HxCECfVgq/xWUvqu3LYeRAU+4c/3MrU7oBMMDoNnA\npqN3SRXFITr1DcpswVHaI3oFDIXWbfPwCWSOvksWV7spTsBLQiEbz0qoPS1F\nGJ7E\r\n=JQCU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f181fece0cab022dd478b7c2f4b768aa14f7ebf7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.ba6f7c294.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.ba6f7c294.0_1591117328212_0.5427164408835847","host":"s3://npm-registry-packages"}},"7.0.0-canary.cf3b664ab.0":{"name":"@material/dom","version":"7.0.0-canary.cf3b664ab.0","license":"MIT","_id":"@material/dom@7.0.0-canary.cf3b664ab.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"20215feb57e708ad8ff2228dc524fd239e1a8567","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.cf3b664ab.0.tgz","fileCount":28,"integrity":"sha512-Hw54Jd7d6qqnkQS5gvzhPoqqpEY7oh83f5o9o3134IpsH/L7f3pYibEvLLrQAW5lL51eoNpuAByy9akXdFA92A==","signatures":[{"sig":"MEYCIQD0klKL9K6zgxLypTaDvhIixHwudKyoZ2nhYGqrdHNY0QIhAOHdEi/rvcpgmRyV1X3K1JZ/M1F6RGyVsHWBalIK+jhZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1pkDCRA9TVsSAnZWagAAemAP/RjsLYJEKdKM8fB21X24\nSE8raK+BVP3PXtcDGmPPw1gWQJqZiIwQhHmvfz/nuXOegRuJra2osOaQ8ntp\nErEOP1VngMQYveCkS3S6etFoPe9SiGoUJI3mXY2goiMzllAiva4TJ644EiXw\nvhpELnEwGfD97ibvrdaYAG6FDupv1COKFFJ+7V6L3ILN9lCne0lqulcTi1wS\n0Rni5tJxPKwxuchJKSMvZtbaCCV1OvZpTyii0BpUtI7v682kKiRkbRlCs9NQ\nOblJcYS0eL594hZSMrHv6ZA1J1d1P81bLB8P1KVVBne3j0zX4dxvOa3IYkEq\nRDyrFzqlRtY+6NLp3iotDJT/7u9HykWt7hxAdnBm76xtWoG4pG56zoAESnql\nBqC/3sI9DYNb8oc2jcP+JWQSU5/NDC8xkfI5qcGcjnt/IyjH4oHSfoO/7oZ2\nvsSBnKPn3HJPVzdrGvDI2DmihVVgAfNpT/SA8p3iYyTEFPLEzAhao4zv8GZV\n+qkkxLUxT4DwGBSR1Y6mv38nJeKuoPIeICzGhiV1mN+pyBNf/RYI3IOTTMIC\n904a1pFBOn5laueNOdC4bdcdUN4WNxhNwtvy5Ui33t+umiWvTvI72418EQCO\n4wp7XR83jSrNUISlbvmA+hOnuEuQXd/mouVH1hOOkZXEibQrP3tN5BkWiK5C\nTQgn\r\n=2TbJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"708ed8576095ca5e673311fcd970680f855a7b59","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.cf3b664ab.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.cf3b664ab.0_1591122179156_0.9368755080593929","host":"s3://npm-registry-packages"}},"7.0.0-canary.4ba3c9a31.0":{"name":"@material/dom","version":"7.0.0-canary.4ba3c9a31.0","license":"MIT","_id":"@material/dom@7.0.0-canary.4ba3c9a31.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ca16e690985badad4a78c93d4bc1bf906a769eec","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.4ba3c9a31.0.tgz","fileCount":28,"integrity":"sha512-kKNcspkajw3wGZZhN9NiU5InP+M/0pQ2QzUNfen3zpV4dbntDbjjxteKPMdaDjCYM3BYeQuSgzh6pNtB8UwI9g==","signatures":[{"sig":"MEUCIQCeCP0d5G1jnEuIgACMsztFEf4zHJgTd5E0N6VWW4QWIgIgY0ONVH9riJIPdrkqRuNBxDnNMvymCQV6vsN6vhQAJr4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1uYQCRA9TVsSAnZWagAAszoP/j7071SkJ5+RXOzB7Bs/\nVKOxHoKLTvlHNJJThLLOD9Iu3M95uzaxGADxqvkaEkUOqTP9F5lRaE51isT1\nyH1LMxqRhmV7/WBpV9HC2K4OMZVnBeGSWU3nZCQC27XDWqEvhkQI/wf0aK6k\n+hXUJRxUHehMr8iaEIeENZ99+bkF03UqU47InQmhcAhHTJJYpZ7f+d8+SJSU\nKWagROuwLOpC+A8aVsbnjJLzEHGJNLOOxqGIrTndK8UcrILURSsYxWQY+Iia\nGrsbBrJdEbTLAjJYe6fi0CB9s7XojBOKwHzF1dCEdBpLXjWcbU+85IK/fx7v\nMBR1Ct0SgTxjXklW6y6MpvUMxcNaHuEz4mhpGfl6CaDdFxZGb2itucFh0sOs\nav19E7U/mZD7JF8nmz6qvcac2qhTyO+/k6ldBcipEn6uNvzTaohfGf2cME11\n7Nuokxd5258wsc/hSEeAhgeUYDkYsWEvzW0nYReBBZM7pRoBTSHPQ5mHfQLU\nVsCcIQxjnFSEGhqaZruUUErgiyhgLMveJCnLDljGOKkzT30AerXkH9SGFwZf\ntU4otqIZcXSQdUM8bJzGuQBg/JN1AUvBamIURCfcF6Vt4goV/39bYBf//eJm\nnX8+QA0ItmJoN0hjVo743fThjIk9ia6pOiIM0UTH0Y/yZdam1chBkeGPAz+c\n8ss/\r\n=yFr8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cf7f823aac5f803db06863c865c07f432ec4fd09","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.4ba3c9a31.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.4ba3c9a31.0_1591141903916_0.530778190515184","host":"s3://npm-registry-packages"}},"7.0.0-canary.388b042c7.0":{"name":"@material/dom","version":"7.0.0-canary.388b042c7.0","license":"MIT","_id":"@material/dom@7.0.0-canary.388b042c7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"724955a613b5dd8d458ae42068d390d793c526c6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.388b042c7.0.tgz","fileCount":28,"integrity":"sha512-pE2mc/9fC9DDeCrI+p4tmDglSTqxyK3dS9lW94iDNk2PC5idVQR578ONMu+H5hHQyxU4qT5u3vBWZ1RY1CFWeQ==","signatures":[{"sig":"MEUCIEPaz8U/rQpp1miwYA6mpF0Y2azAXyMJHKPLExK2etUaAiEAoaprX6xS8kSbpSs/sxB0aoEdTQBby6HgxBtmaDig0kA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe16mXCRA9TVsSAnZWagAAPAIP/iRs+/EAz1Vu1H4jc4r3\n7NX55QcZSGaaeg7AwQkd+xEQ6eTXHC3evgUF+YGPHayrnRaawMBPNcG5QUxm\nSxsE6xFGaKfJBw1mXE6XL288U6k5/sjab0F2lzjvSAXCX1j4YoQVAr6UZKRN\n3Yn6x7vZ0BsyRj9cV5hSuk6CFGm+EpLXeYamBB5MdF/PHuz7Y99BBS975loR\npgxpwzIExS1xj4jkmc/GZuJ+ii6MlpYQPQzB3AucpzmJ/DNcebETTmqp1zpd\nyBW9fG3V/ix5kdeRu4YTHz/Zulpfqi4oV3P+YCt6zT3W2x3caA4qLnuQo6Ss\n2/CjC6W9PwXp5FxQnunbRnOXDA9cyCLzFpnn/++g+66s48rYjG9UjDd4xuoj\nnSaeDjkJsdRBU04O8gTfdcz3FWRWQr71yApxdYLtvidDlrCy2wz6Vyi4i0RV\nC36cnN4XYBuTBc6iEYF+Li6mVvlyzeDEX2FTRRkdRdknwWN6mOAT1ba2rrgg\nBVPKZQRxVkMtTsPo83b6ZEaJ8XW/E4Os/7LF8ptZdjkMiBUEK9wt4sXU17N3\nTpUAqKW9R5qHyKlZ+m3UzOKpdZvDfItvvc4HI/+dP39qqy8TXOJUe/7ATRdt\nuH8UD0mUUcfzRn1yl1mQOmD1WlKPd9pbVfb9E1LaGfZOwrvE1gpTnvzlqS77\nC4Tx\r\n=o7aw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7c9ddf94f1ba2ee332d7acea141e5022b58f79ff","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.388b042c7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.388b042c7.0_1591191959064_0.5610345051545351","host":"s3://npm-registry-packages"}},"7.0.0-canary.cca1ca84d.0":{"name":"@material/dom","version":"7.0.0-canary.cca1ca84d.0","license":"MIT","_id":"@material/dom@7.0.0-canary.cca1ca84d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"573e23fe9cbdb8bd9e968face5d79245841ab4a8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.cca1ca84d.0.tgz","fileCount":28,"integrity":"sha512-qLXj6vAfFEzvcTb3fbQoRtrT11mLz/TVQgIg0Nw3g9vJMyRaU8aABzUXCniE/4sd3aTECirwBu1ftwt65DFrkA==","signatures":[{"sig":"MEYCIQCblio/jRLg1KoiRXmlbY61FbRsALwtgz1WF2Uxuju2kAIhAJmlW+sKy3CXC4VrE68FCRp/LpH9AgLG0X4/bE1Z2Q2I","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe18mCCRA9TVsSAnZWagAApi8P/RR/vpvj9Yw2SHTFruzM\nlUZCSCRV9pagOHJkSeCj75pRVi6TUuf2LnGlwboopxiW/j9+oX8ZNgGIKaFw\ncN8TBq43Bj+0uW/bSMm579WwUS620dtF80u3zMTzaKBzss2+9G9oH/QdB39g\n6pDmyaTYbd2lj54qdp6832WlqAJmVp4fbShRAUmLbPglo4HcDTDweo+h9MNi\ndLgZNYqAg7fSAN23IKM9vtq3JqCXsauC4zdZkxegWNU7RgXou1HTqMr+ojob\neZZpShiA42ayWWeYAaESy6/30KH6i7wJmQW7u8P5CUV9IZTdxqnxYiHFyUqW\n6uauZw8trA6wGhuqtAM6DOgI8SxNCV+UOoLhKHxuXGNgV9hFzCwBlee0dB4m\ns7tnEL+cvCMJFFxzkDJBMxoWmmqI5oY/FugOV79Vdk9TxAuWE/5DTrZvEJuL\n78zuKRFXJqszzWo1MNE2dw0SKWTwnNOD82b9rInwjHPBgGe6TdzgmcQoq9Mf\nfrAzPyarAQ9YcYaIloWDotNPdQ9df+0R7FZwXiDtgbAnKx4+K5BzmqEx2roH\n6zeUfFmdmZIz96AWn0vzI0D0YAFA3eTuJusv3lcKIvVa1lxYbY/7U5cRAKP4\nqA/kEjWIgVVHYx2IcupWjk4NHlavWVqaLAN170J8/cCjv7+TAd1Sl99Eeg+W\nqjuh\r\n=HasG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f154bcb37f9df5f07d3c6dd0c397a436794ed609","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.cca1ca84d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.cca1ca84d.0_1591200130236_0.8417712145151963","host":"s3://npm-registry-packages"}},"7.0.0-canary.9b0b5f2e0.0":{"name":"@material/dom","version":"7.0.0-canary.9b0b5f2e0.0","license":"MIT","_id":"@material/dom@7.0.0-canary.9b0b5f2e0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3c7485cb9f949a24625aec0e2173fa2c9927420a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.9b0b5f2e0.0.tgz","fileCount":28,"integrity":"sha512-vukEod1xytLDziEkJE3xaV7jGKNDr2Q2hmUz+WBvFYeGaECOsedXxBh42LAb8qyIsrcOhDt2czDvocLSBzfnQQ==","signatures":[{"sig":"MEUCIGc+fhHmJfUSQHY3lBb8oOblDMF+MVzCTJqKCYt5FU5DAiEA7WvZ8nafiEWuCDZh65gX4+SBVR51W0MARnyXpm031bg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1/J/CRA9TVsSAnZWagAAIasP/0f2rrmuzfuxxMsq4U5E\nWDBfXbq/+HSS5DreeF4H6OzgDst/9yey1RQECQIaMkmzvCOiqwcLxaiNy1bR\nyTgs+Uu6iaiXKB0Kyjo4cCO4ofikqC5b2P2vfqiZDFO5WAzt+RaupPOFZlA/\nm5lDD9u0GHDdaWqIUllmj+XLHA1yRr0LG9fru+lqc8eOz2s6AlZWX94ySsYR\nZbcU8ZkpVkdrmummP5MYHDAlvRUIdwoHDUKt2z23fgFtkrCTrNaXvjbEZeUX\ntFMp4QdRjKH8nQwX2T5abNR48D1OIe81ujdwADkVsKzGrpGKX+22WWFVrG9Q\nIa9fpPRCI61tqp8sfkBu0N8+IZJwNqqKca7rxxG37sVHEaCcTkIvhmiQ7sEy\nN6qp9Qtkz2pAGNRoK0IdkkOpvHwKY1LQIA+wFdB/OdFzQ+swiLQAPVkaC0wG\nFFC9U8gBT7pMD2Q8amFk7f/nJVzYuvZl8HoeKCo/SIrWZIPJ2yQZZjIJHvzU\nuFKqr5J4M7Q1PmxUQCB4eQxsE2HgUAqGTZ9XGYlDgXR7S5gCUKVL3Tb1Mo9d\nihQ5f/4xIiy4UK9WE0thkVTB4QD9utwLqIrqn0HYmzXikZorVK4hyjispYUq\nJgflw7OHJM0j8y02Cg6OgkQ2EAlXGc3/rIFh0hPHRNL6ftYHKQeBSWUpbx/G\nANjP\r\n=idql\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"35348e60387f88e73ce8e1376b7f352877821cb5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.9b0b5f2e0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.9b0b5f2e0.0_1591210622669_0.5676280299654346","host":"s3://npm-registry-packages"}},"7.0.0-canary.0a7895f4d.0":{"name":"@material/dom","version":"7.0.0-canary.0a7895f4d.0","license":"MIT","_id":"@material/dom@7.0.0-canary.0a7895f4d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ca3f23b19e99376a4fd2c47698ddd413b66f64e2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.0a7895f4d.0.tgz","fileCount":28,"integrity":"sha512-d7fGZ5lB88kcMo5hvSQRHZJuxzy/hjz44ZWiDSqYSb6b4G2ftw0uWNTliaLSjiZ1UOG7nC5mWw3I6C5PRMmeIQ==","signatures":[{"sig":"MEYCIQC0guT0JwWsunBpzFL0gIu/kvuwdhs+SHjJWXUNCjB+RgIhAI7z86tpqPrtn6PXxnu7MlexiZMbuy4FXhdA2kyQCb6V","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2BFOCRA9TVsSAnZWagAAiBoP/iV/aDPh1iYfX/F5ARst\nBJrEOATgflNKL0U2zPvCWeRs3rhgT0gTtNJ02JvUujl53Lb01pSZIQAb4GYd\noYaUJhyJJaDwQ+aL4x6CwPPeA8+/3RdWbkUzulZt8jT11JegC69MuHRfgksE\nJkp2bR8OiSRypzZBoi5ANv2dw3/tHtwe8Ojr38esOqGgPLGQvcYuvAPRT6J9\nvcdPy8QwYj6DmhMv9t9/GlT9nDZeHuKnyTd8qhiRCQr9H8K3s25Us5+TQvlF\nZk8ur3BPBFlZhzUpmORfpW/rCYdgMaf2XXdDzs7L1R84hREO3pAR/h+AEjSM\n4ikAm5JeFB3qquhJuxtm7napeOk/1i1v43+VGMIUS7hU3GV7zd+M24dZMhBs\nz5ELQycxe12YA8q5sGSoX9nb1oEsDPSHy1/2DpPbQFpqQeRwRt/icQkPlaLR\nhq11O4KiSFveDu1MgxP6ZWo+gs1e4gFTVL2XyuMFEFrt2RvD4jemWDj/WqZX\n83S3kJ5gx+1s/Fpr4mzEVx5sOsMJMShIZf1+Q2nO/FhwiQdbRbSMEOsM7PS5\n/NWr3vQsjjV/CKzbqQTIBDv+gxFVdOJXswJrYKmaHaVSw3B8ANmoIsdjOGyN\nZDuVRi0642f7n3Q/bikAd/SsnIkZKeNgYz1UZHSw7Bxl10boUwTSeHy7zpt4\nIbYg\r\n=Ielc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"929c9bffd0636490958fcf34e0b40578b44a9cd1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.0a7895f4d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.0a7895f4d.0_1591218509781_0.36043153811649997","host":"s3://npm-registry-packages"}},"7.0.0-canary.7461aad68.0":{"name":"@material/dom","version":"7.0.0-canary.7461aad68.0","license":"MIT","_id":"@material/dom@7.0.0-canary.7461aad68.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7e4583ee9d8323dd035236f6d2d5c35ae7348308","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.7461aad68.0.tgz","fileCount":28,"integrity":"sha512-wciOB1sd1qOf0+LVcsBoGp8cxRkXr1vjifE8MOLrAHIEkYN2HJU321AoE00N1Vg3rhVfwNQoGilzLS1wPXzn2A==","signatures":[{"sig":"MEYCIQCAYileTcKznycZo1YB7hTkLJV0ahbUwZZQTQrWV6q6NAIhAKzu5TrmPHZbMec1yA8ic7TylqKb4Qvuw4lH1AByxABR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2CAkCRA9TVsSAnZWagAAkW0P/jKm0JjvtNLHz5c38+yN\nXmPzAqNn3Fcy/rPp48RddgC8s8nVhwvOyzzkyAMle+k1dCC6QUxTsgk2Tzwd\nv+VfP1UwYbq1ubhqNXG1Pyf3QoziQyxpqDJmfJ1q4ILoaDTZdhoVe1D5zGRV\nvkECNMgtNtqXMAliAxLsLVgNLxXiyNhi0z2/R7nYGsyoy9ko4SbyyNuClUMl\nVbRAva43+bPbLnznloyenjJZdzDTt8QcdrGZXKIeSwfEv3dDey+/Sy9197hp\n01Y3XWoy6YZdIn7QnzGfTyhgFUkcfjbKPj9/T4Q+nVWUWORcZjxex0wy0xA2\n7+ORReIdQFVx3DZwYKewkhMD/2ijJVkBKlG9sxykwBclfrE4Cegk0JKs8wf0\nN0MZQk5dA2AybTx2/IqbJLZv9QhBf83TVvAzURkFcbs7CmB+au2L2AOOdv1N\n5j44+19Jzr73ZoKz8/uT2MoJ5+qzKYZq8GKFEWaF5iqyl+azilamSe5jdIYJ\nhlHTanLUQQWM7LsmdWdN0WIn3So60VQaZRLAI9eO1tr++K1hB0dXGBxfJEa/\nCn38q96n8lhCF6soDSQyPDUeFlhX7fgNHIw3hSXFeupjdITdbj5KK6+5I9Qb\nvDN6mji7NvWqPU/oMDvJHl4jsqY5PUte0wdFuq2uMm2At+NJ4z2Awnq0+CMh\n8G9Q\r\n=DlhB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f9166e39b20f57c6b5cdad1ce684529ca891bd81","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.7461aad68.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.7461aad68.0_1591222307905_0.3525537439673958","host":"s3://npm-registry-packages"}},"7.0.0-canary.a0dc2b5c4.0":{"name":"@material/dom","version":"7.0.0-canary.a0dc2b5c4.0","license":"MIT","_id":"@material/dom@7.0.0-canary.a0dc2b5c4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ff6a0fd95be757d989d7d7ecb08e4c20c0f272e4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.a0dc2b5c4.0.tgz","fileCount":28,"integrity":"sha512-ald8ZvpM6zLCn8cUjDPnUCSlcAevMEduqYz2rcCwhShfA28JfNzcZ7a7xeHaOiO2VHVfqq4mYMCB/p0XzBtC1Q==","signatures":[{"sig":"MEYCIQD0XKSQ9sc/fialvQlCPHzSy7dH7sniMxZZpEduch71QwIhALmUJkIlmEX+rRQJPN5j1aXfMy4H5UDLKI0C3eH7tZ4B","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2WP0CRA9TVsSAnZWagAAjxgP/RxijL1h1i1RwPf+69bc\n2uoeThnC+1G8jbQpUrZL2ZOS9giRfMNY2W0eZT1uPomn0cNges8/nHNxf+pu\nPDufqUpK8epAjIAIexwsgbuyyiONxZWRLTLo+O/P5PV/LMLfcUwnKWXYdNug\nFTDCQTb/sOk1Rik5fEUN5GEL4coPiuuOav2Cyo8yfk54A1T6mdAaTKw/rEsN\nLZbptEuGT1DPntPEqEsRHGnRq2oEJoIK2T6lq1/o22nkfQLUNx2JBS6TykxU\nsanAmdjMyONqFf6LKFkNjFtVzscIUwHuCDn8rckcd3ZpuVyXp2DAKUFE+Y4C\nTYP9YYLUp6Kl43NInLilefww0bOfekCcWqq3gV/RBstutrJKpU3ILAG8dZh8\n+eX/FYWHCJ/Un+kprak8xQlRfbQst05THIjpBse17/toFKoWbYR++NYjZlqc\nyCleHmnSi3heCwvIgoYxpnfBybSv5i/5p13/N3SmItoJcP/yehKyeytGRWej\n//uJPMUKtNdhsKJREj6GKWqPjzkIdUBdw8a6zg/3UYg6ONefgdGQXSYvaClL\nc/eqtQr/QvFo1soZYFmrgWNRUa0JEhgt4ILQTGBEGNAR630M7qi8In/136Pi\nCO3wmDaKNwIuhWADYQuu0gQiVONXL/EXJ7HaPyRQ6m76YkbC6QlEbvWJPfji\nxo2F\r\n=WwhF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5970f3857673cb8c032d0d4532a6cf1209f94c47","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.a0dc2b5c4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.a0dc2b5c4.0_1591305201483_0.40313796818367464","host":"s3://npm-registry-packages"}},"7.0.0-canary.2b420c5b3.0":{"name":"@material/dom","version":"7.0.0-canary.2b420c5b3.0","license":"MIT","_id":"@material/dom@7.0.0-canary.2b420c5b3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9bc57650cce3969b1bd4e7dcfd212439bc69349d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.2b420c5b3.0.tgz","fileCount":28,"integrity":"sha512-eYuKIQvL+1I3CBL/zx2rleAO8kA4EKAxuEY9aBWhKVfU3UWeChx/ESvg+O5lLQ7VTixdreGG65Sz8FWdCCLI8A==","signatures":[{"sig":"MEUCICQBcgcKMZcnYDLfuUcv9wayb4NV5OyR+w9XGdczimSuAiEAkTewg0stQ7WYNS3y/CTfqDlT0u9V8EtFY/ViY8/eR8c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3mO/CRA9TVsSAnZWagAAbGMP/1z3AaZ4LH88dOr5yHLX\nSZSklAFjvGbK86uU46fXPdHL90+MGMBCjk2Y5gXe8bl/GW8pkV68oD7tYqIs\nHXPMD9+PINpc9gruUGWPJ94xpb7Ypo1PZegb7jsqXHvTVDtvZFEw5gQrkHyI\nyfC3gttJEVSAlr2TN+lv+nQzc3AeDSVFRWNdKgsJiKzQ7Nx+ora0KyG6Gipq\nJJzf7eQpVoaz7+qtOge7MCUzi0YF3FeErV3xFG4dPS6feg9ULbj1DrNLzG3q\nteWONhyGuXEEAr4iRWescgo+XKmXKla6+K/lUg+bn243DGevmJYWf78ml5Mm\nNs3xjkT3RfW+0mDjRHHE8n4ZBA17SQBlHSHsM5S6xg8rWVT3pX7ateht7ZmT\ngWGdExkyikXmbBNSRNIVKy7rJZDKcx2in8mgf/RCxmUo666byFBdVpNnS9NY\ndlfnigy52jLQUgCwPPF0q2RPzeAtaJ4r3xqOrQayzI1HEzTt/SmpXgD5WG32\nHpscUyVGs7OHkUolcH9f88zqXUP1e0yfFFyGUztQ4AMO7EW6E5KwnQZr1zyf\noqaJpZNXImMsLjt8srzSqIcVwoJMhzKSSThZ5YBlZFDWIwRx9dHiSgd7wgAX\nKysl2bptEGIF8+1AeYBqudk/8siqG1FzX5kevVekxGDrjKwkYE31K4FU9ZHm\nHqtA\r\n=MLH1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"80cc16a27982fc781b2a68accf38760a98fdbe2c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.2b420c5b3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.2b420c5b3.0_1591632830689_0.957161607762621","host":"s3://npm-registry-packages"}},"7.0.0-canary.8fa22aacc.0":{"name":"@material/dom","version":"7.0.0-canary.8fa22aacc.0","license":"MIT","_id":"@material/dom@7.0.0-canary.8fa22aacc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"65be22cb3f735441acd0cc75f02a3cf3736929fb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.8fa22aacc.0.tgz","fileCount":28,"integrity":"sha512-7jsHk68+aeKBi0L/V2sWFzAr0NfwjfDK7yU22Jc5ApOayvSQmHmuHY4ESYIyHKT5jIAlOdqlSCV2HciAMsknpg==","signatures":[{"sig":"MEUCIGnqQjz9F7cKgAopVX0ZvZzx7Ri5RW6W2ALS1ZI3gMTaAiEAw5ecdgvh0QaWa+tyqPqVemqgHhTdQBjDuXvbBMzhG70=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3n2TCRA9TVsSAnZWagAAuWkP+wRL8quDjLbRMzW1bmLV\nwmtaUdMdL2Ys7UDh/hEHWwAb9hlvNg2ANJvT7YFIVM8Q4s5j37kbK3vbm+1I\n28qAUqYmsZzpYwFB2+Y1GSWViwoAifSe63wHSOr0PwNycLRylXLq4bav7eTG\ncuknntZJEUFNKwtuPElVtyBtHtc9Otk1Irt9CULQHu47DDNd+u4ijPWLpBXE\nAETOhTorKXKJ0RLtLQeoKs/P8B2M1u/mNQJHQoJtv/UC/zQu2T1V0XZvhnis\n9g1QClQE+NcR9yB0kZ63cTgEsgFUwHrp6Uh1AnGNOReSae+j01Ng1ahL1iQh\n/07UkTP4agWNPRDNOF0N9hVXI4/SNyOWaORpzsBRnq2aRW4sluHKGvLRQMr8\nwjV2GW7qBxsvL7nIJuQ4wm60eqo7cxtoYG+I0vfUOyj/rsM7tKEbWQqzm3FQ\nlDHXnsiDwZFqAVUB2eAmiA+BIf7m0SdgLVY3emrPqAGBnXZP5/VTRvLw4dLP\nBlKUEthyBkvS00FZt4Mo1eLtPKrNAD+lcMtk3SvB5NdLRNMlfv29GwSLuQHF\nRId986s4S9n7xMe2qMXeFZ6/l7IYC9CKnrt2lmkNI1lScoMRvyR7JWoSwN6t\nI7U+kFX4qKXqk8Z91is1bixxxKuzj/+I84zl4rxATqVXPzvTLJs7e4qyHLm/\nWeRV\r\n=vk1G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7c66b081ba582f4d58dde82c8b83ab1dfbed6063","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.8fa22aacc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.8fa22aacc.0_1591639443480_0.2951446649184779","host":"s3://npm-registry-packages"}},"7.0.0-canary.21c4e4ed8.0":{"name":"@material/dom","version":"7.0.0-canary.21c4e4ed8.0","license":"MIT","_id":"@material/dom@7.0.0-canary.21c4e4ed8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1e6fd319d204591e49a07ffaaf095f3f2911c07f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.21c4e4ed8.0.tgz","fileCount":28,"integrity":"sha512-km5dq40rwaXRGXGlVqlPqf3QOuVehUMoqap9sowxeGK4KnMUBwaJvTzbQV5NLWU6UdR6CiQiSEG11N/cUOMZVw==","signatures":[{"sig":"MEQCIETAmRsQHONNwTgErdQmiBju5iyg0N0qKXbOoIRtlCHGAiBO12wI/8HJXBF1/2lMHvkgZbUNFt+frkEjU1uVv261og==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3obdCRA9TVsSAnZWagAAaQUP/1cGViZSRI1NsJDnx8Wa\nr6ltBnw18cTsK3lMuBute3LUm5WEFqqVrpbso1bkl3W0f7yk4flYOu5WjheG\nf217hq533f2WHS61PmEqWZVQrEzV9xH9uu/FKNVsLXXVMu1j4M24ZyoaGzPc\n8vlbMhWJAPKFwB7jwqaoZEl5eMgKt95Q0lDaN++EKk76UdBQKvMyFyYpSt2S\n+05PMr18NDtPtdTaY5wnjPS9uhnUgF7Yow7RLsSNbnmjpaZHImWXe11G1OLP\ntveUA8vYPK5XCbUFPWfP8MJcW/HYnjHdLWoHkcn8KYZkUnJl2T1GffQF2617\n5zaX1+eqoYazTxnRObLxKG83IrOO5OAUmUgU+wXPn4tAIebYuXPdj8bYZktJ\nQNGPlLmxXkuksZl4g0Y4bpK8966gJiNaEObu24eegz7mNUzGBj3NI+WMg5xZ\nJop+jJ7dH5ZIvESdEaKHRWtVg7KQBK3BLKXn4nt+3x6IP3+q6gnjN5Xgu5UL\nBdIucy1yiwYZeRMM7juIEePtq2nv2hVsgFooav0OExhowYoXLBZl7Y0UugjL\n/beygkLHF7Hv0LpKBW87JqjxOVtkeFm5RwrSoVVJ4lIC7w318T80OK3eDvwy\nR9rl4TesYXNt5Lkju2yeKuC+6k0UIlD68BrTOj5Myk78tv3WeVQmz6k7CMm1\nuhKU\r\n=JXQn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4028e059428ff6b13f79ad3f9076ddd853ec1904","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.21c4e4ed8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.21c4e4ed8.0_1591641821343_0.1741457690337329","host":"s3://npm-registry-packages"}},"7.0.0-canary.dfde46516.0":{"name":"@material/dom","version":"7.0.0-canary.dfde46516.0","license":"MIT","_id":"@material/dom@7.0.0-canary.dfde46516.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0b5eabb289cb75e75c9d35bf24f460f6b49bfed9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.dfde46516.0.tgz","fileCount":28,"integrity":"sha512-X6ReAg2cwFIRX+FZxOnIgiyUw+dO7dDfd5+imvorQLG7N9cQxO6wDu38UFgn9T4HtUOPhCJDc8gOYCfVKDtiaw==","signatures":[{"sig":"MEYCIQCvgtc8Szocx7pdgwqWd/2RkgOPyQBuWCBRKISwydw+DwIhAPlD4dUNpY1Rd44zUxWoFpPwU5dBo9ane93l45xnToRm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3pRdCRA9TVsSAnZWagAACRgQAIRgEfa/Ow7Tt2On7atx\nq5Y8gH9wUXX4K7ZgJbgj7LQDu2IzOpZS+vw+V9NAjn4QIAk0J1Y3nLRk6Kua\njnw6Ti/0z4zGcbSO7zMWxc0xgN0ark6g/3hZyn4w6rmhby4pQMwELVMR8U1p\nSrcQu7d3PZqHh+/5PsPHETxffxiU/mr4hE2ToSYDGddOEz07HI87ZkZ35ofe\nm4G1LRQZjEr3iI/RMcIX6YJ7G9DY4S+HFhvevSTnU/F8jjheGsThEd31thKN\nfs2uNStPVBnT6SfoeEAU7xL+u/JEimjj5C8jwmoc0rIoyYPe7rT7mZMtUXwb\nUIayxRHMyE93Nmvnr6XoGNtZHhtwJ11teOLCeo9jlK1j7iDx869z6O2zQco/\nuEtTxNlYDCVPwL9qW6hhW7RoReMQ+XEOhme7bzcVGs3vMkUZYzqapBd1RAlg\nVZoyJwFQJbExB6DFFQ36LLUbyBLuxNXMBfNqqQq6/rgsUABRBayBEX7/4PD7\n20Gvps0w3WRxvQKF3b6BOfbEFEXQy7wtwQQZSU2P28F5gmMp0oufuYkfIosD\n+oEf9KBjZ72fBBANqT3l57t0zFq0Y2zpc+jLYXUbTcm4KxEXMBtKIUkAAetR\njjFmh1gtZJBBvwQdG/7jWhH/q6tDHDbCFdPSupfyxHQ5oXR8p3Wv518vnjaj\nC3gr\r\n=vthg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c25d474d22b404bd6774ea12567f0916bd7fd165","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.dfde46516.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.dfde46516.0_1591645276934_0.7703101452057715","host":"s3://npm-registry-packages"}},"7.0.0-canary.05cc5c206.0":{"name":"@material/dom","version":"7.0.0-canary.05cc5c206.0","license":"MIT","_id":"@material/dom@7.0.0-canary.05cc5c206.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"90f9607b811a4e54e1a9e85160c2cb594d71aa37","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.05cc5c206.0.tgz","fileCount":28,"integrity":"sha512-j0WIxZo7cOz2AvIr6kVfMzWRgNiaJSfDkYwXOAs+BOHkFZaT3rMO7yHamRfny/JquJzJb5o0fShjF4Rs1Ie5dA==","signatures":[{"sig":"MEUCICgkZImHPT3cwzfw0RuMuIt8f7PXTG2Pw4DJeH9q1kCNAiEAgW+eZUo1UNUUdLu/Inm48iRrYH+okXDKAm3imbM5jc8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3qXrCRA9TVsSAnZWagAAKtkP/0c9WD+uKSu2Qe/HQViC\nKoGcnCQSjE8YydVrXbzKumwl3Q4WN813N8bSDcUnjMq7TKur40go4yuNakmA\nxZBBjRlzdxGf8WaFldiXryGOEkjb0GH1azZCZf1zDTy6KqmrzeGg0wqwzCyN\nzTTTWdv5WTir1abCVM++3/Ufj4hsIVx0/LdvV2tv6do6Juf39poYeq++xwgS\npRViGudQ0+exNUZeI1OrSl0GaE7M/Gb+vB5p27AfEWMG2Oo5vMaTfQqJXhiK\nZI7vNGfof52RfPXnPyOQRrxNX3r6Z19gPYuHR9NMMi7vTptpvP6FgczMIKgD\nG4p03y2OpdF8p4RGS3+aSD6xlCpnSiVv50t8+os/ieqMd8cv/FRg9jpSVETT\nwQzELjkkLn53YLNn4BqfATUrmV4RTvb+QmDzuQBKAq7FvFXH3LMH5DCzw0Jl\nlVJeVp5yVS8M5DTuguXfftyYQgGuYkSZrRUf6YsQ5asUmMRrnJRbH3n+v9xr\n9sg7Ir7yF7B2EfiGwnMDTUtcUhXcJjGPogqWxS6zIG0F8YT5UyWIXMbx1n6q\n2i4I9VE9yKfgVZvFjTgF8yEA1PGDmBiaR4yrkMSvXUvBabrpy+EChHhmmYAY\nVXdOLrkhqmrGOxuehC6eG77/tS8o4QEXjQBlIu8Xj3+mUFtBk8il0oTf62rr\npgwP\r\n=MEU7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"933ae32b3f02920ab3f6f1660cefdd6302297532","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.05cc5c206.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.05cc5c206.0_1591649771049_0.07534150007548113","host":"s3://npm-registry-packages"}},"7.0.0-canary.3ee488f1c.0":{"name":"@material/dom","version":"7.0.0-canary.3ee488f1c.0","license":"MIT","_id":"@material/dom@7.0.0-canary.3ee488f1c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cbf1e5505568e8ad3ed70ef60079fdef587a9d37","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.3ee488f1c.0.tgz","fileCount":28,"integrity":"sha512-/g/+gMCTA6f3Hxi8tE07VP8Xm0J4yTc8lHi4u6Tk7JMBVN7TcvFOoFFGD4ntTetZM8a/pBOD6isHLqfJHhOTJQ==","signatures":[{"sig":"MEUCIQDJ+BUA/7ASdmo4qC5cYBlEnSwdVb0E4gdGONhhPAjLeQIgIpLlcUruG9+BH9rDCDjEY0leQT0WVOkRvGkPDB4xAgk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe36JoCRA9TVsSAnZWagAAdzIP/1pl55xgBKJCkIR95cEo\nVESZq8fYfMdQRDkgHfV3CGx48ZCPImvk1eLK6swsNd9WJwMjgakG3Ikk2M7q\ncWv5QOzhsgeWJrH3o9QsN0GXQQ2oQ+FZe6htXFmd+2A/MrlGqaE5oUon7del\n2VwB3yAcmcShYP4Cd9FGlRQFhn08scYs3h+H+ilwlZIiXr1ANaq+AymU15B3\njPcky1s/2vI2hfSsNuVzJy7NOaaFOzuZbbIgT2qrqwrmKcrZBlkYrj7Xx3BY\nvziAoxjOZUAxT1vnjSHDy1Wjkn06l3mHpZ9TN0m114tvK2W5EIyMcS6Pfy3l\nvA3BBh81KbL/M/h5+NPmvw0Pzj3UxwuW4xLLDLODuxvjBBkuWkO+Dxrxh9K7\nBEb61yuvcyteWd9osCl6tgnDVhoXPvgMBPX1NIcc0vlspbCkKTsVP1mYaMTh\nUHpq/VxK3LeuYodNz46q5NOKXhSwHD5WyVmwko9BfaBI4215bR3NzkJ5w3w2\nXzqtk9JTNW+DiX3ujqTDbYIk6s4RRH6XqzLS07q4ttW7z4ytxxEDa7Te30Tj\nQpuZgxXPHGK1u6j9XVVn94L8i5I5Mrw/jSe78NnpYOk3OzkZv0/ldheWZ8vQ\ncSn7YJCXqbTHr0YLpMftEfWe1BiehUScQUa0jRPENs7Li7ZUiNvxBuvmfrQz\nKj9o\r\n=sQbz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ceaac97d295d5d50e71137ff6d4b390630570b8c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.3ee488f1c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.3ee488f1c.0_1591714407751_0.7408302439868666","host":"s3://npm-registry-packages"}},"7.0.0-canary.b83d720ee.0":{"name":"@material/dom","version":"7.0.0-canary.b83d720ee.0","license":"MIT","_id":"@material/dom@7.0.0-canary.b83d720ee.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f35431937639fa1fdff35098aac33226ee193272","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.b83d720ee.0.tgz","fileCount":28,"integrity":"sha512-BPAcMgxhCoOU24PRW7joFViDEZYoYAGkithbUXNUoyJkvrVdWPPbXTd3e6dK1EqYpKUKuOvcpFCJMFWDESkaUA==","signatures":[{"sig":"MEYCIQCsfi08YhREKFD6ScCDG2TSKG5ZViC+wkD6onJORgp2mwIhAKOQLLxuCkos/rQ5i892I/651Lx1+z0dEiQGoRYFrP+j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe38YZCRA9TVsSAnZWagAAzmwP/RREhR92/YTmNq5UyKa2\nc/35zMsy7v/6xWBnLqKKtOpXPvAqlityWVAy5IJ9hec7bouLRS/40WVrJj+S\n/dlUkJXNC1N9V2UH3UfKP8PV5o0A4S1S4RcP9iVphd1vht12BlV8CwNEHZQv\nXvdAeOC7GqkxEXrWfOWXP+Wm73RVGahJClyk/n3r6vJoiPQX3XXqdCzgwy2h\n0Li8qaUWQiwz7dn2/9xX/nEbCsUQ64C2nOZNt6eF3lkUnqS32Os1RY91z2At\n5uV6cwMc7gwiVRD/bbIZcJGRaCPQnwoOvH/HBZgvinbigkBD46512Yicxb2G\nKIm8ipeh4B7Z03+7/B8TZ729l5fdmyICtqLyj81ZfoDuy1Xcdv7Rntkn1ojx\nSjKdrLkMcZeTJr62c2Pz2tzmLLXVWEd5mZHgZCRjT+CEuJ+ttUulm4Q2o28x\nMYiDiIyuCiCHm4J4B/v0mFc8yMynBBE8tO819OXj4zVKdlLLHac2wiAqce3c\nieJDjOCpMNYeYaWVn7WyIvBJ7ycWJLvJvF1CimCB8B0lvMP1cBwVVHJvIDcw\nahnWMn7laaCK1Irj3otRNddfcJHwrfvVpdqPKWHbnF4yB4oNva6MltQOj1n3\nYQLQv6qHiOOE+CmMswfno6xOPT0CkECf5KSD+SLiIe9M8asnmzMy0MMazqE9\nLTVI\r\n=KcX6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3e998e476c86bc89c3bb626240ddd068529062aa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.b83d720ee.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.b83d720ee.0_1591723544602_0.4941177238656256","host":"s3://npm-registry-packages"}},"7.0.0-canary.afb1c11a9.0":{"name":"@material/dom","version":"7.0.0-canary.afb1c11a9.0","license":"MIT","_id":"@material/dom@7.0.0-canary.afb1c11a9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"94dd21198db2e0ef6a82576d08a2c2be927bffd0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.afb1c11a9.0.tgz","fileCount":28,"integrity":"sha512-xFTQQTXjsZ05MbdgDg17gilzU/pl+N8uEFLfELx7sNA5Iu89/90rLVfI9BdYETghxaFj6uZRoKkzkoVHohUv4Q==","signatures":[{"sig":"MEUCID221cKiSjDnOtHf9gMTnOxrWmvnBccKNGooLQziIxuqAiEA83ZDM1r4tgSPKmn0akOBvXiqVFW7oeR+D1tI6XCwZwI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3+36CRA9TVsSAnZWagAAbxsQAJOsiduyY+5bhsR+PFaj\niLSgZtLwAV6xLYwmogYy5h9IkSRq7pdGPHgp4cgYToq1RuWP0Vx6ahmrZJ1r\nmzQMa8hIX3qOqi4Q8kLvuP8hxZn0RmtKbY7jHJkxOE9n0cZOGPw1Vt9fkZzL\nTZZMewIcBL6BJKaQ0S8tJNCupk0VRboacwjAX3nNDmRo2vmMtCtngVeahhjw\nrV1GLApJ/NM+4btiexuydWGsA8vhvZEshfQsujyJ6WPjQIpJ4HUa8SD5Lwbe\nU+bMfy25ZUlOsWnSoK6U8YxKk25F5w1IS6nk7CUzifWVYfkkSNjOUxLifTOW\nDHXckeQ6a/xEdlrTPwMpOKE3GF3RQBNLjnjmzYCF6hQhJrV5GrrhNZF4Bd6H\nYlKfFfnUyDBfjmfmt1pDVXysxoUmKPgHJexTEw4KRTe7Bvdv9pC0reoZUbSy\nyJYc1+ptJiJVDmj9YlYQqsUxsDgeApdz0Yg8qDHfIHyooCjVAnUxz9qCC921\nT8BvfUwDZ/bX+1g1AgZQqXjwTwd87eWyQDpuO+3HAj9k0LWiqc/Zq0j1e861\n7bIyAps8JrbP70GjsTbEEq9bY1DR6P+O+UszwLBk/S0SzwovCSRXDgRSaupW\nj9I0nvthQdnYNETHTbPJuaHvZXJ8MlHWp3JNHDnsRst5/lZ0njOdSOsR2vJ3\n0/xO\r\n=/fA8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"893f09ebba8aeae1b012971b66ce3c77c410b823","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.afb1c11a9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.afb1c11a9.0_1591733754388_0.5655905350261201","host":"s3://npm-registry-packages"}},"7.0.0-canary.39e6f71e2.0":{"name":"@material/dom","version":"7.0.0-canary.39e6f71e2.0","license":"MIT","_id":"@material/dom@7.0.0-canary.39e6f71e2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1082553da056ed4c4ac23f77341a5569c09cee94","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.39e6f71e2.0.tgz","fileCount":28,"integrity":"sha512-w3Uw2zvuAWOggo1J0XjmWogNEr9wVUcboxXeLQUj+HY5fBHFqcyXv/4sJ8UK8iQC+oKFXhXzsGkslx10vKDcXg==","signatures":[{"sig":"MEUCICArURkZZZI31zO0yLswPlagYGZts+e3YL/Y8U+KZMBjAiEA2TyHr67k3SRCcyRx6Lynev3Ag57cNPq4k+37Emy+LtQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4B2WCRA9TVsSAnZWagAA2FMP/20Iz41I3mSkOr92Ojaw\npeVWhPjTKpBqFHc2W3GOnnFi0p0srQlIEcF/b7hqbSF/hCU1+8tdmO+LLiQy\nG9ZsP097hicjTAT2ket3a2wud3U+vOcnjBQcdHeiZWz2pnPYYfC9sfAn28Yh\nXFnSD70Jrag3BjRiOzXlTW3K6i5C/tE0B2e9WPpuDAkeU3COwrnrCo3C8eW4\nHp7gsBzrJrolIfgJG7Mtup582riAzP3mNzQxZb7yqYBYxgNgaBzCoM5RMr/d\n/lg9Hu/w3xvv/XsndK2crIqYwrlF8GXuHL8x47uS+V8ty8eDdwM/4FU0lu1b\npNZHVhlVqzipbJkyLROy76luuXHDBBnUiN41vG35qMl267qWR7Nd+cI7HTLU\n3tJNq9126t6UsxKyiA7Zi0vBsPlCbdjykKACYDmh1z2+nLWq1JAks8W8Duph\nTlsq/aUpTXiAm7B+toM1OIJkppbrpx2ypKrlTwy2Bk7sANhVhzJa9YpA6Byb\nTrwoI7c8LX8rroitYyuZydGxHK0g8X/ZX4uXAbXLnu9TeL3naB4p+XWIn6qW\nZv/xubqiOcRQBMcJL9ORPGm/WCE3oijyc3eqVBRs0ZPMOEXBYWtAE2VhqDYi\nAjk6iZXRjgpnPgg7OccPiHXC2rEgXprPlQjalm4+P/YWwWmVmS+41iH82In+\n4Dno\r\n=truX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2f7273891cbcb7da6646bdca0ac4c5dc2ceed9b6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.20.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.39e6f71e2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.39e6f71e2.0_1591745942404_0.22512243184155079","host":"s3://npm-registry-packages"}},"7.0.0-canary.d4c66dc7d.0":{"name":"@material/dom","version":"7.0.0-canary.d4c66dc7d.0","license":"MIT","_id":"@material/dom@7.0.0-canary.d4c66dc7d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"53804acb50e7fc6af7e54243d09da056231746c8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.d4c66dc7d.0.tgz","fileCount":28,"integrity":"sha512-gAu1SF3hKT/uWWAqYYQ9R9K8bZOqgNbmsM/wUlTXIxxfkZroQFXvkWnfO+/VIG9lvIZBtu17Rt4ZXc4ItuBAIg==","signatures":[{"sig":"MEYCIQDmvFla3ftgOvWBQI4P9ytcZgAuZptl07PjQgPak2Cx7AIhAK7JTFPFPy0hrZJObWOZb9tEUMAtKJXxUflNYNVPTdm4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110861,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4m2zCRA9TVsSAnZWagAAA4AP/R4Ap7ULLgdSFfHeIEHk\nw2hccqNrgZKkAS4Ky7wyD6gezwI5l3K+dhLY37QUtT/0r/II3Omp8WHD6lMD\nwuyKrYH5xmcTaLktfQ5REAstzC+907Xg/0VD0EBEdt1eYoMBV2JCmTjHSw8T\nh5wvhoitR4V+XuZKAKneUXNj7pBoxCEjEgKpO4lfwSRVWURzPsudE+cqQEc8\nTMY+fDzIwKN7bDgrgX1bpcX0Co433fxEOtU7J2rTtbPTNuOv3NvgSkiGU2xe\nFPovoxcBca0hyjjjXlQpGkQ6y+duACYu0SWlnUrgC3uirvu1PfuW7rJ30fPz\nfBsQkd2YmZEm6AWSXMn0dfX06spxfHwhSCFrGNz+m/epsaHIoxE0t3SHndZ4\ns50ED+xSHEAkjQBD0iezf0GP8P1Aar6xDF+2pnKHfaRhlmhgh1qS6DVFwVS8\nWYFkkRr8N59D+cdwsiX2YiOUaCoOTS00ccbwbDpB0iX11zdvZdfSTQkwyAsq\n3DJ8zt3DiBi3XUXcgsnAf/xLifE/rOCDq0pbfIViUrl9efSy31SCYYZOQLv+\nBKosIyTbTgLvL2jBEhl5KGc5cPITwtIzZho/hRgtZh6ij7Jrgxsq9tTxt8US\nrasB3QpQFUy/s4weLOTXjLdG8TnK7WqXpX/M58dqz0RFdol3o63PlDAfv7M8\nuwnv\r\n=U6kD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5964d9e6836962528334c54ef81ac4cf4898392a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.d4c66dc7d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.d4c66dc7d.0_1591897522971_0.5272491068751031","host":"s3://npm-registry-packages"}},"7.0.0-canary.be4a19f9f.0":{"name":"@material/dom","version":"7.0.0-canary.be4a19f9f.0","license":"MIT","_id":"@material/dom@7.0.0-canary.be4a19f9f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d039d1e3523862041cedb7dd1d2a29110c76a4b4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.be4a19f9f.0.tgz","fileCount":28,"integrity":"sha512-nbraXNKQgqGkDR2w0+LncB7+2Vc4OpjAgEv6xXq0e4Dq+VTDsVqAe5Gedn4BpaA0/OWx62I8hNFDQYPTqHXEDA==","signatures":[{"sig":"MEQCIHwmxsVETUazz+qLjiDQ2QURwFhh0AQF2yBrKsIkZQGwAiA0AfjYzIJWzmOReITiGVo8zdLg7tl3Zex8BonUVxFg+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110861,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4xuqCRA9TVsSAnZWagAAS1EP/0OXU314R3g6JeZNVJt2\nAH5DL+x+ftThIbiG28CdJ6nh+1mbpi2PNFup+D3vK9CClFImhgMOFZOoGGqf\n+ymkvXY+m9ZVdwR9643871L9S9bUsZF8gwy7wK/brTSEH+suG/TtGFdWzVIU\nnLIVjOz+lqAnq3Q+X4gJXxZuW/KAk/kXXoWo62RQRGjDog0/E+CYLimB8bM4\n/Fx/OFovSVhtZ+38VRl1cZXc/PjSVXjHvWLyQ03lFLeZhoL2bx/87l7JI3RQ\nxVn7F15cbSOvngPQdT07XA+wzmsZwz/FgCKEBUHcUjmfGMGDkYSklbIwvVwk\nk2tAl3TQ+xO9NzRRztXeRsxM6rDcjoMsajw7AzrRKqEccCUwNxKqXKr1SBXP\nRg2jW4+YFXPBq2T/e6XYKX3okMMzEnMYd3OF+rywFtztivor82EMlajfqwkK\nDDVVDUIqiBBmQ5go+pJwkGU7vKeUFAQCQ34ByrDqPOgEIlr86nzQky2wdUrM\nqHxtL1gkIfwBxii4gzMljX13JC2J24ACxk/6jQtus0DACq4tf5ERrjOpCT/Y\nCp0piFdtPLMZXUvjRK0dj1xp2nMP8UonLrMowoP3I87jvnBqhXM7Ukt+AeQa\nMcPRcXcGu2zQn221pmpxYp9wueNJ407te6gCXZHs8/Yg0KmGQf8ogtUsrzq2\nTWR6\r\n=YJAg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d7a0b89cd18efc7fec60e96de627e59883e3657c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.be4a19f9f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.be4a19f9f.0_1591942057497_0.9202690806640399","host":"s3://npm-registry-packages"}},"7.0.0-canary.a6ac8f629.0":{"name":"@material/dom","version":"7.0.0-canary.a6ac8f629.0","license":"MIT","_id":"@material/dom@7.0.0-canary.a6ac8f629.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"97020ee885a154a18f2838bb209a18149b516369","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.a6ac8f629.0.tgz","fileCount":28,"integrity":"sha512-cLQ3AhXSVdKwoy+Q9HYKYZYy0rqg5G/gU2Rx677DoOqyM/1tMv9pmSgEqp3raktCWirqA3P09jFi2oPBjy9d8w==","signatures":[{"sig":"MEYCIQDJKHEbM7rILjFXFKYDqFbZyfB309GffpXX4SeHkOqoegIhAO8tjzmSWd3hmmDTLFYZUw4xeoLi203+chBLkMHkolME","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110861,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5+hkCRA9TVsSAnZWagAAwREP/0Gu0HRL3XU8mac9sjad\n5Dyr2DxaYtWeyc1d7Gmq8Jbg71nk/0aN0mbcpMyW4dEvpXMvWVNh2DlE/Xou\nx06qYgZs/oXoixdpYQv7PKWPDIKq8S3n1jOk3+15Sm3T4zzPlTr+s3Hd79C+\n/fVlcL/O16LMPluOwYRKkPDujSCskBG7+2NeRzmIuA4NjUws8DATxaN/9tkL\nuCYbXyFefpzt3bI5qgnHkJ7bcomYT/Wb5gkZQc5dwJSqJhr65gq0aa72QmoO\no5YolpFQ30bjBacNQsqLTwg89cgmgI0Yev+oDh/6uYbUbeP+cY6JX3gmrmaM\nd1LFphs/++urPGH80Gz2KmvX+1GXGzvVrnbYhms5Y5I5VyRN4KwlSc9RG9Pf\nEG6Y2G16kKFzoQYwSY0tmILNuwCgnYhDJnVbn6RI9g5WYjFBkbB3YRtrbo0z\njI6VzmY54FnW0fYXLbGMRYKdKysqWqqfDKG7aqBdQCJ1XthoEb7i71g+18yy\n0q103KUNiYC/HMYjH+Yh9Yna1ja/eb8LlBOYkLrSbgA6j6LtR/5KeQHvdn+k\nQ9o99tHOrNqh254+7WaS4TYSbDalkAIj4GuFE+h+qX0fEZTKoioOUXNb2d7B\nRA9LZ7RFy1C5EZb08gTR//Otm2+GcUSiuUiLXM0ZuFZPr4x9+qK+PEKjpZuv\ngrrp\r\n=Hk9r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"30d2dc59ec3530f0f21233e5b8e93c990a4a2776","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.a6ac8f629.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.a6ac8f629.0_1592256612408_0.6273825728118032","host":"s3://npm-registry-packages"}},"7.0.0-canary.9833dc287.0":{"name":"@material/dom","version":"7.0.0-canary.9833dc287.0","license":"MIT","_id":"@material/dom@7.0.0-canary.9833dc287.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"31941100602ad59b45fda5bf215e32919ef7a944","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.9833dc287.0.tgz","fileCount":28,"integrity":"sha512-/0fx0vekVCXWtLLUjWjdsDQEz8qAIkARET18MmykqoQBE7ovd3yqH1upi124EZGkT/oy7yWVH2Ec3K9HXfB8KA==","signatures":[{"sig":"MEYCIQC91lfXnEV4dAOp62C8R9FB9BkTAjI+CJ+p+XCxFv4mWgIhAM2L9O+kdbSSmolrFrCM2muI1291N4DtdWQNQgGuOxPE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6SIcCRA9TVsSAnZWagAAy54P+wYuQkgg8qRS4+K7jvB0\nbr14hGZe/BDIEjhgxN2lamLsHR2c4NCmX9qDe98OKWb7Zv0/YWBVPEM7w8iJ\ntUy/9c71emdthUklETn3/g8MyRLMIpubScWuTNV2Dl9MKEfboUnskACCegSd\nfZa7othmoi75QsOZ82IYXPWsxt+Ur5hePym/FuTSpqrnQNyDuyiFS0qjzPoR\n2FibtJykgB52vSnXdMUwVNPkjNT1U3KyAGWtDD0CGZzfkCd0lQDFReDocgLi\nQgDozArv41B11vfX82k4NSSsIGeldqkIlngO27vWaPGFWhgvIMuUJNnhHHCi\ntWtFsb00fv8+yfziCItDwz4Oo5627/5Xwb+fNqYRGlv1MBfQko7aXU7CG6FY\nrSZLQqXrKxnGXiG/R9hAfaDv8k4MGg9yFXMhVmEVvVKeOWVNssFxHqxD+tTX\nZYugX4UrOIJkdkqi87aWpQgQHqkSPb9X9WY/OJF2VYqftvsUvt9z+CD1zT9F\nEQ6R8nGvE0hrcnSt78F7dRl2cTHtKcFye8Q99A2M7VO4j+Oz5iM/vjllFQ42\nP6CLqeX5+PNoV3oBABVJl56HoWrL3jcvv8Nurec1C1F+0QWJVV1nTt4K9UND\n5B/hOG2Fbq77q2DnfIQt3NbNG+4sFTUEvAtjVrvlVfNROxfPlyUlA2fEjXtm\nRaMo\r\n=HgJb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6852334e45da838c4140c1aadc974a39d80a83b3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.9833dc287.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.9833dc287.0_1592336923877_0.528295196690405","host":"s3://npm-registry-packages"}},"7.0.0-canary.3aa33998e.0":{"name":"@material/dom","version":"7.0.0-canary.3aa33998e.0","license":"MIT","_id":"@material/dom@7.0.0-canary.3aa33998e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"edbd1d5fb929c85d2b9053066a5cdad956df5986","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.3aa33998e.0.tgz","fileCount":28,"integrity":"sha512-w/VnUN/RZ7HfaZ9XXgfw/5CODUX8ngWhj/7u55kUrq7TPAQwLO51p2amh0rW0bg2w6ruY/tgaCHn/28dWR5CVg==","signatures":[{"sig":"MEQCIHTGvuZ2FyD1WhL3FHFHYaXOXn2TWzXyAff3vz+ep5kZAiATFfi3iaAsZanA2KKCSKBUlK+wVA2E9+bJ2wEEwPZGTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6SmOCRA9TVsSAnZWagAANFsQAJEhmRFE/uHNXwZ1B9Rl\nel7GqF4otzWEBLk8oPQ9rdnW61ZwDSqv7xDMWksh7pyaAn9/dD7tMbIz4gds\nFziwVawn/jAFdHLcDpQpAStAn4p8zRfe1UkBGhBzXE9989ALdlr4jpkunAhR\nSawtSImB+IN88Dmstkb8BAPyJtPJuAPzr2T0Zdn/pp765Nyyup4GrdSDJkTN\nbLHF6jXt8dTivR+5TBLlmxbOeioKV0mv/NqTB63gsE1YoP+kCMlKbC0PGFex\nJLVI/x5aYPtyKeX03VpL21K+1u32fF74jbDKxSRwAaQ2aifKLYNYplAvYUz6\nnaME2uThQcghrWVySFrj9fxNRGncSypFfE76DcvNHBV/CguyhlUjuaqc+mp+\nBHA274+42xis940aCXOiW6xINRaeZSZitcEQiBN5zZ/PcpdI1sdUEd+a7Iek\n/4IimYYpm2pCQnuq6BbzmjVCH4tcnCsr01I73Ag60dyY+MQcRLHRmUX0h16i\nU9lnr5xWtx9RdoTolb46NpyxM0bkbPLp1zxvKtk0PkZIdr+lVZiMCLRzBlEs\nlBe57ieRwSLS3td3+Us+MWsULwoTQVjmQe1Nt9joQWGooFsAnUpLUMut/Tmu\nDeKN6bCZlGIHOmAtt2uQXZS4w5ITpHxYuFMKNp/uaZFOTjtls/5PkstL8bqM\nrUnM\r\n=KPjM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"20873613db8172781d25b42fda84ee1fecd88558","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.3aa33998e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.3aa33998e.0_1592338830438_0.25736004276206925","host":"s3://npm-registry-packages"}},"7.0.0-canary.d2b54d183.0":{"name":"@material/dom","version":"7.0.0-canary.d2b54d183.0","license":"MIT","_id":"@material/dom@7.0.0-canary.d2b54d183.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"54218e6372feb9eda07fdfd2243d1f4219e6cf10","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.d2b54d183.0.tgz","fileCount":28,"integrity":"sha512-a36WrKSHUxo4JixWoO2zjBYlBAEyJCPBQoWHI+rHFIgtr/VjuI9SInYNhQyKB8t7kMN75CSwxx5NLZACGrRYUg==","signatures":[{"sig":"MEQCIAcL0bFOmUA3Qr5PWmgS+l1/PJKJUh3EazR8NZYG/XkJAiAdGGzB7jmxZ5ICL0oCLU1ZTxl7lzQC8g4ehFLWqIJARw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6sAcCRA9TVsSAnZWagAARlIQAKTiQTIPI8qGM+hL5tRI\nTMAnz1qX6hY0JZn6U6a+mGUWdC/HaTN1akajEBZkRh8f2wqydZFgLhXHlT75\nHe7Vqh6VQHsIoglWmXz5KW4pXqRobFCxASBg96h3ne5BDk9N+wawGLpXl6gp\n6RJNXgphaBDIggZ1Gx7sZo4drHc2AMRK/LdzzK6tSxgRrY7FV+4ZnZOy+8FH\nWseuZIqeCWnBckdmBctrqE6B+zTV1ZrRGhD7LZHVGh07VC9fVnF5h+bplv51\nblccEfiRyDSUIun+9auVjHKnV9KjIq7497mfO+jczA3wb1rEBra3w+X2pl+e\nlly3zXN7IYNfe1b5ZNPy8QrTu5V8sJgq84K9LMMs21l9/Bl5QXFKnmd4TjEH\nDLirgkaK48B3uKyxtTmlDcsx8WyVFV21/SvhLSDGFncZkDAsytfaE08O/nM9\nke5fV2pKfUJsoz9TpNu3JOkfavFq+JsRRldheN4qiHbRrK9pjU8GJf30Xc2W\nra8Zr87/DeJFXxDOegVxxumiA//0g6T2FtX+qutP4lRRRw956aNZxRylTqV9\n82VGrmYvI5Su78DbQE3LgRj/6NgG7RTy8SyntKPTijHG/wwBqGcm06Ilyf2Z\n1/OX1XziBp9qiw2+4m7daZZ81gJ4x+WU8tbIzwuhuHE2GoIgx1bCPz+e/Fw1\nPYb4\r\n=NCS2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2941697c8abef0c194a923cf548ee231dc67a2c9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.d2b54d183.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.d2b54d183.0_1592442908340_0.6031746399103426","host":"s3://npm-registry-packages"}},"7.0.0-canary.f2a488e95.0":{"name":"@material/dom","version":"7.0.0-canary.f2a488e95.0","license":"MIT","_id":"@material/dom@7.0.0-canary.f2a488e95.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bf6fcebbdc082544204226a0af946dd119afe031","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.f2a488e95.0.tgz","fileCount":28,"integrity":"sha512-FW5QEc2ArXRZzT3Lxb3CjZxR2h3iZ4ctXDjfQaXlVvQCfdUkt34fqP2R8X21G+m9gvbFOc4JJ4hQI3ss5lUzbA==","signatures":[{"sig":"MEUCIGf7n0JcLYtXvZwMNGCs2tjAZYMyWOkdgsYyo8fzgZfbAiEAlfJLPH6TbKoN+K53y9r2PoJvQsQFBgOOJICX1vCYkQU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe64JICRA9TVsSAnZWagAAe/MQAIg2neyijCtfTwbih23T\npQsz4MwWL0VlAbIjWwrOqTs/WPUCK+bTREHBTeLTn+D7jBwUMPHpNUa+aFMO\nU3A//vX6JqUvcMPaJaqSxdamP7Vf7i41+n7rVXcLcs3Zi+cVnAZ1kXo39/dM\nnUdNVQ0PW4qboJAhXspSIy8WZGE5o6PVVatYIh9ZKmO4cIQB3Jh3uBE5zdDB\n2Cam/Nht5Y/BSHP8lArG4IIc1bm44nKincULVFBHuNxyqb1wbt0gfVZ6L1Lb\nnefTa5nnhc0ROGA1IxLHDZ0ca2mrwf+0cbojVdul3t3scYvmuOovaqoeHFvF\np8kW0r9zlewZ6ftMCwJh/BpQ434HXR8pFzp9rJ5Ao2r7QCh0Vm/lzXQ6LHbE\nQDeZNarMoYtjCI6XYWi3Jj9ObitxRGwzvTtfa2DSxdC/2+8iJRhfxITFpMpd\nKgGwGORtZD7Nh7s/lRiPdFOEbNfrMexZaA+UwceRt3Ec3j4aYuoJLYnzXgtI\ncMwcUw6ln6okXqe0JTK1JITPbIQ6UzJ9B1yBYNTpqDWiV5YvH94DKYXsxjwY\nvqiNxnZ5oMuHajNKzyzTFibV4DrJgml3F1kYCYZ88v1mGjiVZs2/liRp4Gdx\nzNoeEyVqmntN08fKNn9HobGeTiSnb5m2nXUJHGnCXTrBvS36mwe8p2cw2pZQ\nkN7C\r\n=lanL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bd7f6aafa23ab94aa2f862ece45e1775f1895b88","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.f2a488e95.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.f2a488e95.0_1592492616427_0.3298187194058364","host":"s3://npm-registry-packages"}},"7.0.0-canary.bd8d1aafa.0":{"name":"@material/dom","version":"7.0.0-canary.bd8d1aafa.0","license":"MIT","_id":"@material/dom@7.0.0-canary.bd8d1aafa.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5de123d53ce6434cf976f329e2e20d1648923bff","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.bd8d1aafa.0.tgz","fileCount":28,"integrity":"sha512-mqgLO0fqP6EWGGaFAf8kVayjpyrFrwFRGCc7Zp+y0sGLdFU9OL0Rx+J816wFunsEbtsB3Ilk6e67C7WAVtmFhQ==","signatures":[{"sig":"MEUCIQD1aI2EGCC0sIEsONk9GYSCak1W30CVs5uPFE71LsBL6QIgTeRWoPDAiDu+jL+lJ70Y4SFHh1oaebx4+J2tL8Bx6nA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe64UjCRA9TVsSAnZWagAAdmMP/jVIvmWTKR1VLM2pGvOv\n7GGy+VlPkAppn6KVowg2dQAQPv1OrLsCNb1bezFupS6ylzRknyuny5fSaiMf\n1o5X+7csGkXpAcfbSmkilr3DsxtuKdcheyUcGXNn3fJqElJTb+GjZHIZejMf\noa8iGFUt7xp64Dy21vULdrx8HCo0EqYVMrqr3fb9rdUbfkrIscF5yVOm5xxF\nx0YSeVLBoalo79KnbvVpQ5pqtBX4YIYdGoEWQE7+sZwq0JZqnnoJOKIRG8jA\n4dKw4mo7WmI+oFQ49+tUJSMjeRQe+Tqd3HbQIcOy0eL1MgrSUQ8BZslvOsI0\n5de2RcwP/RL2M2aCsBXZT/N5NmgxZpccaihXytiFQKyRYJDFdBpf9FInTrxe\npu3TmFV5g1BIffkxTHa5/QdHJwhLUFt3UxYPTNW/AfEZ6BjjJ3AGNXclS1T/\nhnUMl2RZaoO1uVRhVaJ0AV/mXojR8pHxwUsIpchh6Q/F2D+b6pRMMNBM+9Mp\n7X4fC6Q5twHMolx7ANpvco+0+HBJEHjdihGEf145pig+0YmHnPtxGSFzf1Ya\n57ot1xnNYlKG/0tgqlXknbIb7Mi4JHPrpM/NuAyt+GhBMjgV0nqs5+u098cq\n9rqmOOKma0f6knHqsYzjK4E+Hy0TlsZq8uYI3POxcTe5ITckSY/N2JqfBGHa\nq6Gu\r\n=5oGe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"05dd265c139c96ecaacbac16c7128e4a851b00f4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.bd8d1aafa.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.bd8d1aafa.0_1592493346977_0.7440258498786259","host":"s3://npm-registry-packages"}},"7.0.0-canary.1321eb968.0":{"name":"@material/dom","version":"7.0.0-canary.1321eb968.0","license":"MIT","_id":"@material/dom@7.0.0-canary.1321eb968.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7113eef0dfe15e86f8e7287e5558317fe41e13c4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.1321eb968.0.tgz","fileCount":28,"integrity":"sha512-pLaL08h49uaA1pkSrC/eFerSHHccc6eyvymN7Oths647JPVqIoJlM6z+c8kp9gLlwiJQVFpmNh40eWfz6BUM6A==","signatures":[{"sig":"MEUCIQDMsxRLpHE102EpeWp5Jl54ap9acb+91cZu1bzcTlnwQAIgOGSlHBzAxcU6rD+SQbPeDwKmyntK/PxVGca2ekwV7ck=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7RAPCRA9TVsSAnZWagAArgwP/iBUQiavdSCr7XeR6kaQ\nneIDb/avgboyiOdNnZLB5Ik7jzw/dWfi8P6j4PL1tnvFv1oeIZcX119Zugw/\n7fsnmlpc8EmCmrINlYATFZvLzlfx4wYKJ80xbPTVDnx1IVLiVbRwoU+e7L2F\nC7m0V9uZNJ1P+bfSoDXf3g403Gu6UO1K/SSoB8jSpnD1zOT7T/pjk4/RodAt\nc2jyHAiDh2XgwOBe5LoLFfCpU4JahvXlIUngBtkx0VKeH9zumpY1o3Gyczp7\nYvyBvLy+o+k2CrqeAT70bpb3pcB5BiuWWCHs0mY1caoru41LblR8R1QwZARj\nXXdZ4+qfN2X6ACWxFXohO/noxr1sKISLJs6oIAjFWRs6ginXjibhXeCxF/Aj\nNRaZ7gmMMsaUlRZAOY+HwXMsz7bjGlMQf5l+9+gB+SCzEl5GORroWu5rTYlM\nl29M6YYmtN2Flv3G3C5NIiblBcFeSnrmYF9lScZnWBZZvbweYVUmdjO4z+E5\n2wCjS5wYaGaaUYQmE+h0Vaa83/bUgPzPQZLEZc1uFvCRCUDmE31cX9ap+xmr\ndt05YVHzQb88Veaa6HW7ooiEw7+TpkD9uAdFD00uYWyiSC7jpstWYBaoKOQp\ne9LhWzPnEGcNErUtoIepz2QlCPu+gUx4GaN6QYSjxYxISAhwMOE8V15I/GYD\nmt78\r\n=w/G1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"41c074a3370c2ff9b4dd6af27f2403d15cbf2832","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.1321eb968.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.1321eb968.0_1592594446891_0.5419298167007063","host":"s3://npm-registry-packages"}},"7.0.0-canary.db5cc0382.0":{"name":"@material/dom","version":"7.0.0-canary.db5cc0382.0","license":"MIT","_id":"@material/dom@7.0.0-canary.db5cc0382.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b59f3b9f8b6d4f43bcd0aea12538e9631c497914","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.db5cc0382.0.tgz","fileCount":28,"integrity":"sha512-RvZJj3tdN9o1sCn5inQSjL1UaeWtTqR+uhoIxJGjC8u9NVPPijrBkVSx/IhGDovlz9wUtPi9YXCveNiMriH7Tw==","signatures":[{"sig":"MEUCIGYAiApzuj/PuxSLr8E8uX7kki+HeYpjE03ZC4m/xptTAiEAi6TJAo+I26qL6Zbd09SiDOsyLqnZrB4Pv3e90XUvOIo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7RGPCRA9TVsSAnZWagAAp/QP/193ULKoQBhKSGPPsmwQ\nX9gWjxHZ89YYM0c51hxlI4QjeFf2EwR2LQT8VN+QylR7yC4a6mOBPn8cyZjf\nBwptkwNWqDQd2CImF0maK66FlrwB2YPPaf9d9I6BLKIvZLPS1yeq1VHkPpMm\no3JG5s51DxZHrR3RXzNHS0Aedjf6W+9zshh0Ow4/QpKsTIH7GhSR2cpWxO0F\nh+S4+w1OuJC+HX8SHiIwniQF+rIKXt5zdOsVUey7R1KVkaRsHjk4EWe37Mfq\nd9nDn2DJrvuC4tj2hWXB0KNUImih6li23NMmEppiyrsGrIXX3/LkXwq+eZXZ\nPRnGqugExoteERHtb6SU/f1+RsM8v4z2s7f5L8XqOrlCm/Z0VHZoK2lL89/3\nAOvUE992ky0TPxC7VuNEaPTwRz9Q0aVz/8c2avwEDr96wzi8h/i8UkkYJ6Iv\nFRSIhCF/895lL4fSxNYIRdv+jmlnZkN3jBiUhaq7yTL/G69aQzD6z4CzfzoR\nL1lC5dODPVT60EceUDna/+ofnTjpvJEsJJhTL4yECEZR3P0BbeZdpH/PtApc\n+GvL7Q6ZYPmg1iFBYWFcslZaIly4SkcJA3AUwXFQesjUvSc6xd26tEYT5l+s\nEd1wUQO0vQ9vouZv1ZRNEelDFQT1HNBAdQU70hlz31To5q8iHVP9I51+Br6T\n8hZV\r\n=buKC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"698cb6184d0d6e6823147f7d050c39efe9b8e3b2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.db5cc0382.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.db5cc0382.0_1592594829937_0.8685877186543389","host":"s3://npm-registry-packages"}},"7.0.0-canary.6ac9bf031.0":{"name":"@material/dom","version":"7.0.0-canary.6ac9bf031.0","license":"MIT","_id":"@material/dom@7.0.0-canary.6ac9bf031.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d0680e6daf51fb38e057e0b21b211e66bbfb13dc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.6ac9bf031.0.tgz","fileCount":28,"integrity":"sha512-21cBkPYCP25wZj86WD3dcUke718IheE0OlxNYjEbjKTaayE+BS3cHRl0bVE916q20VY8qgKp7Xu4VpRk//ZleA==","signatures":[{"sig":"MEUCIQDB0kGlhQC66UvZrsAQLSmYtZshR7dGkddeqhKs6mV1OAIgEykhGcagtRhmWPpVFAWpQ6UfVJqDzklYTWMwJ+vgTc4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7RZWCRA9TVsSAnZWagAAI7wP/3WsOpdfrGUSy8+c/uSY\nQV6/erMwkvtLR+1W/lnnbyOMEGeANKbZH7uZp5D1LTUp7U2Ye+5pxrY1LuXG\nV+wWrxWCkF/8m0QIZPzAKPTgqe4CcSOQBxjmO8sXR0og6xd4dPE2f170o75M\nhGAp4rWcPEucyB4hPglWhVkL/u69EUWfkKjypno3zdJQhAQDVf6Yb9pe7jN5\nU5MI3F9miaTvuJXu4GKjLy02TWzZK2B42TzInPBGP9KNQFfILwFq1EcN9maM\nfIJ9ZGJ4nRrf9gGy1IlDCDXhK+3Joga5mfdxlHN5Zd3XbwLKnvCW1CcyZdmc\nQJ1DKOXjN/V3khqsya7c5co6yIpb0E1U4x9SXQHXnWujLKfTYTMbSCgauHEd\nZ6e1GFmezCchMNDqIIzzJjz9zi/0i/1xjv0AzqQBTJ6nWjE8DfsOUOhqUk2U\nT/Z5pLKAycGhLOipHbIbGBrGfiZGPpx9luM429+LkDPXSpvwoXhXVopnrHNT\nUjtzHvg77+0YvaAKAcxIqtYJdS80vvCwSuz4ocU0+5iiQhgEUDRD8ucNOHUM\n/FLPQOcg0FXwn2un6bYxeAcjYluqr9UoTfPj31RN1ERcx+kN6TMZqGboMMph\nJeEGfrFWFsX/9xCZi6nQC5vqv5j5STTglPej2zKBfdejEqU2LniCmyMESdmn\nmGCC\r\n=COR/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e80b52100d3a9ae7653579d78250cf18752ea92f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.6ac9bf031.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.6ac9bf031.0_1592596053672_0.20122877273987205","host":"s3://npm-registry-packages"}},"7.0.0-canary.c21b5c367.0":{"name":"@material/dom","version":"7.0.0-canary.c21b5c367.0","license":"MIT","_id":"@material/dom@7.0.0-canary.c21b5c367.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1ae6f1abc8f0ba6a64aa51b8dec7ac69473985fd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.c21b5c367.0.tgz","fileCount":28,"integrity":"sha512-dawWGbOnQDPlwrFnXF5XJNrTAzXLgkf+SPA178btnSgsk34cGy8xUA9P0FdELj+K7sUQesn+gDAR+eIKjJeXDQ==","signatures":[{"sig":"MEYCIQC7tgubKo8kdTCfUggO66uBmJ1FGFt2KSnlC/dyH9717QIhAIH7fBhW2KeX3dFBgVCqqAxLRiUfHy+LHLk2neIG03TY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7RuRCRA9TVsSAnZWagAAs/UP/jBbQb4n5En2eFxUcZ9K\n7NvrW1atgq+nYjLooOhPXmu5508eYsyKn+GdzncN70wJyL+ZbZji5tcu3wiv\npPKxFQYV4qB+FnoTo8y0sltgzt/c5u0qRhwN8SUMwalf3xXPXEPJTXsmDLKK\nmAt+/tBXTiHsEkbmQX29fAuz7Qtjvr3aZN2GTYRbPrynuYXbmpNhrnZCDMrN\n3bO4fxjc5+4POZ+j91pF6kJKUttlDaEgGSaiWgV40RCvHtJtFh7k+dkC/Y03\nWIudyiTlY98ZU0aTUy8TzUcNFYLIXnARvJjgApr79ztwUS1MRR11EjtrvF5J\nfQTywzB4fxRA3bFIB9Z2OXWgUrnSztkA7D1aBqIPP85q6bKRmrvtVL1pw723\nU7+1IbEyfZHuaO8Xskh+RwFRnRZEpxLZnC2DEvW4/RewUP6qipIgUMWAZQ4r\nB2ATXB09pBbjvGeIn4lcddmizqa36rT82/F92a4yiQXZ6tZpBmCBNhmjhxfu\nj23RVeRGKmdIAEcpJmJ8VPjNLneoCJGboICFPPwCJxBQyFWbVRIMCAtDbpOo\ndOxxUseEitCvy6mzSF86zXVjKCCr4h3vCguTPPd1y5riuc4mSCoFsOzOcu8N\ndIpC7XlfkjiVpGDKIuK63OCBC5vzMEKtZ3wyft6jw5G5T1n95j86faufOy3F\n6HZp\r\n=PbcL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"08c734c10ebecdcec22cb27e38dd9d3941fbe847","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.c21b5c367.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.c21b5c367.0_1592597392991_0.1079812768046251","host":"s3://npm-registry-packages"}},"7.0.0-canary.bfdd7fd39.0":{"name":"@material/dom","version":"7.0.0-canary.bfdd7fd39.0","license":"MIT","_id":"@material/dom@7.0.0-canary.bfdd7fd39.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1b4237bc84060c7d1fa73a7075151d52db8f1c16","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.bfdd7fd39.0.tgz","fileCount":28,"integrity":"sha512-lZMPJsXqrwcefcZyyLaVPEi28GQFnGm3HzlOBrtjmz6C4dGQyY9MfNzo5Lsuxh5DI8RAEV+4AmuxxmYWSe2Ozw==","signatures":[{"sig":"MEUCIQDDSvk5DgB/Klnks0aYR8VhhdhmINLpiOF5WuOa630c1AIgEia+AAxIi/WUJbZpF/2g5laAbAOwpa6eUhqKItxC7CY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7R3KCRA9TVsSAnZWagAATCcQAJfLhrA3F5KHYtFeaxhH\n1xR7YajR/+bTVe0dcFarncXpAjOZfhsDXZj3Jdk6TBPnNnufulicjc8UUSnC\ny0XlM+GcRqSXZ9AsSwk3vAK5g8a4VQw553H0KdFzmbRw9oP4Q3Rdumtej781\nl0sD0G82Ye/05BNmEBtDiqAUSiG6c5Ji8Dx9gAm//3Nas8J6oonzgu8j2DkU\n3ZL+id0jbVRDTunvkJ1d4Hgu1une6QHs2U+SuJWLP8RXetAFnPhC4I356kCX\nzC2FOzP83GShoR9xS7RymyYiyw+nJ2IeJtoHDlrhXp7ARnamfQ1um71pXIts\neHLC8JqmxhTScfIMQ7OydwrBPM6MrJNN7oJ/EiucQ9XRv/3b0FUpR6/QcQWt\nGgTjHjbSnVSNGIVSmWD6pTRkInzbNGy9aPJ7zoOx2HcZBMZ2DedUD4R29Sbf\nSgesCL32qZqiFBkorQsWva7SOFmDn7LVPscYZGrpmnJ/2gYXB+iGNGOPufp/\nnKckD3oPcb5q/JgQ1zHhoV15eKZFk+hQIGm7ibS/J72ZZZUOu+0QHssaj4OL\nE4zm/SIFKHJOjBD25U0pRt1eV5mEUhBhmbBdX4zwobKIBKzzosxn4lf3J3Bi\nUiBSYQkHxfHFWZSYPgt/GlgcXHt4t+qJp86hG21UKMxZWbqY+5Ou1DdrppUH\nD52Q\r\n=ND29\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b9b865bcb7a8ad91c21f4b1cc433f6a49dc627a2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.bfdd7fd39.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.bfdd7fd39.0_1592597961897_0.43707660110754976","host":"s3://npm-registry-packages"}},"7.0.0-canary.10b505785.0":{"name":"@material/dom","version":"7.0.0-canary.10b505785.0","license":"MIT","_id":"@material/dom@7.0.0-canary.10b505785.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b9405d7ac173c41865f07d4450dfd66807a82830","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.10b505785.0.tgz","fileCount":28,"integrity":"sha512-LIm1edGZkDmJj0F/EQVJlhjpRWjJSGe3bZy/aw+HgFQzohaIyJNUCuOLlDBkNQ3vMhaSTsLnc5p7zOMjvGqceg==","signatures":[{"sig":"MEUCIQCD9T7J91YatMd0acQ6BnNGBQ7OogO8iiQL0zcgcSFBTAIgOHgXGKs/5nGWYRO8Iq3S8hHp/r89weWf3shQbxNPS2M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7R4hCRA9TVsSAnZWagAAjX8P/0LOLMH/KMKsSO2FXW+Z\nxnWSnD3SPjFOSWua237oG1HbMMRlSYpJ/hb9klNtJRN/XCw/BFGXv4WpIE2Z\nGP8k52f2Y0YjNuuKyvSOPf98AIopau5xonW6ls82PkYwqs/7TpHz3w9Ulrw8\n5jEblO4nFNSKuvtq32W6risXx0YuBri6qGEak1XfI3/HXbfVAmBFzc4Q4EYy\nwAatOEa8bDSrpJSWqlPDh16OFHX1iW+g9ccV7uqbDyaRuneWPkSXoNphsQFr\n18OWeowT2tX8HUfaAXNx7EUGUkFoDXHlkIlSlBLI9LYOZyLYC6J0KKV06BlR\nsEvyTIs1gq3rF3z8cNudwu2pXIXYFofWfhcf9WX5BTCKoYuxKQJkYLnSlh9i\nYS4i2E5B1aBoaaut8Lr1V1clg+KP5li5lf4Ru987Ezszuhzx8VjHeOHM3aJ4\nETl9oJout6vOVpAyJJ8ZZiLj5667uNtID93aZeLOOvBaMGKOirVVd+zoYmjL\n6ykMriyjuS4N4c1xoBcqYudN2N4Ao8Z/1e6KP/WL0NFx2qBiys4z+UPrAVXE\naH5o7wYPmmlLMdemkaJxKkiph0O4eGr4uy98Efy/4PqqLj4/dsxMeK7jZVKM\nzOzZ6uPEkrApsU2AXhyouBbuWDbfxSi2/RMDGrkdRvdAC7eLI0AyXWzSopHq\nr/13\r\n=1z3r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ed5923edcb43bfccd9d40cf56cd605eeaab00d1c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.10b505785.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.10b505785.0_1592598048594_0.09053714821049019","host":"s3://npm-registry-packages"}},"7.0.0-canary.6483d3f44.0":{"name":"@material/dom","version":"7.0.0-canary.6483d3f44.0","license":"MIT","_id":"@material/dom@7.0.0-canary.6483d3f44.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"103b030feef06cdc3352bb742164b109654bf847","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.6483d3f44.0.tgz","fileCount":28,"integrity":"sha512-AWuXZocqo6JBAiJ5rOD7f2n0VMxRhnakuVfOpYEMhgF86i/I6/r1pAIFSet/ZmPhxfpQEMyqBypUjryMIdm5ZA==","signatures":[{"sig":"MEYCIQDyERITvRCQoM6SH+kDkj3kZV026lBNK6PRKxhYdZEVPwIhAM3LHbnkODYBvD1zPDS73p+iYvsiSP3bwo9WhT5Wz9cZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7SHqCRA9TVsSAnZWagAAnzMP/2Zgsz5xO8yjs3eUYu1d\nfyN9piHIXE/+I+9co/S8odUUivb4N73fJw7gMkWE+Af7gyGGBJ8m/pwcFjUc\nNmh49S5/BVijlZX2v2es/wbffydQWFQSFlTHMEYaZIx9luuX9LgkGNz/Soru\ncPAPjRpI8vtQWOxjrSgOWC737vVhKAN+I+NeOIOdke0BifY4RmQRw6R65Lkj\nwIp+DI1dwlSrEvRoUC+gLpypgOKSYHx/vRn9aFBuud4OaXFnDYWYyvn8UH1d\ng8dkhrjOf2o5y7ByiQ7bWd+BDEBheTkGRPrBbgSdhFNpgt8gd1dFKdl/vqio\n3Me14+yZE1Hx0qoKT3UtiiOH4pjjBnA9C+WAos+Dvs86KPHG0nCDFx2IsLFQ\nhJpJ+zFJtrV81BLG7rC3poIh0onzSons7RrQLznvV0dvJM//YASW+p0aLkqq\nR96tz98m9PLshz5EtlEa0sPbk+nk+on6/4eVEO83fCnLDaCfhD2B5ULDO9Sd\njp5i66YvmhYNzeYOEc2YEh41q461Ii8yK4Ez4ZfYNgkMJZ8qe8F0O+FULMqt\nVV7XJxROkA1N53o00CL+vHRi8ily13aJFuKS0M6z4arBQVa8f9vOXc5eB0UK\nZipm2U1vtLypLV//gS8lZm08QKpQI9iwJv13N0BBV9wRfxreK304N5q8zTZi\nV+i+\r\n=Ugr4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5c831da018408423d31c9c4813c507ca591a010f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.6483d3f44.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.6483d3f44.0_1592599018494_0.27513798132892964","host":"s3://npm-registry-packages"}},"7.0.0-canary.30a74e921.0":{"name":"@material/dom","version":"7.0.0-canary.30a74e921.0","license":"MIT","_id":"@material/dom@7.0.0-canary.30a74e921.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b31a4c5b17c6f493d51d4334882e6845ed26f696","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.30a74e921.0.tgz","fileCount":28,"integrity":"sha512-KAe/26dRzug2bpo50aSqVV5TuefT5nhQEWbF9mNPgGRUBoD1dcLmo1qYexOz5fhG3MYGDARzoSLU/KrfiGvNaA==","signatures":[{"sig":"MEYCIQDIa6wlFXW+q0X1uA77t0b1yfbJHRMnNfJQwf9E9ZqiAQIhALtKa87TyA7MyD1DnAQfGsh1spRU4me+tg38DkfZgoXX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7SJzCRA9TVsSAnZWagAAjUEP/2azFvyJfWpJo4INubBE\n9lSwLBpQK55OykoQmY6Z1RiIuzVwm0oA83UMPZpn5B3aIO+bZbLIDwpI+o6l\nXwL2nHZd74Ow8zC7gp8iHK1I+jd+SvzB8AACUBhFeBbgpGy1qnER7FFTxBd8\nMFO9tV+ZnlZtJ/jOa/TujiHV+4/STDa0sPW2NhSKMRDgAU1tbp9mXZXyLI/X\nAXgUPVPXIhYBQltr/OVELeXt6IT2wwgr+FdiU7kRJ7YwpYGl6vcdGyMSaGQf\nETLtskGnI8zcU73DbwxuSUf7Qw2wQIq91wV/+r7wAdqquKlBlDorK71Ot5P4\nXkR4cD4CGKOXnqaK4QkYabY+1eP31kTXcxrDp9+NBDKD3QDZwmqgTSuBNy0R\nQ5gUfCijtd+h0G99U8rT6B9M1Lt/UC0G0FUJgu3TGxp/3kajCLfytwpQtOn7\nLa29igNi7qUSwZF5q5fzh5kY1324tS9VMzjeM+bypQ3SzWt4jBOYbnAJMWoz\nS1sixYTRQ6LuIXLIVdr2h1585okgfnj/c9VmTScupR9APQcy0R8Lvbm33ASJ\nAuXEQxN0e724qoAur0vB9cIezXRXUyFYY8ECfsner9RtH48gz2jqJwKpJ6Ld\nqwhZoBcoZUbEtvVmiknI9MLNoLMalJQIQbx1sIE+OpFSA7gUxsnVe3ex/qP9\ncTnU\r\n=Q1cI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5f983e004147b05efcae5aac51dc16aea4a18a8b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.30a74e921.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.30a74e921.0_1592599155253_0.09692643966501024","host":"s3://npm-registry-packages"}},"7.0.0-canary.c20727498.0":{"name":"@material/dom","version":"7.0.0-canary.c20727498.0","license":"MIT","_id":"@material/dom@7.0.0-canary.c20727498.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3dc8a0f7df72f08b4c2427b1fe8588ebdfaf42e6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.c20727498.0.tgz","fileCount":28,"integrity":"sha512-u8xI/Q6iDrJkaR0RkEfBUKiBZnBsVY7WfxXUa3zZG6oDwW4NljsDP3eQamLe/7K8H/hpdK6QmY09dh9HxVXclg==","signatures":[{"sig":"MEQCICpa5oQMv44dRBJIRdZC6+0cfL/wGH5H1eFZwmqVyeihAiBo160DCOeQpHN2yB8XL+zqLTvQQ6fW1okKQG0rVEPbMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7SMgCRA9TVsSAnZWagAAf/0QAJ6S51sRX72YiVg5cc4E\ncLKp4KJwkHzCyYh4hGEhOkSZNeJp0lTREEcfNpBhYliYMsoo4yILM8j1HffN\nhA6knItZo4oZU4mVn9A8hVoK6oNUS5KZPDzea8GqlMJ4cyJm69V3FLYN9quC\nsFCDBLljsYwSofTt5+IIOrauG82hlHFWS6aQrR5b1BtHCF5VO0ZYSvgws/hE\nbCYZLe8fgvgV37SuSfz15xgrE1VY8UkkoOJUlSKIQjMHIPcCxez9sWa1Nequ\nqiuZNyvQtPh/4IgaTq149CIevFsMpKMcQfn/74I33zs9PupEoHJ+BLLJU4Kh\nUM9tnRvHmI3tbHXuZ7fJ6GMF4Nvs+kG4kmg6Cj+4rcG8nYVYpQozb/aDx2d0\ncMq0GxKTAKGIfd7Ae+pthgiGa2EHeVQ/yceRdeXoK9/AOd96WV3OrucuJ7eo\nTF6hK7ju4xDVtIBivj7dDnOLkiy0+amOeUE1xFPHr+iUY2L5QL0yfF8Kf0E2\nZmqxK9IYpeHXaI7sZJuEzd9OamI+yGo+CJIsdRlCVcfCFN0RJVsNfumA5yo8\nBo4QzC3TKC8oQhVzwhH7NOsibadxlYfkkq1n78EqqWxy5Qrnfj7JAhovkA4n\nxI1c5x+udEtNI26idgx0baNjuSjm4HVb9f65Bo6LulVoMNCGncdZjQcbTf2G\nXGg5\r\n=2HKn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f9ac75746f7899d34903c19ff758bcadb9ce2d30","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.c20727498.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.c20727498.0_1592599328187_0.5807240614962104","host":"s3://npm-registry-packages"}},"7.0.0-canary.4e360ae94.0":{"name":"@material/dom","version":"7.0.0-canary.4e360ae94.0","license":"MIT","_id":"@material/dom@7.0.0-canary.4e360ae94.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3647c423c7ef5f6755655972a8cba25156c4eadb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.4e360ae94.0.tgz","fileCount":28,"integrity":"sha512-dHf9Co1hAUgKp16K2OkPweBXzliZLYkMeTJIQjo/TDbMDQYCUBWfesd9wK0XyGVf03XHw5v8WnCMZbiC1d2GXg==","signatures":[{"sig":"MEYCIQCC5FZEAomxCrz5DnX93HuQbm6e8VHnk+K9T1kdg8klcgIhALbJD+2JH/WeOWPgH32XuA0+08IHOeHHxElRrzr2IDh9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7ScPCRA9TVsSAnZWagAAgjIP/2n7cUMQFoYGGbSmBVSM\nasEjC5BicjU5BkszVNZh2GSF2nm4MZZzgJf02Tuvk7CKhddbz8FYmCGplxPu\nlwKnYkVE92J8TpTeM3QPDSOfPyhITk8kfydTsQkJcfYntXhzFPp4tdkXhb0m\nqpNnmdD+X3Hp6yMCBBBEM6Uu45f14T9lSbv5uma5y+U164HFDUQ0Kte6c3Zu\nRgbhM0iUb+LTJVjIlNMmghds8VuKRs2zz7/Vv6vDjevqqqfZxiQQXNmK35of\nVzNM6eVVxiOM/MP3rWzvM/s65L8qC6rcZqVPBbJlZYa7Ko61LTib725kKzRu\nyBYQerG3BQgpHW4iv/xkv7nNxVdsOGWJCeFHkB19m2kdWae8ly0uwkh8KNys\n8nCLZYza2o3tuaVlXfo6aVx7kdyWyqJRvNOx6QcZ6P/Gmoscf65jFZsfwBLj\nqmbPa7OTATDHFcR2Bw0eSQHhCoB+KQf0UekfgWp9LWElWTIZiM8PWZJHyUmg\nn72YcTJ7eNvugwCjlsPc9n75BUwDD4aoJKJ9ZWWbKb/uESJMiw6WZ/aNH7xf\nFNYWOyQm7FG9AfUiCciOyU7zTkusSYMu4KEKgkfPgluvFHs3fXFrCUkfl78B\nhMt4d7tl6bTkHxCPQHO4ocFYHTVis9q861KgbHNbYUTMGhxrS8sphYy23DiX\nwDqq\r\n=lmHu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7bbb3adc3aa84c4095304613145fa53862e147a7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.4e360ae94.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.4e360ae94.0_1592600334645_0.27031759842242153","host":"s3://npm-registry-packages"}},"7.0.0-canary.8550fa53b.0":{"name":"@material/dom","version":"7.0.0-canary.8550fa53b.0","license":"MIT","_id":"@material/dom@7.0.0-canary.8550fa53b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"54af596dea38d3ab9d4d9607f3be0f43798053f6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.8550fa53b.0.tgz","fileCount":28,"integrity":"sha512-JmWzSAbn9fsQeoghvg0XTbhd2yXU1fO7TKJTJHTO6bcERuManLP+kMqudT6m0aMuC8fd4xE7T2P3xua4ur9UOw==","signatures":[{"sig":"MEQCIEeGbfuQteNsB+xskO8OIwPSBfxfStrtYyJ5tM/rVHuNAiArONyCHbSKq1t+R/svzgemkGpgtbrKziV3brkVX7pTzg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7SeTCRA9TVsSAnZWagAAn+gP/Rfe7p2iNblW3m4wbdiq\ngTAbohNyF4eUb0JWpS+pV9zP61iAKGk7JTNrb2yMYv/cKMuQxiHgFTv9Gkm0\n7+DtXkHTb2rqfp8Y9t5PqF8Ln4apd3meVfW+Lku2s/r6CiW2TarbCl19ne4v\n05V84tdnf0leSrclNz6srn+C/Dyuf7goU7e0Db8hhalt/W9xVIThGhELCpiD\niQi559VA4vsrSYHfW+qZHTlK48vq0T3yr5Oy0vx6PURhURagr1KzqNlv0qLd\nVR32TvFUmUZ0BRLIAI+cPRxFOXMseFPFmLCBgwXmS6V75Wo+qow1G2K15dIz\naQTn5WodRowltUVXkuGyfn7LaTQ1+nvtHQz0dh02OwLGKDCN6U1Uer1oq90O\nIMcv+PLMkC1z9yfopZS2iRl/6xIxlZCZzj7TrFgpevE40ZlE3gNHzd0nNBaZ\ndfQrs+cWPX82M4K1/i6QvwvsotppqIJm/6qdTPmO15icEvr3PHeTgUiZdU5E\n18CpFXD3dXJp446PTL5fuw6jJSAuOUtX/k/sJrJbZ+xF/o1knJ6jut3ElP95\nmMYXQCpOnTFGgrQZou2rio9qktf78MT6mbCV3K86kFF6Rs8SjWcKLBnyxSfG\nc73bXl5KuFkwgylMLX1antRe1BSBkbWEjisp9/MOdMaqrZxfZnxeUCS+hvL+\n2vbH\r\n=LEer\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9d8529cbd579dccb2470a1f19fac57883cb2a5ef","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.8550fa53b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.8550fa53b.0_1592600466663_0.9045597508362484","host":"s3://npm-registry-packages"}},"7.0.0-canary.93ade142e.0":{"name":"@material/dom","version":"7.0.0-canary.93ade142e.0","license":"MIT","_id":"@material/dom@7.0.0-canary.93ade142e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c81145000de5cde08d032e1c591d0cd5bc01ee04","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.93ade142e.0.tgz","fileCount":28,"integrity":"sha512-6q42urO4Qd0o2JbNRBazo2LtmO1o/Yt6JZqraqFBI1jAwxh6X3tz+pRwqaqaUYl4rVTZpVHuI2XHdk0O4Y3DEw==","signatures":[{"sig":"MEQCIDRJ7PAemKFAm7xNeIVpbKJzHtso6u64hajXSJqI9gPGAiBv0lLRTfVQ6xiE7uQz+h57047DoW1Cl5eDPc9hasjkJA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7SfZCRA9TVsSAnZWagAABEUP/35ZJEEWWBCySEwrSrjs\nUkUhHDZm7GIZCIwkNbethGCycAfSsuqRo6RvCEwHfY9vx+3j+f4NOKsANGqu\nAZHBkzGIVWlUA+7rm+qNUYHCGKLiVcejTrlGV63sFgVFk92ZfCdxENU4Ur0S\nSCwzJeL82K+SFaR/GafI3WT/rf+fKtx97Mo3+5T6Mhd+2fi3rn8DrbtIw0ti\nSeaycZh+6nybPse273CKzKfoKUMrAMEHAu2X3wz7bjvHuvaFfLQldqOBi9c4\nfXvQAClNxdOP3yPiGSArwJraqJFzkfTEJx0esRmDw77FrhBK+0tZH6gXlEA7\njUsjmvDJQh9P7qyUidl9SJXud+2qb8ljLlhoRyKDgedxeOGqNfFbjkeEG7bZ\ndtLnE9sWvEg/dxtv4NIJqSEJdxAw5m6dhCp7u8qq9Ma90tSuyiKWyU2VCJ3a\nWhUQqHX5ioyjN15YaWDEqk6faNENWDI+M5uTSdl9bPBsI61xxb2wygaITtDc\nCETt7uHMnonaxUYMZvPibNrk1+se+BXTuaZL1ssOrCqkAbvllLgRJUGJ9Pq6\n6qxDUkt6RNV7yB5S4N6xQjdpmtaHQ++RnX4dgVcb+RCg/R7NqYNhjTS3d9LR\niA8kaFJ0Z6xqSp80aiumQBVIfHbKmjseNYSYo7JoMNac4i15JMjwdD5f1PEs\nDmeJ\r\n=afli\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fe392b7ba8c7033e5614eb91a20bdf2e6d7d7936","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.93ade142e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.93ade142e.0_1592600536947_0.7790986782750449","host":"s3://npm-registry-packages"}},"7.0.0-canary.a0032f5bb.0":{"name":"@material/dom","version":"7.0.0-canary.a0032f5bb.0","license":"MIT","_id":"@material/dom@7.0.0-canary.a0032f5bb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"adf84a2aaab424975c09c6526f942a7b9afdbf61","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.a0032f5bb.0.tgz","fileCount":28,"integrity":"sha512-bvyTNPCqr4UyQ/dtBbJIqQc+5FwWzShOkcyRIpgTrI7tPAIwPIo6wxL1p65vKaSS6qaZeL+q5EtxClVQ3YUvmw==","signatures":[{"sig":"MEUCIQDG8YZ1YzKRdsAoIQ4i26lIC+NzavdqJG8cW2defpoWgwIgOxbn2SvWilRSYIrIsjmdyIE5u7RHceAQ/T/pnfQFzKY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7S21CRA9TVsSAnZWagAAIGIQAIIohBkmSmVu77RURDSD\n5BLvfDKKEa75QABsNQg5H5ac3a55CyIAfznr16HeU792pF5pHEEs6f8ZM0wm\ntnr/AlDJYAS6s3IoTakw/DZUEWahQ6/7FUCeoCx6+DrKCL91S7JSGtPX8zuv\nb72BkWBYN5t9klDW8LCbNBbzpcL2f1F3+dXWDOcwbLkZAYTsr/GAnkdVIZ1i\nNEU3l88/u+ghSt91rHPj0IsAHY5eEvDEHFwhjpqeBgsDMuUq2WViCocMIa7Z\nuV+sjJuBfmqAlUofMtkzKy2OYoqo4lSYbXyI/wVyrW4C1tWi9wCx1BCxeM7g\n8qUymWi9sFkdgi9f5Kb55WUX+j9vIqngr6JFc7SKRTiI6U6/rngxbHAsCnwg\nuj90Qzk2lRrP0Ih5ILzRhpX/3EaZuATdgCmN6YHn4wDOCzWXTZDcNHynCgJ0\nD/0+PX/1JcHrD2JpIAQkgEbbBzgoYo0PfnlbV0YLm8wDJHr5iYTMfKCyJ3Ti\nndPKOjgdUHgQmu0960volf+GCzXDVt03D3tU2wzbPVYSbrGrWuzOT1qHxBwt\nCttRas7sZiGNd3PZgmAcSAOMcDcSYwfFqjjAhXkVArW9FIDw38hOggjoZs1D\n5ozNp+WGepPWCIvJriBPA/A2FuNAopnGqsRHnfAO9wLlOjYr1EVEJCi7YnpF\nqIEm\r\n=rsXA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8c0789d8c409d91f7f4e13675ac80e0f355bac02","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.a0032f5bb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.a0032f5bb.0_1592602036796_0.3941583344643216","host":"s3://npm-registry-packages"}},"7.0.0-canary.3f342e721.0":{"name":"@material/dom","version":"7.0.0-canary.3f342e721.0","license":"MIT","_id":"@material/dom@7.0.0-canary.3f342e721.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"817903074d13d9389e4e95af32d1db5c8dfde637","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.3f342e721.0.tgz","fileCount":28,"integrity":"sha512-8N2CZBY3cGbZBAvKv3F1N88mV8ZS0QOwJ90ngei8to6IEmA5j+xtLfC1Gf0ASRD8qW5aGeJnYYjs443E6vRJyg==","signatures":[{"sig":"MEUCIApplItkMi0SA/dvseli3N/WwuZi3tc2jQr+LooYPr27AiEA4XUVwJ8whHm6b8iSYhVcMQ6NdoT1bwLupOrPOrYrnUo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7S4vCRA9TVsSAnZWagAAF1oP+wbtdkHgg06td5svrdnL\nb8Ubctr43gCb8G5GUTvn6lfx2updC4id5y7EnWb0OxOEPL/oeqH5czm+io32\nyhuq4mP16ONVXAt71Y02pNl4iX0N8yu7T47yp8Dfc5H8q4wYwdrmSF7+bNrh\nQJIuzuPy9PNRNRH5ArKeflylHvOD2LXTs3EN3BkC3zDeWBbAwdXhp+52rY9X\nLm6Y2hEgz9+XAtBkCgp2czGi0AqrndFKwZ9I0Wj22EeJ91udLQ3pSxe6QZ5S\nvS8Ui1vgCk3QChvnXuG/Mz++pGKKIJNfgXaEZYyyNjN5e2r0L6fuLbDorMFS\nRKFMmHBpIhYdktqsLYbrfHGcTHL0M8o8RBb7/IGbzcgd52dICocMF4NPRROm\npBbpsQfYrRwd04FMukaxpca5zZFheTI+VzLzPNZF2gDRs9xSL31CfFF6FOW8\nLjrfQIfuRp1LUvLR8H8dmTLPu5PqkhUlqG2efS5zccB0LIV/PijRnIC/xc7e\nwwGpJlpda3SlXUK0CNS+8SyvDQjSGQw0BxqQH2Tc1zSaVgFRMZ/RH/hak9h1\nKVp/8TFBRbeJpZQTSC+h7yT/8ItPOWPr/Y7gV+Kw2Z05qFxPSGYFA03cOdcJ\nChMMKGGmYMbpu8k0q6dzxyCH/MnKil0lvl4eGDxZ1TMxpU97xmkwUlG6f701\nagAU\r\n=mLc8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e972042c8ae08ecc8469492707d55d647e3495e6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.3f342e721.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.3f342e721.0_1592602158871_0.8824177189306512","host":"s3://npm-registry-packages"}},"7.0.0-canary.ff89457cc.0":{"name":"@material/dom","version":"7.0.0-canary.ff89457cc.0","license":"MIT","_id":"@material/dom@7.0.0-canary.ff89457cc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a05b5262146f8e8771130b08a42b2dc0d14716a3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.ff89457cc.0.tgz","fileCount":28,"integrity":"sha512-9Vur+0cXOqLquoosGRklKfFB3kXll8SKSFyk6gLNTxpqWbprEVCl1Z+aNoGpziOQEl4y96yHyhje40pIHHCn5w==","signatures":[{"sig":"MEUCIGOS7iZTMKS1eBxeDoQBgW4LZ/VRja5QaPQ5Qh7qa+bQAiEAqwL+0QmWKAh0PrCUnPkEk30GfLMYqckHcK5e6tTLy74=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7S6ECRA9TVsSAnZWagAAdfoQAJXhN6BHi7qmnlCwSBUD\nJLPgjqcUpSdGnaMWpLhBxDmuD7PTYkcTAS60GAIEd+3O74Mvqsx05hohBBe/\nbsCc/G+ykbIJdv4hUgSS+AhO8tMM+Dment5CU4h7ohMlkbu0VjG13JuLPIhb\nllP1TWhOT+wZtjYdM5JiuNWZjN/Ao9Pxi1hK7w6dKJ7apKlkYLryexSDn5Qb\nJWdvEab0ghbZCtD3pgbt1L+rPNJMDv5jzpks9VcqyWtrI4BbcIBaoqVOzly7\n8+FgWFMqwz1zx0GQ4rZsWZlLJ+6GVGuHdcG3EWAioZxCmKo0+dZJ1yaA0/er\nqYnMtuWzu548e+BqvGdr7y9kMH9UVqwMtBX+PN3/Q+ia2mD1b1fpOdv5qlyU\nW5BL5qHmgMSrPQobIq4LBz4RuiXDuiYZJ45wBgdu6O6lJA63csRhO7KMDrvu\n9/mQlzZKVDLmnh/znEFWIQbHNR4vYountcfpIs0I+Q3k9Tk2hSEKVYuMi9ir\nUfVxPFId/cTkUSjleBj9rJ1SyZa7SkgQINzT65uyeOOl3sTaQwguf53RSV3f\ngikZ3gL5jfMhLgo8kfkgO77FUjguJWM4bUP7FtTkmXy47uaC5LGXr/QZ/NeR\nz7r3CW3S2SMj3HlxIoaAxQe4Ai/hhJPC432T5RCehUnheEljhk8VUfFHNZyr\nuaSS\r\n=XVNM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1a3ec64383e8afdd818b5edfb74f32f6acebd044","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.ff89457cc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.ff89457cc.0_1592602243703_0.1950083054448779","host":"s3://npm-registry-packages"}},"7.0.0-canary.4a1855cf8.0":{"name":"@material/dom","version":"7.0.0-canary.4a1855cf8.0","license":"MIT","_id":"@material/dom@7.0.0-canary.4a1855cf8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"521e4cc66fc0fcae99288343119bb3d0737bd9b0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.4a1855cf8.0.tgz","fileCount":28,"integrity":"sha512-yh+sL5GWh2pBnkbULdTvXUgANfQolL/OwQtDlBOSNrAkcVQW+cjla0h+fXotP7WGDZIEkcGi1aJkUAB1ZPfbBQ==","signatures":[{"sig":"MEUCIQCwD8He9JgUX8uwkhnogCaCsbRWW5ZVXzFjNOpmTt0OMQIgdbu6DlFRJOc4QeV0dZ7yZPypAdCYqnfX86lsjxwTWfc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7S8oCRA9TVsSAnZWagAAHT8QAI5tUWAaHtJq90cNRu6l\nPhDWnKvALHl99bNG8A3iTYtljAix8EfdOGLMeF+abVrQ4VcppnAU8MmJjU3Z\nlLls/X6Mso1s7pSQPW5xtVnv40H8nRVDQIiQquuYsP527u1NfbzbniQjcdWB\nzMPyvBOz0YqVfJoxoLN2mEgPNYthku1F7q4ZR5yAJhtDQIF4NWPFK0wZgWtF\nVlW5z40I+Pusl3KtV6LywynAh1hXSFa1uPb7jySc6E8zchCXMbxcUz/zUolT\nhIcqK1SujqM/31Uo2kMaEjH970weddatBYcZR2CVQcME+5YpRu9VPW4U6DrN\n23l3whxsmREIkCrRGDDeEjlsVDdwcM7EPlEfUccZDmadRZntJh0AheC8kK17\nGPAH4rM+sLrJ63F8zASTxeispD1pEZx9Ai808GUqZvP/xhzEefiVCtXlZSOa\nQhCvTsDNciLXyQjq8HeugMHwbG+cwSPwaYNT9D+Z5IaaXlDwGy6R0BXFtsEF\nGS12Ghw9rdHnNrrObqduJ9OQcNFnUx/KSqYzRHKcMqSolBjQmrwa8A8R83Sl\n1f5+rk/a0x1bWzvCWCg21075dzTLefcFKutplp6cRiPMv7+Gh2hvyBEgFYBE\nE/BR0rGns3jY/GSqHTG/ouNT03GazaC7UMQgqva36ye8Ryseax0/HHhVcYB5\nE4Fv\r\n=vtqr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"eaeac5e820cdb30fcedba281da8c2c4a846f0e73","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.4a1855cf8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.4a1855cf8.0_1592602407943_0.8855537777282287","host":"s3://npm-registry-packages"}},"7.0.0-canary.8602f1b4d.0":{"name":"@material/dom","version":"7.0.0-canary.8602f1b4d.0","license":"MIT","_id":"@material/dom@7.0.0-canary.8602f1b4d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5434817b0cdb2520a5e3286ecdae0d3f9fb15138","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.8602f1b4d.0.tgz","fileCount":28,"integrity":"sha512-bDz1geSw3BtjTQ0f+1WvS5SUYPdaj/sO5bzxVsbnjw+FoUJui3LxRa9CuPdsitsN8WeoXGDbmfffJ0nVBFf3pQ==","signatures":[{"sig":"MEUCIFN/2iivR4NabLsfocIS6CNkCm2oADC27ddIjhHRiOzwAiEAlObfanxLrAP8C96DM326xUaABf9TwdNrUNz78J8q7vY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8Oj1CRA9TVsSAnZWagAAIFoQAItaLaxSJ14AJ8VIzp+s\nXhGoCxsSxcBUzq/5LrIFovuRvi5CzEmyGj87zb8pHXX1bVOT4pT4jleSANEq\nGIFEHBv0QL7Az1t0U/+MaCD6tlcZnAXlwP4DcGA9QDztwAo9QRuMUvd7cMJ8\ngtVkxmHyksUv2n1sFI0MbA7Xfbg7cFxOCbuH420J/smKhUotwCny3mxwnN/t\naeng8xjdSLBVcPZqaiKKrK6I8aDOEzc3FUb++wMEMzsXhPTcY8SJ4FQ+niiq\n+YwkD6hMSOka7yI3w1ZqRPCdfKld+nyvHwNxT4z2pl1KKJ1KNzkempGK+aPz\nFufGb7bKkDdOBV7iTjxvhWI+icTLhogwROLqHvmnWTWVIqXbJoX37jk90gCL\nPEEmYBhjBtjs6amzh/CebDdDa2NV4BodQuFLfMoRQB/30BrxlPdwsQuTamSE\noS6LA4gL4hoLV0rtGbXVCV2uECOM7chE4088vjfuNcwIaBROAPGNp+eYQhP1\njZfJlRSVLj5hFq78nWMFhYPq5YjZR90wvovEdTmw475p3EUXN8j8cclEjI4X\nRAaMOwoqogbGrQkfiaElKbUlpl8NSFbVjBLfIvu8+J27AE0AosFfIrd4zD1M\nhLPRhZnMVgebhQ+CNyOhuNHhKXmw1dDFfutwet4/ooUMDXuDyuYLaZ19dZZt\nsmKD\r\n=HeqO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"07f6372c5a2f6f8add971db62aba74793d912f70","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.8602f1b4d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.8602f1b4d.0_1592846580901_0.7901199325950137","host":"s3://npm-registry-packages"}},"7.0.0-canary.69f9f0982.0":{"name":"@material/dom","version":"7.0.0-canary.69f9f0982.0","license":"MIT","_id":"@material/dom@7.0.0-canary.69f9f0982.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e40823c4e6fd6eaeb1770551ffc16138873b432c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.69f9f0982.0.tgz","fileCount":28,"integrity":"sha512-H4BB4PcXkke+KEqstyPFE8S9sTs3UorZXA5EFAwyGvhhrJtf9DqxuvBEXZXFrgpONTl+ow4WtDD4jjc5HPm7EA==","signatures":[{"sig":"MEQCIAp8TYJKdw6TaBOfjt0VJXfW55CpBXan+2RibQL4lWcuAiB2wsk0NBhhPzkUEMZe2FoC7Tfv6k2VKl5zkMEw8MQGMw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8R8NCRA9TVsSAnZWagAAqYgP/3NAYPzAhoPSriag4Mfm\nzOZeCDmVOjlN6K36062/Os5O73wWvomJjfbRUNGcM38CPa/kBVM7KNGL1TuK\nkdx/jzKqJKi6ag9KWtmjCKoLGZ0fyK8oNKVD9/mjSRdpee+LFTKLKhe9z2bX\nLJL4hMLwchXtAnKEMEnv3mZUmaKnGhBVdb3Lqnb8LCzgHm9IfP0/1GiK9Muh\nFFeDR9EiFRpO+nsFHcPm4mPqYctKrJvO+Vb/Osxk4Gf+RoBDiEZuMfnhhSCE\nmvrGZfQXY3aOz1jRntTuM4btP2bp0dvTNCemsZyrYEVQ7DARGh8fQmUtvuo+\n8r/3oVa+wd8uFNvC2Gs/tulQCk/X8OT9fUdaRcvQs3vJcVcpYeVaLpKJEvAv\nzpeOVlX52vIRbby6PHyKpUqG+kQGsMCFs7hpUioul/5SAM02LyRVrRGcqq+k\nsTFtXeA8zn3n2DozBow+/R7rRGwrpgUE3JHaOpoflU1V4pyQaSZTZWAidQLj\n8u6c6JF3kgmYEpFeGpRXaQhq6a1++YQ/w5sMfrttrzcRzuI2J+Gfv9hcLlek\nIHAfYpTyTXGRYkR4qfjyKCv8gQATIsDr3YpgKrKzICoqryyd9wDQTp860Z/m\nF1GGbb2TjZIzKTh+BPLljmgyvohnlHaIyl48FM41DcddV56p8+z1Pu4Jz21S\nSTQT\r\n=oEIc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3aa0430a8c5f21a2aa9f3d54afe07b1c1b1cac09","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.69f9f0982.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.69f9f0982.0_1592860428797_0.1331127272767545","host":"s3://npm-registry-packages"}},"7.0.0-canary.369a293f0.0":{"name":"@material/dom","version":"7.0.0-canary.369a293f0.0","license":"MIT","_id":"@material/dom@7.0.0-canary.369a293f0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d1ef5bf2f3846701a3db2b09695636ff58a9f742","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.369a293f0.0.tgz","fileCount":28,"integrity":"sha512-DKxmyLMs5I5UcRLlVz/bhjAiJrfOi0+21lW7KEAmdwBBYFIXOLfa6E4eJCDWd3OZNmZy/uqPTQmJ9+m6+Dhwrg==","signatures":[{"sig":"MEQCIGpgJhCCgXkSG82vM9cjugajYlPckQa3wTMsJ6STF3nqAiBleIPualDtGFJVQr0fxcs3bWvTulnldR2otmKadzk7nw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8R+VCRA9TVsSAnZWagAAU3MQAJ0URKynVhWwQqFNNQ9T\n3JZh2sYhrt1Ip6Jzog/tqUekmGZ+cqN/ghn7Pmc0AEhOCPIwUjV3b1yCHDu6\nztBs1k7mtyZzv3P7T3dVjf6lzVNKruZM6WWw8aLWsXze5MHYOpnqys0+Pomf\nbkdPmlXN0Sqcnr7dpDDnuVeQGP/wompHAKJlKFbDgLhw6wJ/RRrcyCaBj04B\n4to4QAA4UebjkNbFQmmV2wxOAYFL9FjfL43OMkwxHg380DLIVwah4HU8XWAR\nhvIMOYa00gUzpDCHX5WyHLdp7i57mqkYMfxDXUdJnspXkyHP5zjIKZt/Z3mW\nuiQlpK745/MCtG1WUiHTkUoKNfT+GLH7WjNaUesqg8PrfS86ZhPkwygqY0w7\nha2wz1e1Gw9TZewCRmo95l61QLB4jLDQNVx1RiTbKH9V5JbUSNTyBesC/VPk\nObwENVoUTIJkpNr/xiUcTZxUtYNSvvWD5/RXBpJRIpKBr7/7DA9F5wFFdC36\nECNGy2sc6XiGU1+uKXMHkN5J1AjDJK95RzIieNx+BVEr40CtJi5uysOKQAbf\nkB0dR+Rq6x/FLCwpFXJszIJlr12O92YeJMDI0xG6NW71mrD0erfuXZxCUzp2\nYo1q4sQMS7CkJyd8eSpXMtIdbwvzdvuImGAPexntd8WYdH7mhp++ZggE/iYg\n0ndM\r\n=Gu+M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4b9943a16a4fab61aaa8f5dad0d4f7aecee862f4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.369a293f0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.369a293f0.0_1592860564598_0.06839500006124166","host":"s3://npm-registry-packages"}},"7.0.0-canary.f1432b5c6.0":{"name":"@material/dom","version":"7.0.0-canary.f1432b5c6.0","license":"MIT","_id":"@material/dom@7.0.0-canary.f1432b5c6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"48495e381953ce97a614b20321a632a98473cbfd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.f1432b5c6.0.tgz","fileCount":28,"integrity":"sha512-MTUoSgGGD7Uqeopl0lq3L36g/DsLxQmF2v77LvNFkz5zVEU+uRI8/tDOQ5bzXjb1zGe2IPeoXEcMEU5YFi8Ivg==","signatures":[{"sig":"MEUCIQDxP8E+B07qOCTtDVpASDfFVKWQPkm7Ttg3JuPuPY4e3AIgSzmWjWQer+Il3AyOCI7rh5G6XzwCOR9Gy7skKxUSUgA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8SGaCRA9TVsSAnZWagAABaMQAI/kCDgY4i5ObU5OUM/X\nSwhLZrBucnwPz91qEkfKdcDsSIdPH64H+gwuBMrkeOm+fJ9Zlv6yHtG4Km47\n6BcCtjNnliVYOOrUNdLAv2HsFQqC7F4WpMoDWRDDXa8r6kFsiBBoGtqCPqGs\n6O+jgoDS6AqVmnWtqnPUmEtLA9wKd/GDvhRvx3mzRMqeYLVwBvLChHbwOLCE\ndZImKGHgtvyovtFrX04gDoimDHQmYrPDSya+uqSzXsnir73jLCvcNurBXm7j\n/hIVOhFf6siAhMK7+lEMubDskQ/M4PO2o1s+UYxXS7JL2p638CcvdS7kYhx8\npQVeBZIu9IibYSP1dqiEwS9EYxZJ9FYUklZiYYPBHUWK2wAwKTXL5DKrPQY3\nxgnKisk/QisX+/mpCVlXLlEUjktmQ4TNWPgkNOIrzvvcshdv+vYaFiL6Aa7m\nigPnPhFVl18ISjB2CAnQ4sGvxf7Fd5we8ml5fyw0Q5Y6IXmpHF+/DvQ4PuCL\n1UBOThghlvTPrhDBVAhlP+iEDq9ja48oXMdwWQ9LINigim7vwNYfSDRUv3eL\niCXRN1I88dl/8trWtUGnpMyC8LNu3c2KjLzehX+4YePKc7Q4Spq+lYrmOCda\n/m8QtGHIPijwwmbQb29B0hAtPIRw74qap+t4i8Xwry49UT6RVTG6MFBlcNgK\nXkJC\r\n=aru/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9987341fcee9f9c549490bf6cf1a6ce57b5a83e4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.f1432b5c6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.f1432b5c6.0_1592861082292_0.20124915705537205","host":"s3://npm-registry-packages"}},"7.0.0-canary.4757a16b4.0":{"name":"@material/dom","version":"7.0.0-canary.4757a16b4.0","license":"MIT","_id":"@material/dom@7.0.0-canary.4757a16b4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"212ccf81c38f1a7976eb110f6ede8f8013284b00","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.4757a16b4.0.tgz","fileCount":28,"integrity":"sha512-HmMuAAvd7IzgCeJHMfCnlrUwdX1LLzmV+KPNFjNbHexsHUn84JTCdxgDcOsJSwhQZluqY6isnDnTap8T4oGkHQ==","signatures":[{"sig":"MEUCIQDjr0o6aAFpO2L943H4ya0JsiqEuzFO/K6T4LwPAkgbGgIgcG5d+Feq1RZFaOyMkWSzqr2NpD/S7APt7MYGV9kxl0g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8SgsCRA9TVsSAnZWagAA/qcQAIEO4Jzaj4QEukdePbNs\n79yWyQp06mOEzxEYnqiCvkDYGMQnRmx4GY18Ogmsv9lxg0C/E6UF7NQz3aNO\n5jQx7Ctv4A8aS2UC75cE5JmwSRh/wHrOOoFpnMbVeAKlN3CrBxQOOSQAk/B8\nkGoV9Rs7QWJkM6fY2F7w9uTrhZJbbPerhNSQQoMCQ/jdEHNY1XetD8yJlLYz\n8TDUp3qmwFfTEiPssEjMiAiWajmQQBI6Qtr1X83R0BWenzyhdya+4Gqo3iSW\nnnr3ZTaem+qHsfqFDcTIs2a7JO4vfu6eQLnjo9ZTSpmyP3eT+JW5x629hB7h\nRQeoNn4n55uhYRxn+uE7BO9jKAbXeCHAjy/+ZW6Uews3UjHxNGBKypZQP6nZ\n8PQD4fF3TqOeU3uigxWEDuMk7t0LQpfUq709NkKbziU0PLFMsP8vt39s5f33\niCHLQKObUkMDYJkeW6cqEb9c6q0bfQ6b77JHTaclsoCiEuLkzJygOPSOxBLy\n7AmCeTnppCPrJV1jqEWmDpqcW1D6GtCFWYrUGEONRp3n7C/1O/cLsQ1iOgTK\nu8SObGAh5L6gxsSlQv9ebT4qpWjExoGU2PJkmhTwVzpDEp8+4AQGb8XKA87c\nJTlywIVY0Wbgf8QoHaTPy2Jk6MWXTR7d6ex0W5vgqjQhDM5OaE8ijP7ROjoJ\n7G3w\r\n=4ujW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"50b08262743d25109a9cd3d4c87d82d0631d9c79","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.4757a16b4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.4757a16b4.0_1592862764565_0.9778543880278041","host":"s3://npm-registry-packages"}},"7.0.0-canary.f8f472762.0":{"name":"@material/dom","version":"7.0.0-canary.f8f472762.0","license":"MIT","_id":"@material/dom@7.0.0-canary.f8f472762.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f9210f52df633a2e66403d9552a5df86f4dd3872","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.f8f472762.0.tgz","fileCount":28,"integrity":"sha512-R0pvlEKpFN2SdreR135doMdOAfVwxUOizSstgnbcZT65Q4ElrmwpOROVHq8gqf/2Nfc5AL8WWBpqKBtAwmw6JQ==","signatures":[{"sig":"MEUCIQCaUd8JVUC2FDDwnn4P94m9SJidxCBjoji1R2qzNHDRIQIgJ7+uE/YHW5Txs8V7FHlJb7wkWMQigm56Zcc2Ol6ZEbM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8SkiCRA9TVsSAnZWagAAX7oP/1GyZ6ucJcHy/523+CIp\nzYi1vT6djYL8Zrh8qIpMXETrvponk2rq87WRlZn4nlI+jFjXCWW8nYc+PkeQ\nwGP2IxcXqvOrEquCs2nYaXnJ+5uDq/x6xZG3IRBW0U4Ni9h3ZXxfaliQbhCT\njNjRKn+AQqbzy8rHZroy3g93LFUvOC+FCcmEyk6EgOTBGONtsqzM99A3LfFf\nUVIdNp/1p8agYCefUczEbMjkG9pPvpjSAQ6eXfgbT49Yg2sXqEqLq+vty3G2\nKVuZaYWjpCQT/fk6c5JrWg7xRFbwkpIHVedoI3vYxXF4cmyOVZfMzvem3g+4\n3Guwd9efMV3FvyR/aJ8c8XJKPCyx+BhiYthWe3xBLQcbJug+KajdNc6I8LXY\nMUiWmasCpjFDgkOMLMcuBgtvSrLZq4FUtxDmQAWbqLgnSwe21TIa9DV23qxM\nePesqCsFef8KXdBFdW0/IZG2/7dewUgUksFTjrKnMduTmZQu20lcOhdbjIp2\nVcsN39KbK2tGKvLogtWsn6xE7x8shLbCHqbUCdkJi3i9YZ6BweJtfwmSTCRg\nw8UwxFkR9eCRdUqMMBmHatd8Lxs+UGKday9WRWpJepxINWkghpOxR0vn1CBc\nU0Yz5/2ZLfli9DLz56IDKgKAvL/15BQb4AgkTfjmupa2NYlayKgSciXIp6Qr\nb3Wz\r\n=vUjh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b72e40a4e5c11a670f3423da9ae1ab370f088535","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.f8f472762.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.f8f472762.0_1592863010115_0.35817269426796594","host":"s3://npm-registry-packages"}},"7.0.0-canary.7e4d55c34.0":{"name":"@material/dom","version":"7.0.0-canary.7e4d55c34.0","license":"MIT","_id":"@material/dom@7.0.0-canary.7e4d55c34.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a87b3d6b73c41f440b6426d1a6b97f3b4f8a4e42","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.7e4d55c34.0.tgz","fileCount":28,"integrity":"sha512-EEPSuIN92mITiD8gojzxASA2fg/ipMsMRAG1GE8hqiF6W/eyoybeSJQvwGAgBbJgMxyZAdDGNUtMxrnf5r0hmw==","signatures":[{"sig":"MEUCIQDKMnNqPdRjkfBxy/wNyPK2nH9AT4DFeEyjgowpEeWi4wIgFBxURntmE+nRXV7YZ31CiWpE8TPCM2EpLkUkSbq3+QE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8TCbCRA9TVsSAnZWagAAMSUQAJvDX+C52Yewkt5QAeP2\nEpckOJrbGk/ChOhQm3+hJjAcrWzYs9SnYIM9zyrmqC9N4erfonvFyqbsSj2E\ncw7peEZRFkM6b4hn4us/9z3V7TU6mDtfZ9yTVKyHJJ5r3Dzrg+tnrgKbORIc\nSqqP7U1qjWItv06SKh2Uux7u7rz7wBqEWYJD32ArrTqLluEcQM1qNtkVdt8v\n+IVe6bO2cjIslPNe1N5YRO5BiZ6KhgiQFlmGVTRC+tLWrB3shuiWRFNFrrjQ\nUJ9VCRrFG0IOh1tuu+SEcqz1S3BeUpQ4MTG0KwnLmbBciv7NRYQ4xMCtqVJR\nm15Tg+blI+0QtZX4pvJ0YOyKSol4r4+yhUeIgeEDcbG5LND8RAIRKDQ8dtsZ\nBrbG3PwjbCy/CzlH6EahTCf6rGonaGngpKTf7qq8lYj6vVPJ+CS51Oz1N5Kn\nkKZgmEhaQVTkBCsxc00aeyqsb98j2d2AQOjxtvtWQYRwnlt7elICuznA/M46\ne2PBdQnGd5GcY4vSeWjzkU67UMcSl6GfJsJB0Lqh7Pp1wAZ326fo41+fRXBC\n/hW04RGxGm/QgC9rLcaS1LfwX2sZTt1+/liFYlGw4x9eBDeSGm6tV0XXoOpC\ngSX5BbciG07VOJQp/Jzsbfc/i5jAt7XAoiezWtRzetuw3PT2qKzX1TeqvWxq\nmN58\r\n=4MP1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1dcee78d27cafcaab3b8f265b4f1bea83600563a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.7e4d55c34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.7e4d55c34.0_1592864923169_0.2758711340078117","host":"s3://npm-registry-packages"}},"7.0.0-canary.bd1dbc91f.0":{"name":"@material/dom","version":"7.0.0-canary.bd1dbc91f.0","license":"MIT","_id":"@material/dom@7.0.0-canary.bd1dbc91f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d3ebb0f153b79e78b2446d09a73edbfd3f513443","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.bd1dbc91f.0.tgz","fileCount":28,"integrity":"sha512-oqWdBzMAhS+weIstXzOteYAoSCSU9vfbhUl+W8FB30BPL+dDSnK4x71njiTjnPlvZgq3RgcyDC183JADqcromQ==","signatures":[{"sig":"MEUCIQCWMK34OzuZCx4/3p0jCfxvz6UJKTO8p7PfiNwRcHc8MgIgKFHnAd+iqHaLYCRT6oIT4Tvc60aaA7oAdwv4KJ7tzfo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8hFLCRA9TVsSAnZWagAA1isP/isEngMfuMd9/AWNPjJe\nS7rBxgXCc1U4vrBQ4+04Lmao2+hE7xhRSaI4XToXWLuFj5rBGvHB82+tSBc5\nHFXjgsC1NsVAxmmu78VRMmix85ss0Yd1oRbA93BiLHadhKaZB+267zDfdcM9\nzNP8+Pj8h4QuBBCaiIel2/xv3MUXnMnUWvQxOK4XWbO6PPoQHX3PD2qaxvui\naMIyK28McC2Aog+Yt6mQMhmQAq4w2Y9ampDEPfQL0tuOoaFsS2uryHaGTLCR\nenwXf/YWclyuWfPbQL/Anw7Omk1rfxL+D6wYv3GCOEK6qOEjtpF4tT0DaWUy\nqARCrYZzy5NGle0ZaGJUCdxaW9OrfQ3gQrVfBN9V0YZ+EeBaRRkaIG4gcxkI\n/VT7zGlQqcxMlkqzvh+4ubKUolG506w9ms6mnam5ADrjc1lABFKrq9hH5tQf\nN0Czb+hHBbpwc/M0kcPPud6gBkkbzLTJcuZZwCTaF+0NmyZFrZ0x0f6RqNbW\nrs2bf3KBuuPeN77YQCOahbORShi88fHEmvsnJ5QSKtML+bkb7NWe+9F6ajsC\n7N/m5iTjQIH23nYN6Ii+f2kQ9hBH+TNoNqh+kFQl87UnWyeH8ympMYu+H8lr\n4q/6TDz301Xpc25qEEyJy9VQCTmAqZIC00M9emK+jaWUkNf+/VzScl1wjRvz\nBcUj\r\n=ylbt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b63b8059c82f418a3f6134124de3ad8bbb08976a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.bd1dbc91f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.bd1dbc91f.0_1592922442720_0.6234824167461224","host":"s3://npm-registry-packages"}},"7.0.0-canary.31523bc62.0":{"name":"@material/dom","version":"7.0.0-canary.31523bc62.0","license":"MIT","_id":"@material/dom@7.0.0-canary.31523bc62.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"efbbd3a387a5978d791562a4c98fe462a0a178ab","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.31523bc62.0.tgz","fileCount":28,"integrity":"sha512-hYjvmcC2BX3icoOrk0UlUDX5nkJDqN9Xm4il1dc4jJD1ZexZ1tr2GbqfrxMWi+7KQhTtTyTaXBJM7V5+GZK42g==","signatures":[{"sig":"MEUCIHkgC/fIDPpNe8UrcJXsbgUJ98deAHGAeFDO/dj0ilqEAiEA1NPtk4N0OxPTTFSQLVOr4SS5rGEombJ/kWtQ7Dzpkdw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8hKMCRA9TVsSAnZWagAAfUsP/0dU/ABhdpt5gro0pEbS\nWGVEsLtcbF2o+2Ld+V8bbijmBayDtwEUdVauSP+AxjfWcKaKIIrXTf/dHxli\nd+O+37eVXqbAKR8sZCXa5AKCZBuFpRCZ92kQNEt5kgBz6/8Mn7pAY/Fp2wQ0\nuBBm9KjzJrJFbZx8XFkQJC6LN1v2ZhABVzpUHtj2UUfEnQw/vJXZNiOVt8M0\nrJ41FtO7HME1jvWEHL93t8ogRhnn0dZUYE0rwmh2Klz4LoePtiVLHS0+mR/V\nmvyvWjoEcyxg//z4pg6YATTZNN7kzmT/AaYHTln+mxw7uHRYgR6OLh6XvlUG\nhBFvaydzQBjUlIgV1lfi8WYGiXOaWxUMYD+kGmF6c25fSgUPcFHxGc0EipQe\nXbdMEfXlUpp23qCzEr5aGhMWke3fEL1ddhB7wCsYXCOQupRxkyPF3zSbHULp\nyOADxJu534lU1S/StA+j6dfTHGYYmbjCkVFttZ1NEiaTtpHsZ8m2bmYnoQw+\n5vaxs4ufR2F2795lAdHpDBLt6z4ZH3ZVajPhjpkx4wRGs70AYJ+Mco70Lcv8\nrlnHBPpPA0yOGHebiQ9oPQ5MqZlbOugDJ3mKm1Z/nnfuanijzfVtzzgqjwDs\nh8CgBn/Y54xy0ENxwX8NpG2LHnjk4jaCl/P8x7NfU9Sy8GrIKdaGk7T7AY3H\nJozZ\r\n=ZLmS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"035ab4d41a8c444abf721e44192fa6e10bed9f79","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.31523bc62.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.31523bc62.0_1592922764045_0.8751789341482472","host":"s3://npm-registry-packages"}},"7.0.0-canary.a96b6d4d6.0":{"name":"@material/dom","version":"7.0.0-canary.a96b6d4d6.0","license":"MIT","_id":"@material/dom@7.0.0-canary.a96b6d4d6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"69182abdb88b2e223bf397fddda82886f1dd53ed","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.a96b6d4d6.0.tgz","fileCount":28,"integrity":"sha512-aKNpskG0b/6P9X9TiUbPxSazWnRVV5xcZc8CX1wTKup66i8P0SKfTKJ5N4ZqJfKc2JkPuC+gqPERn6bLVguG8Q==","signatures":[{"sig":"MEUCIQCSAMUh+H4OA5Fkz6r1PNySYA48kajjkOe+MEcQbtAvqgIgBNx0g2JPDWbg6mEIogAr+uy5Mj28ktUEQI4719QyEKc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8hQZCRA9TVsSAnZWagAAt9oP/ROxwzR9Yn4p1J0TJUGj\n6YtYFhHYpepcKG/SBaeGcXoPOSysg7NIf8vnTswj4TijmGiiVoas6fWFu80v\nfmnIQfgbXs8wnDPxCM9dhA18s529xUckQoTIlaQvWftLSy4g7xcqAd83ube5\nRMwyqoiJyqOc5vPjjFbewyR9sbkB5g1j1pJYlPycoNc+MqnbDqHR3lUvaYCs\nKC7HAmAELJ4JoRSKyWw9Qb0TCGkPSFAvb9zpibo4DEEZERLfBRxGL+DQ+9Vf\n7RLH/biO0M80TQJ+/k1nqF7mayZdoAmr9BVMPFVn2KZonpSnIc69/ppyayty\nzXgiw9iFusOQoVGBQG5hDYkPmjbJwbDJNDQXn8/YPP5XM8MekqI37hcwu+B1\ne6ou/uiCmTlMH6SYYe0I4g1VS1wE6E4IIRfbWMFO1WT2F6Yl7hBoJVjPTeft\n7y0+zeEy9CIs/VM5arBVn4QEJszskviNeA4wcYcCVlMmNzigNhmhGBXU+Khp\n/jR4oUwZ34RqL6212JNUQ8ToMs6PNetARdkfLtjil8AsRF9AG0xisHn9WmrN\nRFlYzUjxe+BK2X4vf4bWznGpQ27+Vea9soCWRdhgH/UZVVHntkZdLT2NUUh7\nyXcsJZCEiotayY6j2Hmx7C3gY3ZHpnUEDOpH3akYARWhbBUlp2mzGrtsApH1\np1J0\r\n=NITf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ddfc88933cd9a6210bdfc449fd3fbed391abf4c1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.a96b6d4d6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.a96b6d4d6.0_1592923161376_0.31981619587054033","host":"s3://npm-registry-packages"}},"7.0.0-canary.ef3a09533.0":{"name":"@material/dom","version":"7.0.0-canary.ef3a09533.0","license":"MIT","_id":"@material/dom@7.0.0-canary.ef3a09533.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ece11ff2c2acd177826839b06f59247d34b4e129","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.ef3a09533.0.tgz","fileCount":28,"integrity":"sha512-Lnc3Dq7JAB6SGcdMOY1gCbdg9EX/C+CkmvRtrk5y+ZUNkr1Pk36tCihbMZeeQkgWtDMbJh6nidrRfjtvHsDdZQ==","signatures":[{"sig":"MEUCIQCDhbI14TB4GWXaiUaji8CYA0FVkv0JnC6tDcrYbpsEtwIgcBsPvPvlyeJUJXj+V9DsrRncMaPRbP5XKPN45PAPCZk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8hX+CRA9TVsSAnZWagAAWEoQAKBSAeWxdPP92bOX4R/b\noCRO+tmyByNFsLa88iuqMaggPcDPQCWXtWGgliJJ47sm09UBZq7NuV4l3Z6g\neqgsDafOMgcJKGG9tNkO6xJKBhlMix0TrsWegmx15ejP+YxH1utl+dddyqta\n155eIYyNPtgLD87kgmclbf/P1x6sXVtrgWCX7MRLx8y4Mck4JOCUDlV8rzVs\nzXFBg72kfJFoUFELaldbk7KrJCxLENiqy7OuM3vGBFTck7OBDXRfR1nXg5wA\n8wloO2/o6Lp9gW5F8DzH+BuS9BryCT3LEuxq6PjiXWwxDUeXZQfwiMmYNWqh\nDV8eE6kbDXOntjixqcG7JFWR9mdpG5DZWsyo0dqF7MZM+4XhQN29l/sEZm6n\n8lljM7LI5WpAwMJT6SH1rxA7/8foJXY84DaOQuuH5KrA7fhAJHpTTlBQ4POP\nlprfg06JE4tROKocbHWc749Esq3YHKiQlqgE3BchUYYSbbI17XsQ6FYPv2q6\niOzXCuN/8FYvBOp+PatmG817xggg4Jpy/LiGM5PO2CqucGr9bVJI9hiUGNIC\n3JuIYC0rJfq+MTp2X0mzGzMq5G8jmHR/LgGuFzmXsMJvSpRlNyL2kQ3nJrcl\ne6gmUVnBBtyFAA0mlu5ufUDDerwDkBhCMeOVAq0Boo6tM22pgjwHdUgh+uKJ\nExjH\r\n=uDAN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2af091492939e0fee42736977683591ffc221f15","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.ef3a09533.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.ef3a09533.0_1592923646292_0.45360491261872204","host":"s3://npm-registry-packages"}},"7.0.0-canary.080965f39.0":{"name":"@material/dom","version":"7.0.0-canary.080965f39.0","license":"MIT","_id":"@material/dom@7.0.0-canary.080965f39.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4d27b3f247a30b9bb34af6a29bca39db9fee5193","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.080965f39.0.tgz","fileCount":28,"integrity":"sha512-wnKL4fntGuCVgmjJZkOFOgD3OqFUtzCZDqrnN8BShcuY/H5Q+TNtYwsyDTPoEYjUbbQfHMG6sOodp+haZzgQ1g==","signatures":[{"sig":"MEQCID/DFIDpGgI7jUHxUVnID0i9fQa3bnW52YNa5gnhaJAZAiAZZaihdqSrQS9n4a3IEn69eiUKGsCbUxzqVlGypx1xtQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8hzoCRA9TVsSAnZWagAAvGYQAIkihwL4kXR9n+C+3NIg\nLghqLlKgSNvqfYGrbqlIBMXAPqhE2CnQuyHTeHu83JowkOXfv+OEWYAagzx0\nLlAyATHpr5ltG76zX30bz1ZvOnmhJJLlBC2WHx0XQYfgeaGIGkZTrPER+l95\nlxXq5vYywYgiCtGAg3Vt8smnjFu6PySqD1fD0QPQjbveRxaLJ1qMLlvPMnqF\nUA3zQZuAXv/ODVIijrjl16P7A9fUear2/b/FMZQvcVHmNHC9C8O+0ywib1KP\nAQIvIQlgPwXHOhxC0y6TPZJvSA8uZMPNhW/7/WgVSBh5HOn7kqg45C8F5AcZ\nPamJlQxQaGBwy8jvVD2CtUHkKNLc6yGEHnHk1znOrAuN8s3vRrBUsSIsQv0r\njSGzXGo6uSHG5RePRxEdHv7EbiQ2NhHLxzkW39+Ql+Ux45N6XFFn+wvz6SY6\ngGiDNOFKRS4Z3HbEEqJ5S4wjbs5scCq5IerGZE+n1fE0Ziz486pQB97J0hUW\nmnifZXAv8mDjhV6syiV4sCKwPiiJMN5cOgWbduo4YzSBGdtsZ9uWe9zITd8L\n6jIbJ5tBE9MWShztU0QZ5lWK4Jir2FcGo+pOlDbB1WIpA0sXEeIOKGU03Ov1\nmOXrx1BgPo4LdVQSAbb19GV8XVa480eR/hMwOH5XUYuFKD3GAK8Tj941ch0n\nDgN+\r\n=RXW3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c0d7c5371df46e0114aef4ac9bc2b3aad1377f76","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.080965f39.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.080965f39.0_1592925415685_0.4214159114708964","host":"s3://npm-registry-packages"}},"7.0.0-canary.1bd67b65d.0":{"name":"@material/dom","version":"7.0.0-canary.1bd67b65d.0","license":"MIT","_id":"@material/dom@7.0.0-canary.1bd67b65d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"23b658693a2e6e8dacc24cb4c2d5fe165fa6c1ba","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.1bd67b65d.0.tgz","fileCount":28,"integrity":"sha512-ruIhK4tS5/74fJI4PlRhYjvDHewXAUHgWxUnm4Gs/4WiPM1h7koOsDsbIC+NLnAL8qAAdxkW19UgZMccR/aPjg==","signatures":[{"sig":"MEUCIHtThiJQSbw32xQwH/jmRF6LJrbuea2KnmjCN6ePLetoAiEAj6E3muA+fce3TVclnIVw+ODA46RNt6R9z8DHKEyFhqg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8ibbCRA9TVsSAnZWagAAj6UP/Rr0xNiSnsceqPoNqeCQ\nG27Ji2oXWxgPsVM6AoTAWEfuM7uQLtwVfu5sqRY2a0c4rc2PLd4kF+Vqoyx/\nNllzBHjJuqLzYTOOy/OJo6ADL9Zk5RmCLPzHGlPL9Z+bWpi/27tMXbXfnuxw\nJMf2vutCK808dwcxHBiRShUU9410nb3Lmv466wOwph1fp9F3Q4Zt905e5mA9\nanYewSAZwG97nu9ZlfIed+kg/9E6iyLCd2xFJhUSAGWRpsHMS5yKVHRF469B\nqKP/cLp0wd9l251MHQHEraxt8Kap/VFGFiU8XLgB2oGQJCz1h6EGNgNhFPgk\n6kdVcQq6hPwWl691x3v/+K/AuIVRQ+Ais+KPmSCUXzTaHxxM1NuZRwJR/JSs\n1x0hdhFIRP6mgvlZNdqfOdCKvqhvmNZJAQcxm6gmKuwMC/qptJS/Gm4LGy3W\nZCF26fP/9UKr3f43SSg0vaLOipEr37maQrai6cKQKBgE/KXIn74lB+g+TTLY\nqNUC10TjqdTGd0AXtMZdOnYyKJZkT/pQEcFouQAThQkfjPs7g10f7vpZEBUn\nRGvkzJ/x0k14V+iCPVfeTlyXYCsPATIr/bJXAh50gnIYwmoXHgFSA5Aqmw1Q\nXd85n83Vxl6PiXZBdRLjP2CvXrdSoys68Cl6o1z5XK+Nfou/5HAjLMnKxGhb\nSMan\r\n=AYKD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dcb3206c3f6c1567eec203025b36bff594d66678","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.1bd67b65d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.1bd67b65d.0_1592927962946_0.4172975315191212","host":"s3://npm-registry-packages"}},"7.0.0-canary.18ca31248.0":{"name":"@material/dom","version":"7.0.0-canary.18ca31248.0","license":"MIT","_id":"@material/dom@7.0.0-canary.18ca31248.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"964cbddb2da9702f0c8bb696be8b84e74382c22d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.18ca31248.0.tgz","fileCount":28,"integrity":"sha512-lvYFrGjwjNoSOenl9HcyIAi3SkfBzGTi+DHaMs7uN37kFeF3SxxN0waFcaLqxXjldxwVl5sW/yEV1shAuE0/vg==","signatures":[{"sig":"MEUCIQCM3B6KgBQvI2YhKKrhmyt4gvSNcx34SUE0SGnoOxY6jwIgXMMIr//R6cW7P0+1dxq5zkl3CLN7UuRAkM7dUjwvyZo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8kjHCRA9TVsSAnZWagAA47kP/23W5ieW5CMGNxrqcoKL\nJ4prVyek+DY5ldZlsg+PROerxnpvI1zRQDhY5nVIOZV9rvj8UA3ApJ2H/IGN\nNWeqd/wq1dbT7p15VNoj7y4sQDeWQZWfMQddeDqog9CEFkmU0lM2HKQMGiH0\nuHMZHaGZCyZ/CzNoe6hTHRhSKjW1s4Ym4/ib0vn1mmycHnDcD2dolOB0y3HI\nceHZ0g+BB6PK9648zcWxKY1a+d6PSUYLgiOx3q7cKpp5fCD2IpyQTNROXBax\na8EUYCa2/pDC7YNrmW5nOKo60A+76xadMi613Fv+KBZOwi8yXPBuDjkTwURN\n8QdDdI5c96//Wnhhifbx3ksf6jWFPVcpITMjZB59nJRrMiwlIdASRtgyrtT/\ntACz50+w6pJm68kf39MdFIQY2SZ1hSYhrr2uc/xPfs7KQMjQOcCnlG7CODeN\nbSGNTzQrLV5ZDKuPKveK3JGc2m8q9tkLSyjxFgDyUe91vNcAC09cnzmPfmt7\nHGtnaULtE/wAKFPmN1otIQx2+2FtktOPqueTAM+SmfrdiWVN5CZg1hjZ/omY\nZch4/KELk18vROYSUbt9ZvgNCU/ekxQ2aiNtJEutd3/Ae1LH2rR42VNaf7Yy\nhucSiJbhPdmz1E9q/4F/mIdIV0fKPG9xZG383KVYHihLC5+0WKnogqCMaiXG\nY6LO\r\n=J4H2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"34a77f9ac5b41ab1f71969d01fde32c58ffc08ae","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.18ca31248.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.18ca31248.0_1592936647034_0.25189387811241204","host":"s3://npm-registry-packages"}},"7.0.0-canary.39cf00836.0":{"name":"@material/dom","version":"7.0.0-canary.39cf00836.0","license":"MIT","_id":"@material/dom@7.0.0-canary.39cf00836.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"df7c5123f9f03007b2bffc9cdf155bf6ae007407","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.39cf00836.0.tgz","fileCount":28,"integrity":"sha512-UhqfA0zEUxkUWMeuO+HCYqQ8olpVGPehf+YNWZaHgd1rlwz/VmXJDQtm81v3VU4MrT50zYhdedieAaaxQuRphg==","signatures":[{"sig":"MEYCIQDTL/9LbhiWf0CiDbJwqZMwEvfcoeg+V/TyOq+mhCAIZwIhAKciybHniTTCKnZx0OHtOWAPRgfY3wwezvOgrU+3FM5m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8k41CRA9TVsSAnZWagAAlXsQAIMZI3ebcbMgCLcbNQwI\nsYH0IPvJUzmQ+3/2FiXp7jas8z6tW71s2H/lw0M/T/deDp9ojF4hL7knhcip\nQ7/j3ilVPxY0JccybHsQH/A9Bw70j/+cd6TXpQ7WeJDGg9qZmfR9fKauyo0l\nnK3BccIRLKMDfOdZxZhoh58eocR92nJbtJj1IIFen6ys2RayeJ3JMW3wYXMV\nCn+FQIZk6zcUOds88Cc7gSNXfMBg96tpvb5NJdbzjKEgi2avONYpVBi2aSZV\nJf1QnTXcvP0g7z3jgib0bHubwj7uPxmbsKfcVOP7t9spWIFUKORc0FDkwAPg\nChGDZaAJomVgSYCa9eSF0C5MWWiG2ZIpazHMxpb+d2ZrCHDTSvfhZxlrjb/a\nXO/epBnxownd/7QZ0Xu+Zu4MEg7blFQgG2cCl3ujsp6LfsLK1kN6f4cPyOtF\nsRmGIAr++DnxT9o0Yd/t27fx86f7qmad13y1lKo94Tni6rzgKOMdxLtWA1eM\nczUSK/3e8gBPZ1f/Vs9jdyoUBiMSOf75mTE9nJmtyJWapo4UYjrs39+iLMR/\nll0asEtwAI5OdCR0jROj1p+Voyj5RWOHyl0O5IRdkvmtUtkmvoE8Qj0/O0li\nw5HuSlz40ytepR2jKMYRWu3c8BtLWz4Opak7vDCETq1Ak/P08cm0YI6iTyNw\n74UH\r\n=VvS3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"490def2a6575f8ae6a6151f024a9af3fed1f5215","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.39cf00836.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.39cf00836.0_1592938037468_0.3140288749553872","host":"s3://npm-registry-packages"}},"7.0.0-canary.1bfda9e05.0":{"name":"@material/dom","version":"7.0.0-canary.1bfda9e05.0","license":"MIT","_id":"@material/dom@7.0.0-canary.1bfda9e05.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ce34520016fe5e2536aa598bb5487440f4c18213","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.1bfda9e05.0.tgz","fileCount":28,"integrity":"sha512-ePoONTZD3tWEg82aU0O6MvYyddypM30T/8xEBbhlVGe96xGi5ZiPFlFKo7BJ4Lw7fE9zVt9D11LAdytccFg+5g==","signatures":[{"sig":"MEYCIQDcqDNdSfErXRyDGZMGVH2koJ6cAjWJarQqeYrwefsXoQIhAJTqYQckGfLpn/4HwrAkJG4gRihxd2jYjIGTKmL+8fVl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8lEiCRA9TVsSAnZWagAAnEgP/2/QSYTExjwpT1tGdaty\nU0QoS3b/K3jkZwU7KkbWPcCfG8eWox+11JLBcBosv3l9uPFe5BOkq2tioxqf\nkIdyuMfip+45mxFwvGXmThuPzHmsYI8FUe8kSEzyMVx/8gUJ8YjPT8hBv0UL\n9Y3rkEICVQn9k/e+38pJ2OK0bx4S6vuDaUQl20Zg2VvzpPFHiomgNUKqZxvd\ngfTm9VroeD9oUTvwZoohNzQkalEI8a7orszk/BlnSbmCfIZVCdd5upBX8pqw\nFPHlKT1rUpG9bO8sSnuFWiu5SZtgERWR+cmpMt5um17795PCEvlwrxGIBiPH\n3jm4o9rADm+AEL5G0CYbpDbQPLhmzeXOWq2fLemheghWL7R1KQAwJKeYsu8y\n+X7rOhS4jCF1KjD0svcgdfDjAHw8OuvDWfRguZHUHTN5RZOAUtLRojBdFY79\nMjxSgIPmINcZGa2gQAv6+cB0xglmaFXIB9OdSwalvfPDZAFuUKBj8gsf4f0q\nB+SM8tk0mFuVtHcOiyU82KkHtJ2DBchwRbfKTppXP5Up9CkL+9fOGxcla4Oh\nh9vVpMazAGw/h7HXp9pJHr7YAK4UfK3Z5hwnCbMGfCQbUJbqa6iZRjHk4UWn\nt4dTzAFsJo7TgHTLu1W74gIiYivJTdCZkabp6NrvFhitrZnX6+G/Iz9LZSnI\nEmyd\r\n=42ae\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d858287d263a004329d22036ef43b63b8ec8eb08","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.1bfda9e05.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.1bfda9e05.0_1592938785999_0.8656992488406086","host":"s3://npm-registry-packages"}},"7.0.0-canary.08731bd95.0":{"name":"@material/dom","version":"7.0.0-canary.08731bd95.0","license":"MIT","_id":"@material/dom@7.0.0-canary.08731bd95.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2285cbb58036268f2493bcb21736e78875731eb2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0-canary.08731bd95.0.tgz","fileCount":28,"integrity":"sha512-HpiH8btm0OugYorQReLG/k4uqRJ2Rs4qCp0HXddXzOB+DzEY/G5crFW01u/BGxhEmxEIW1Y3ZnLj7xZ5/jM0TQ==","signatures":[{"sig":"MEUCIEvpOFjOSbwPH92ZNTMv3qzQPsJ3xeG2wbgS3P8pvmDCAiEA0oPPzvrOqWwbkhSJXa/+kzYmw/pTad9VVnsHqOj5Ocw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8lG/CRA9TVsSAnZWagAA3JQP/Az6aP+c3VOQMVKrdrJJ\nDM0oTkUbLe+F/rotT2AkXaYqK1olRfzJoD0ecIQdkvVjIEv1Epj93NxcOshx\nRMFxdfgU9I2nDTzcoCJirTl9XUOOCq6omt3d8OZAR4PL26uIsCHcd45a2R4E\nWh85WodtNR7JEbgtiM1uLTlj2Qk7qHqbS5q+RpC/eZ3YsD24Az8jyxLVE8rC\nWjlW/EfFIL6Q01+IqsAvpUB8lOevEewkPXRq/23oqeyQFOptbtzglCc8TJ11\nbqjj7+R3GkxCoAByf1RoOprWGiszMKs86EYUqNXSRnjCvbX5FBeq2by3/TqA\nosnz7KRl5KTWFnSIrT7PYSL+14ozCKRYpYYfMjswUugKocvkwgw7psJiPgvG\nkrQ2/HlnKF+i9euJP8QK2u/3Yh+xTRvgTVqe0yrixcnuHMfg1ZD0Pz3j45bZ\nX3hrRB1m8BqLXUi6ALN+g/ms0v47yVryymicOXgEk0cFNnZ6PO/z3UF9rIMm\nLDBZWdtMItqOSaIcLVGBtmRlNPGuqy/vf4cJt2Qk/m48fWuYotGLUYGbVd0g\nuIgMwEaNvj+OyPLEWJbtdd0z9eRoOnoOimVRe+Bhngm0jqGvu8kNvDnt5KuW\n6OvR9/pEej0URlGBbW0kskSft+D9XYBY4NAOq7xEzuvDOHuq93Sfy//0nZFv\no8LQ\r\n=Rxzm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8e24a4ad4b32b05eb883e0de21ddbefd3c8f641a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"7.0.0-canary.08731bd95.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0-canary.08731bd95.0_1592938942873_0.6051397731590682","host":"s3://npm-registry-packages"}},"7.0.0":{"name":"@material/dom","version":"7.0.0","license":"MIT","_id":"@material/dom@7.0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0011f2c29d78facc67b9c32468f2f98afa6a609a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-7.0.0.tgz","fileCount":27,"integrity":"sha512-8wtiYpITidoEM+Oi2kksqaepmxip+NuThBudRdpM/BA7mx/WKSnWnyIA3b4anIdRsKdlaYTQ0ONOb69r4PjfuQ==","signatures":[{"sig":"MEUCIQDpd6YV+CECsY5b7iTYFoD4LCmz63SfKryMMMJtM2IiawIgQQaH+iNSeqvLNvPTenlh9KRHTQxZUIHEeIG5yhTsI5E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110882,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8lONCRA9TVsSAnZWagAAXfAP/1rNqJcQ5DZYJUeLIQtM\n0VPGGMp4QOmihxlVs68yyuPDrgwabJrMMNfyG6jYH5ckgpOy2WtF6mj8c5no\nUlR8oQecNHlxkMvT4EBmzobMgTCHyoNrFO+lrLg37sjCRNqwkmCplXNeQPoL\nQa5oX1tCz6IllVHpqNKIHfRewUhNO6AHe2prTcLvo2MutFqinumKDUww3NJ9\n2e7ytdzfQXVAuG5zTBkAy6433oDprlxuiqxrVQ+bcD143Yj4TmzXD5i4elrH\nIBf3RxCk/BzNLWv6r/z7CQd9eBcTwbdYRCAn1NWrMFR3L+pKfUGKXXOlJOtk\n+nIgomby3T6ZFHIjaBrlIkNvpgNcp6EUEo5qFujLdPr5jn8fUg0GsCRMrhIY\nxO/N8c/N3wtJ6ad0sdglTeAPVqPdvaI5t/n6A3cEYpKnA/j55tyl1/MEiGYp\nJznphzluD5zBwgaXM8CSKwXBPe9L2FYgUJnaGZIqK3d7B04JvXuO1lnY9Mii\nlDlH1s3dQ+S3c9q1RQgZcAYN1BtpvZOyUEZpktsFdDrpbpnqjdVCh5KHB87t\nDtALTYn8ixAWiWLzb7iKzHDaIBTAToJqrJw9V2o09UCdO9cK1/InYVAmmGjw\ngqzuF3GPdOufRaU7OlAfKCL2QXooU5bHKsmeHEfyGwKKYd0VBmDms5jJh3dG\ndY28\r\n=VpUm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","gitHead":"a3212b2099765947f2a41d71af2cd95fcbca4b97","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_7.0.0_1592939405009_0.5826582349976286","host":"s3://npm-registry-packages"}},"8.0.0-canary.a3212b209.0":{"name":"@material/dom","version":"8.0.0-canary.a3212b209.0","license":"MIT","_id":"@material/dom@8.0.0-canary.a3212b209.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6ad90ade5108ae20e8c18d7ad50af84278010134","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.a3212b209.0.tgz","fileCount":28,"integrity":"sha512-wjNYbhrwtfBcaXrofbe1OreQ8cshfvHpgSONYPiYdefpeEALNcuGogU4WX0WreGP7G2sR3v3rSZ16UFtwEeFrg==","signatures":[{"sig":"MEUCIG8jYO9+dadyFSA1zCJZU56vogtRyNXR89ilU1fS9SMUAiEA5q38Fao+H4uyWTic4XjAC0P/vYIp5B0sbttkv8L868U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8lPDCRA9TVsSAnZWagAAW/AP/ieve8WQFkghSOM0JDcX\nkGGvYVtcLSIeYV6jcreLsyI5g/vEtnzR0MFbnCFSWjUDoxvJMxq8rhMTsaNn\n6TClaAhsak906LXOb0/alI5X8CeIkItFpaKmscgOzLa3Eh7Y2GLSe+rVEBC8\njaAgUztxHZz5PAKkPilByjZfvQ0fmqZF+g3yPaEtBldFjJl/X5XNLjom00p2\nnXw4pYiPgD14qjKcMjtgLGbZbno+nskWda8j5UJvDaszVts4JZsZF9bXIIau\n/C+sU69/X+jNhfQc7Y1HX/ysR9RYXFvdk0j8HLNWS4YZFqoP41hLOndGxfC/\nDlxAAsHmYrp/aVL6ckLNQ3A/J6HU8xIMNlvIouRWHyk4EcDBXi8UeDKKCX4S\nf0sDDx5RTuorrw8EGvP9t9cLUt5pCxfX7ByT9Wt8iL6JSjQqLs2NzWaTcy0N\nBTp8ZGb5VkIwOu7wcuXAWOK+2+lmDr6sl1EX7xeG8RivMf+J0iqm+wj9Mrqn\nznRj35msFMVMlHb+Hts2iYuQhFxkaCAf3AS3Rbq6/5AbRmEAvAKSGJoJEkbu\ngIewN5sZeAvwla4SwdFd5zhWFSCcQ46N4U8PkiDYAo2r18ao25C2f32hoYS0\n1593badYaE4qjU4aq0wswPDzZDRp9M87eDiooDHdqJpyqrSokfysSU4g44Ey\ncdCT\r\n=wflq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c48f67451e0470c28a2a044f902a31f9fca577d4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.a3212b209.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.a3212b209.0_1592939459539_0.5574695971173178","host":"s3://npm-registry-packages"}},"8.0.0-canary.15e81fe98.0":{"name":"@material/dom","version":"8.0.0-canary.15e81fe98.0","license":"MIT","_id":"@material/dom@8.0.0-canary.15e81fe98.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2282d008e49647b3aed3846a5d4163e5cb25bff5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.15e81fe98.0.tgz","fileCount":28,"integrity":"sha512-hFThAnRuMdW9WNn/Ci93/mmOwGjF/hIaxm+Thpp0ooYY1LAg0+egfO/RMIKs0751Q9O+fQK/cCcebwmcD3RyvA==","signatures":[{"sig":"MEUCIQDm0Tp+bLmXeEtTqvHfiHG0CllVJJKYHpR4AUuxaiHjQwIgHZWgHX9Rquj9UaU3yl/WCwLjrpbdwoHK/nPq3Os//d0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8lqLCRA9TVsSAnZWagAArKgQAKStETJMAPZUICbjxGy8\n3KWxC2zwauAntfzllZO9KK0+fNp9NqOhDUP/V2KfURfdhZvNzErqDaLUU0ta\nKEyEz4OWmkEPcDVoIg/9TzJ8iB5bi77XC4vQpme7bSlbgPMitXlng+fXuK/Q\nQ7e+8wz3tWMAxo3DHBECx8ejYeePHHOO+7OoV94BZH+kC8s9DYJSGa7prwLK\nPalht6JVeFQlfvLuTVWhjDR6MLrWAE+GXmBZ5jStJf1OnOU6jABaRAL1JTtB\nrJ3AyVWHNTX6dkL0UsrSmu/wQBSIRXfJfVNEfbaLJ3dsKKCLlmt1QANEwNWc\nRQRNQjaUNEUIM5r/HmE7Uq4Kykn/ZN7toFzY/nJ0NQk2R88ai2kWRXHiCc0I\n/0pjBHL87WxmJt81+TdK0RIl7O6DLIbEFzqH8WT1mvXbDQMY5Vwdzvjz0J6M\nDdKlApEPD8tImz1iUNVNBEIAznMSraafcMlrrwBVecR5cWua6AyZD9wx/vWF\nfg17mUMrb4b+NwlxmnMmXeUJ2qPkHE5BIbt8tK6x9NHXjemBvdFSgbmDENcY\nBC1AQEftrgrgzsim2L2kBOeYhfDln5+kAAAJ7p9kT2B47NB5WAL59yKwTEyF\nkNdouCi8Y02tqRgb7L1XsczQ+1JqhQhz1x0KV1uAJgk/ARaXmAXKMZorc+ep\nha8e\r\n=5q/l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6c7873baffc445c3cff5a006913ebf1bf53617ac","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.15e81fe98.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.15e81fe98.0_1592941195582_0.6400229864011537","host":"s3://npm-registry-packages"}},"8.0.0-canary.004c9d392.0":{"name":"@material/dom","version":"8.0.0-canary.004c9d392.0","license":"MIT","_id":"@material/dom@8.0.0-canary.004c9d392.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d5b2817afbdb32675f5cb42534275d07d53adba2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.004c9d392.0.tgz","fileCount":28,"integrity":"sha512-+m98PcBLkqAXtCRXrZ9Ji7DnEowSxH5cgKSp8QrESUCc6zRXGwI75Sfnc7H7ylaTOJHd3hu/TAPy0F3RO3dXKg==","signatures":[{"sig":"MEQCIG5vOyip5AQLWoHNAzIJ+58Hjd/yjZKQdC3A6pQdGZtXAiAlKhmXQa+qdtiMVLzQj/MA5uwQwPGua/z74UMmLjv3oA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8ohaCRA9TVsSAnZWagAAw3cQAI/A/zNJYlUwLRf22+9u\nahItKP1JEjroXm9FpYJSpo2xWDVDDGJ5iaCteaXpUTAN3rKhzI8b8W9KVBpS\nC7N5FCi5+tsz70io+Qt+lrb/L4JHS9/lgF+YerH3lz3nqGJzyesvhjrJ9zaI\nfOK5jMUy7TZVy+hNMOOqgZ9ZSz0jMgFrGrXX/Rw6lNt2IEuwfc2GddeLrm10\nnlgZXymxEJT0sI9xeHbol5OyEuqGY1+IziT1kZj7l5XCt0yjDeYoYp001gkx\nLh/SYlcdUDrdTmpoFpMWm//EjvSwR35csgwvWkJUg328AjO7J27afw8b2AK/\nYrTOflipUbtnlLn2QdBBki5Ld6AjSUnmpt48Tn0Ki2WN2TokmmXlpSNbMO+p\nguYX2h1BWJ593gCXrQfT9aCAVouNIJOFfN/AasyaSFK8/kQyRKR71IG11s2s\n96Txv/w2nsYEu7kumhz8EpT0zU0Un89WOo+GTkaV8LzeWIWLRq2N5aqimynS\nXwoVzewf1fp46oVvdHZCBFUh2Gq87BEZy6XgiAK+1Vy9EeRmiCiYsI5OsLzw\n0ZrgXFaL6oMV+DLZvAQ3WUv0a1nPEGTspxwfgX7frVr7CzZ8p0rU8vK1ROP4\nysiSSpcTzbHqyv4+unDIaUW08pmERQ4r03u7k1Oh4HsnVCw05ea/63LXFS64\nhpfF\r\n=rpRP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"776ec8815215499686a6c5d2a13543285c30a7ba","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.004c9d392.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.004c9d392.0_1592952922268_0.8468163550559722","host":"s3://npm-registry-packages"}},"8.0.0-canary.03bde00f5.0":{"name":"@material/dom","version":"8.0.0-canary.03bde00f5.0","license":"MIT","_id":"@material/dom@8.0.0-canary.03bde00f5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ad70f3c13f6770da3602fc648bf821c786caebff","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.03bde00f5.0.tgz","fileCount":28,"integrity":"sha512-34bDQr8gQcQ5wc2w+yJi2RBQprQoQ6gLYGAeaVlQi6+t2DiC+KAzRrrli6kMUR1h1dv9YV4GkxtRdlsSUdfJ2A==","signatures":[{"sig":"MEUCIGALtSTlT+xZyP+ZuQHbSSoB0ZEFIYcQlhKdV2rd2oZ7AiEAoj02IUpBpQn84dEJE84JG29MHNnvGhm1hBE4eWuVGgo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8p7FCRA9TVsSAnZWagAA618QAI1A2Yxj/ZRfn2r26RrS\neWx04YxL4rqMBNBAf/abMRK5R3DAvfVWiC2dm6NqvT2ZGLZGcksldTmzAkKC\n17AwitwqppYDhyYPEHEnZXu286vcNPpXQsjQcvRiXX1IOacEaE7G0pZxXOXQ\nshfI14J0iL2dDaRoLlcOsFOEpP8W+ZvDowD4I7sbmW/rnUsbNV7dRsk4QB7E\nJLcf8iZOoyNeFlUtHoMMNnNsneD5KxFEnwTXOqI1MVdxV0tUASm5lgStQbXs\nqgKbHnE5dgwNmGp07hBRqQmPxaY8rUuWFmSAc/ePTQtqbQ3e3ptjAvKs0E7g\nODBC7SvZASTKLp/bgyjOsHALakLin11ZDw3FAx5XrJfp1EyMIVvOQritPRWv\n8Bvdd3+AWHg3U2vICCZNq4OEupnU9amP4gdxMJROo1DmUkpINhL5lNW9CYmW\nD1FTw81RTgqcuOmgEHp7HTGUZP//o9SauExMnJRfpwu0EuHv0ASnV4AK1Vc7\nmu845HFStu6vUbSwE60WQV4FE8uZmPXpKH3RdSWe3OFmlePZQQpmw/ahBXmQ\n3le4WLZH10b9ca+54q7EoJB1GHf4t8Twvh0MrWFFyDv6dx5OAvjEMAEABgBr\nxTbOIk3z39qMhWtfOu9QMWa2CmDjSn0oZ0hUrNoRYahHWpKr8zG7nEvAj/j4\nphPX\r\n=ZGrv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c3937a4069800a251640cebe987bd7911de089aa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.03bde00f5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.03bde00f5.0_1592958660944_0.8865685438291255","host":"s3://npm-registry-packages"}},"8.0.0-canary.599b8c319.0":{"name":"@material/dom","version":"8.0.0-canary.599b8c319.0","license":"MIT","_id":"@material/dom@8.0.0-canary.599b8c319.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3cf18dc95d98b9f5927f00888faad0ec293e9e11","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.599b8c319.0.tgz","fileCount":28,"integrity":"sha512-wHM0tpTGdVZyQcD2E3wBH/XWzX3goEiouYPAGbCqlmwNzg8RIUNPxwJJcy9kyfHkIfK/n788WngCTf6hQYPynw==","signatures":[{"sig":"MEYCIQDnD46SBFTzBPACYHbgaiaNjZff+ZWnrmy5ttJ/+k5MKAIhANrYZSsREf4dDWXW7O3Xo09aqDPDm7wEL2CSFHCWZF43","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe82lsCRA9TVsSAnZWagAAEDAQAKIvEq5EzHIoogLH/9el\n5P6V6JRAOM9htAlUo1sBzHovlUeO+i/HlU8NH1N+CqiBcCavxpZObwqR8A4H\nFjsyfYbB/nqVJbQ0IdATLRs5DnGvEPwFV+JKPh/oNsPSgG4R1XVnvon89Inj\n3+gAglsqAJJVDJ3jrvIi+TPeY1EhPhd20OV1d2/81dXDWvSDunrJgRUw4mQU\nYLBfUTDpvXOL/2A/88ceiPvFRk9Lw8+bOW7ECKqHF2y7yKXm3qecTOwbH8tl\nVQ0Hiu9Zn0d1stDjHydGlMLy/fT6ExuYTYjuZWiZIfFOmOqKahzO2zj88nna\nFSqpvcf0uNe0KiwAtcBqP8atuZRn8lXkhtnKMGfkNlBU2qR4h9sQ9PLYtGji\nPSWq/JF6J7TxIAX+5eLrZatk49MoykoAhdsKp22ZohmLGue7FPemNxxyEETe\nn5FboTp9kHM3cskFPnPTtzJGnPRBdGpx0UMy0pPFhp5vzz49KkloKP5o2xra\n6fkY55P1VL0bFF3TB9uM2VUlQ6vABwyzfY9KBOP7cv/YUfgXevvBCa/qMtNt\naqsoRi8OSS64iPLse7vn4gNZUCt1tgouFk80iZ6fUlJCHVS87j60XgVvrpaO\nW/S5WkerRhBAFn9ygV6iFAfXVGJPbBBtY0UiXfs6zcp5r8jkX4b/VHiI79wn\ndcMK\r\n=khWo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dc6dee1190cd8d60caae49aba599e9d7072433e6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.599b8c319.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.599b8c319.0_1593010540468_0.46106001637362426","host":"s3://npm-registry-packages"}},"8.0.0-canary.87e3be418.0":{"name":"@material/dom","version":"8.0.0-canary.87e3be418.0","license":"MIT","_id":"@material/dom@8.0.0-canary.87e3be418.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"01cee0ba2406441230c0f0b1b205b769840eb3ce","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.87e3be418.0.tgz","fileCount":28,"integrity":"sha512-z0eEigPuzBePp9sCCv5PubW+mlaTb0m+J8e7CsuknOJFQiwQrMuI7hygRD3JwcQR30Q2b+ihYl4SK/tKveQ3zA==","signatures":[{"sig":"MEYCIQDcNod8cfnqMc+xidv3eiX5tOTf1p5sRv7BwlnRCzMiiwIhAKr0oT6RorgzeZz3u0xz3WwBAIlus9ClPJ//pIc1joLW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe85LoCRA9TVsSAnZWagAAbdgQAIQO3F8u2jxtvL9OJEBC\nd41MpBxuNqt28yQLpHuSLNY/DySmicVrbYW86gRkoEUkuFm0KpMdWaDbDfaB\naiKRqIaMlA+X+jaOmkjJe5wAnoEJW7LB9YYWT1ccstMZloVzGiubVLIDoxa7\nn941bA2QH4F8uEI8sVCHLw7TkWIF1jZ+Gs58vcqfnFD+lr2nqQKfqgdpwICI\n7t95chJzjFNWV9psqBfyNnK21pTnkRVSfw7TD1SneeAh1XWP/FbAQ1biMulz\ncVg/cB6j+K8W72sapcyO3rKAPKf1D0mNYj35SR0oYdje7pRwWzMkQ/vHf8jf\nLrUAHhz1HRUwC47x81HhXcnlsip3ulD4SLFXkmhs77TfMU7d+2MZDLeALoHK\n2TaI5QhUan3MSW9Ra4SL7LB00UlItQbkMGg776f1ngj2qsUy61PL0agiWp29\nWTnZ3r9RtQHupRG/Djvy5AQcB7KkVQBfptpbYnJWaW8F73EWpdNwKpz3FK6j\nW5FMmS7zYqWkH8l0HDPBzfkEgYMu12MIeEPcNa1vwmNmn/pZqccdPrzUqUyA\ncTfhW+X8ioiBwQrbwkCrE4aE2/OcSvs/uvNLYBsinNf0FxrP/+kDtghPKbL+\nPtGuj/UoTl+lJXOrUl5T/EhFxRMis9PsHkrYS0ycIed4ZkQLT3SBox0JTrGZ\nwMWN\r\n=4a+S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4f20e6e641b48a8ec7f7916b83272bb1322a3663","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.87e3be418.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.87e3be418.0_1593021160012_0.29669985651757846","host":"s3://npm-registry-packages"}},"8.0.0-canary.035cf2a6f.0":{"name":"@material/dom","version":"8.0.0-canary.035cf2a6f.0","license":"MIT","_id":"@material/dom@8.0.0-canary.035cf2a6f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ef9bec3cfdbdf91d986260d1d1082d821251ba55","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.035cf2a6f.0.tgz","fileCount":28,"integrity":"sha512-BQK6/TcrnZKT+aa0euW6Ww9AVLchE1ECUWpm+MZ5oUzM3SqxGfcD6696ZM2xqgIdxZHCIRAPNiLplWm2542qRw==","signatures":[{"sig":"MEQCIFM2GaE4ipuSTbhqa+enTmK/3NsgHi7Uo39aa0ouwfWHAiAz8uf+K97CdSFjSOsCu3OyuSsztyNMsIDMYM2zkhqiUw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe852LCRA9TVsSAnZWagAAS1AP/3+h3j7KuGaZwmbCenJR\ncRVRTYjgUd8F5+delxbcR3Z7ieO96HZpwMniqo956sSdp/tXPsGbjnVhwniB\nwDKLCRQfzWATYZ5VCIcaioNos53x252q7ykLGuQpNjrjiONkLomx2/Z8nqOM\n+tWslMpISGHyB7vE3Tmgi1ZYAbG8kpAYFdqvYDuBGuzQMQpWdJTSuoGqTdcM\n9GAoDWOg5kyjdvHc0EBOTthAb7KqG3UAdz+jcFzOZ8f9S0tV/7XwwLgXXfwI\n0GhkTWuXHTNlJcSf0YVyPb9jtVIsVJTjrWN7IVgEMWYKaK0JB/1tN3nDISjJ\n7Jd/U1rDvDVJp39tJEVlJVCa5tGFKBB2BPr2nxGMUi/g5bNJdIZ1L1h5XBPb\nVPwfSfCFTIhD6/XwVjVlWMpDO9ph0VCWnFNU6TEqrwRF1Yyt6b2kHjhC4i+q\nRV+wnt1LrnOWVhoRbWzS607kUGcI9PNn3p5D7c2PeMdchAIswbEbhMicSElZ\nPA8TneUdtaxko1EqPn05hFUbG2VbBhRBlosbAy6e+4wR37tzPZc49plBhYvY\ne8TRqMuu04ZasEqI8F5Aivl/SJMQz052FYil+BG5fpwOlk24DQKjh5czsp2j\nsyqqjrOGUgPHL1evL8v4etPyG25xUQAuWktA/3wp2AQf7C0xRAW0GGhkM+e7\nFcBF\r\n=gjDV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b41149a9f9767b120dac2367ee34f615761dcf3d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.035cf2a6f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.035cf2a6f.0_1593023883326_0.8289649863299309","host":"s3://npm-registry-packages"}},"8.0.0-canary.2fed2c12f.0":{"name":"@material/dom","version":"8.0.0-canary.2fed2c12f.0","license":"MIT","_id":"@material/dom@8.0.0-canary.2fed2c12f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"54937f97e20b92e5bf2a5c94576af610af8b2558","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.2fed2c12f.0.tgz","fileCount":28,"integrity":"sha512-00Lh4KW+TrG7wVbFkF/80LjwFwCr8YWQxOCE0jJHpD2Sm1ItBXM/glv4O1rblfdjUXDT0frcgryBe5Cd+C1eHg==","signatures":[{"sig":"MEYCIQDr8YQvEz3x1O9Oxb2O2JYH5mVgyvB/MmxvYO4f9oT+4wIhAMAddJhoCHhXFE0+002ZOuYM34qLNSoT8PHmuMfMxRt0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9QJQCRA9TVsSAnZWagAA9XAP/3wCdmZX+kX5UWNdiz/f\nzEC19BgsVlAu5E/getGM0TYf38hryJDph3VCHFg2QEqOq+RT3Dkt0gDL6cOI\n5TPskMOJj8m41dx5/2e8E+UV/1pEpeop2gwtNZ++jf4+fbSKB20RqyE58PMZ\nnH67KORKCQlWR+7gWoARdTZj4h88or65ADNJ6Nkssq2PMhKMFyX9ecJ5yWWm\nqTpd2s02qostaWBNSXLplBbX1Vjyorh25JXTofLM5UdFRXWeKZlpBu3mCdI9\nN+SInaaewqtDdo9dg4pDfcG86TxWL4VQClYxrbO7RIHwo9z01qkfcW8+6jiJ\n6MdB+E55Yi68nqUGB0kqVtthBepqHhwt3zEXdmzfp0LqYtMGGABBHnY1ldFJ\nsvR/jrXK4Pi3NFa+7zaRksUZkY0TTOoFR+HoSRhpus6Q1WOQx5zMiqabdF1R\ny1z6TTM5RldIc46jrU9LR1eHfz1rEZR0VHYmdssGMAcrOZJxQTQTbxy2osYD\nvzMq41EWzN9b9DebkqtIRUPypxvf6UKsjgFJQsKg+eVCrRC3UOv+u3rz+pBE\n0p9v646yoQ3Kz+5Vy1/EjXukWFgCc4vqYKSYR627qwRj0Vtg/bxMfHcuawCQ\nHG1B/NpvHaJBOKnH6CPJCQFIYD6onvR7fY+t7KTmFWPdgtBHUqhb8nEJWN3q\nAAL6\r\n=7P/s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9c7b4d7bb8c365a3b1a4408204f63c124455f635","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.2fed2c12f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.2fed2c12f.0_1593115216423_0.28854205413282186","host":"s3://npm-registry-packages"}},"8.0.0-canary.38197b443.0":{"name":"@material/dom","version":"8.0.0-canary.38197b443.0","license":"MIT","_id":"@material/dom@8.0.0-canary.38197b443.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"84baaa14d55d88ef668f989d33fc3c99fc6c1557","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.38197b443.0.tgz","fileCount":28,"integrity":"sha512-zZp/7xcmJFaCyLGmGtHVmOLkrtVHg2KjdKmPxOXVLAQ2V5PTyOhKuscjmRL7MJwmP3rNjMGzY04CwLRjrqRh8w==","signatures":[{"sig":"MEUCIBoM91EYdx0mzS/0+TCOhKhCmNmm0K2KHukCrginvb3SAiEAm+k7E1lgcEkIkhV41XMQLoBLlx0XbkHxF4H9cPRgk8o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9RV0CRA9TVsSAnZWagAANFQQAJ2kRpo45dnRVAmH6TAO\n/YT7nlRRFiZCtnrH1QWxPg97DH0IQfx0zfbxrJA7wA0I9piPoiW+/TOag4P6\nLCcdaTF8m0YWpjrNSAxQWA5dMAVry/6ny5d0mlL5vaGugfDZPMhJ8x54Zs5k\nf3qFGN41LZDgn07Pg1iq9bZC/pSOW2BmywOAoJ1YmaQy1xM9oXUOl3euq4yt\ny7aEhV/XAPP/hZR/+EcnKsqO6XP26PdA66jvupc38D7LOJpRf1btyAZwUNZ7\nDBe6H6ybB5j40pMhYOz0A6gkIEBKRKnDvemrSedrTlU2XKMWIfUhHpVCb9kM\n78DITbc/Kpklfz6PtKlm3VxviRq0MrvLz5bfoJrjYSazOsOP5Kr2JeFZBmw2\nzuCeELdziJ7wg5NlMvBBKG+U5yt2TLCJZydxYCpEO2NJEkDd+4SYX5RpLdmE\nPmTdo+YpGdNgPfBzJL80b8i3u7CaMf61YkNVn5poGmdgM8Kcxjn6NOYvX3X0\n9PQ5lgkQz0SKOh1CWeJ9kNHglLyY3CQKb88Jiti1HvB01cslw6e1SnbvgyNe\nBavb0vNyp11ghqvyC47RqspBO0rDBadIiGskkAXJJ458A8qv8/54wxdo9dnH\nOJxVS5j9H25/PDPfb+We1ezPCXzgTulbH72YgwoGwREPhpEoyMT6Xc7gfcgF\niKh5\r\n=c2Wz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d5e18162ee3d69aeff0d489d4f3f73bb1cad7b1c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.38197b443.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.38197b443.0_1593120115886_0.7549020429924882","host":"s3://npm-registry-packages"}},"8.0.0-canary.69a35e80c.0":{"name":"@material/dom","version":"8.0.0-canary.69a35e80c.0","license":"MIT","_id":"@material/dom@8.0.0-canary.69a35e80c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"11cfa7969e7538411e3fff786c11b03bba5f548b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.69a35e80c.0.tgz","fileCount":28,"integrity":"sha512-Bl1YumqXFelOQYGoQBg2jPJzALCHbTssQwHWGpiZQV3bAWM412RUdzAj0oEN6Q+SDxyIL7Eltkc4HHkkAGSnRQ==","signatures":[{"sig":"MEUCICgQrCPJ83061jTVfFMWUY+p/APElPROwsGwEeGpmu/bAiEA1fXOKZb7OrZS4USXToGQ5ZF6BjcWY7BXJ826MH3oP20=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9jJ+CRA9TVsSAnZWagAAGkkP/3voK1rOidiQsZcHf4Rk\nW3YZ2SlMnfesrQlRKY6qVmSet/EdCr5HO4HhHX+m5Om0lsWxkshMAfJ4ZMSf\nM8OkVcpoy6qbSlj/NDTOSqy0UByBnTI1OH1jV9BnLD2K+Da9QRopqrICS8yK\nMrNHThucUZk2vwRoEIwFXZb26ZSpsLMXQMOl+U2Tgmbr65bEnvbN8Gbh4RoQ\n6+ni3KW1A7sPjNe5RkcPCM53lCvO+45b8eWq9/I7/sCWVBdPd46t5O03avKU\nDJ8EKyg3aksH5chB27+nYAp6HwZiSlEx+56Qgn0f5FUv84Pt0GMLmfZz8A/l\nlpS4pH9SFKUr+cQyWMfxuf3ZXJe+1HYog5S8q5hsSjO1h7/dz+rdgnXb9CmF\nzOUcrnQOCOhYAqhPNIY/m7HDJeF0qL040xEV9tN7vWLQYWhY7v90mJjfrCbf\nzBKWPFPek1bWHLaj6qimhJPJiGZVxkW+n5FmYbQ4gIAzEMW0o6qrXjfZslMA\nvKnRj8Ih+89MEzOT/5uDhbvhDbolIUM5e/QrmBzQSrO4NCUX34y2/1/kOkhp\n11nlPdFOH+UiiAprfPytHTATRyG6dJExCdwWJu6js/MvddqfK7Ox5a8568dS\nP5TFNbq79KKhGdwILj5qwDN8iWvosHb+IcYK7REr5CaR3CUh/HNHp7WGvOsQ\nTGKV\r\n=3iLf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"35bab77d7ad4b820da5ee4944c2cc2b7fe1533ba","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.69a35e80c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.69a35e80c.0_1593193085558_0.8943789889422449","host":"s3://npm-registry-packages"}},"8.0.0-canary.df7154fb3.0":{"name":"@material/dom","version":"8.0.0-canary.df7154fb3.0","license":"MIT","_id":"@material/dom@8.0.0-canary.df7154fb3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3a8a2878a1f7cf46593ee4ca2e9bbee6c28b1546","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.df7154fb3.0.tgz","fileCount":28,"integrity":"sha512-ZnnA6Ig7nNlL8aO6f4J+zMFQArbBOjGFvRl3u2zEJOQRlMx+Ti50uh7mtQTAuAghtK5z4fxx3bNLuUMviG8Hcg==","signatures":[{"sig":"MEUCIFw9ksfMNYBJOS7xCcB0uRMWNBXn0DTkth3Y7Xpju4DtAiEAg+cYR1dTHhoEzySk/lOgNtamEt9i9zPTyFVTcw5k/CI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9jtmCRA9TVsSAnZWagAAIQgP/03bG0BXnyXr72xSj+fa\nKzuV/JklTlUviTNe20x4NN5CRYZYtZjKY+vNealHOAFqx3TucrcrkFJJBHCT\nohC+3ayAZtJKGoO/MNI1Pj9VxPnEtZF8rmk8iEPL3JaM+N3BajdM4FmR6W1F\njuAuIaEHABN+IaWsnbIiXXwne4x57LpYNDN5fK+EqugXHqob8rGu+9Y7329N\n5qKUMwMGJs8ODxjhuoRkX0JKR5bWppLin8Lmj5tm5zWI2nPlESKCtnKAVdev\n3U8joO9Rx3zatOzYe4BkNTt677PckdOR7ai+JW8azEfcm2Wxg7uTItfLpdUz\n6qBVawXxoZhyxc9aKBj4hjRF+s7ypIvRt/m0wgPy4C1pLcekogDVTLCcDmpK\nUehP3eEQKZjGoZBAymU2IzHXIGAl9J3b7zDSlVQ1dhQyY52A/KLYC4MbkdpL\nX21H7jVqJP0q7bcv04QYm30O6zgMC83zcySpkluLU9IrYrWqwE+GJr5AOS4u\ncSMBFiHqwGi1FWPLqZh1Qq3gSU5rLzLr/eBu6wuU6jVbz5pJ8ie/lgRMZT/0\nuYj5gVZPV+3fj9zXocq8fEhAQF/KABwbiFfn9lP0eKb14yrwwNQBhSUaJoau\noTvp37IPp1+52nckim7sKT7eRCXARVoqrL+kDnCYXlBYAkXWeZFWdHblbCl7\nMQfO\r\n=oSII\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9081758d517c13eb6f120c62abd9689f1fa99906","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.df7154fb3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.df7154fb3.0_1593195365757_0.2988120640363785","host":"s3://npm-registry-packages"}},"8.0.0-canary.d5618602a.0":{"name":"@material/dom","version":"8.0.0-canary.d5618602a.0","license":"MIT","_id":"@material/dom@8.0.0-canary.d5618602a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ab3f42fc851d4a0fae76b40740e33e2b1d9251db","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.d5618602a.0.tgz","fileCount":28,"integrity":"sha512-mvF0AYDKTOOrDIP3kYwgihCICFA8uNEmIrOjkmK4GGDhIfDzcAKbm/XVfLLmJx2T0uer0vQmHuGR8N92spSOYQ==","signatures":[{"sig":"MEUCIQCwC2Z0mU5jG5YXFSW2IW6ZAeCk/toIkGoq8GQkRNwlGgIgO6XrGvGH7CkOZLRpOeebz4N9giJGG1LG5LWNZCk8O64=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9mz8CRA9TVsSAnZWagAAiAgP+QDDTkPcgszPw4e4bPTt\nt1mhVZB5mFQcZeZDnuAPRvZIy5OoPv06iS0EbbUkLnnfErfOn8V6emMznJcU\noWDJ5r24ZoaXpVtdtJr3ufySAcyFNpX9ClYwKnhMKjAOeVLU9a6VH5tcC7nk\neN2axXscoPE8gs3GkK3OX3X0PtCBNI/yGpGZ+WExCVQaHxr0V8UlH3XIUKow\n1ah5Wxl3EtR7QGYvyBzlNeUuXAKCf06ESGdHHHQ6ajWPLT1YJj9WgkFCYLE5\nitArJI/gu0uw+p4DvX5PU8P27UWX+lLJCAOpStBzJE5EyYZt19AjeOx22A74\nmzHJzWpz/O7JuIwKHKv+aXDCLXswsrxVqd4GXRvrZAtx7qHjfWqNn3vS4jxN\nhpqVNXZgNY3Ald/I5+AS3q0+4/Jqzdqb2g2fzHCTG0SPWQOYxfu/YI27xUdv\n/yL4a1sB1Jz55poq8U67DiESD3t9M2RNxbfGGCD8v7hO/85EsQ7EelwyjGxY\niSj6BYRS9RWq5sIhHITO4GJkSVoalvCuir6p5v5VIxBDgh9AO0wgqFuID3Ga\nIOeT1sRpqCxlW3a2D4nvcwzxcuPzDv6nPsX0bEXLg3mudm23MRWJdKGNrVBy\n5Jy5Bg0W+dv9VchsQIOThS1XymBqHF+h/MY8f1iLrW+ORs2Eq48OXbW9wTjm\n9fG4\r\n=wcoW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ced8c184e8043c7ac8faa813b76b9661cbe247c2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.d5618602a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.d5618602a.0_1593208060163_0.6424905686543956","host":"s3://npm-registry-packages"}},"8.0.0-canary.e590b376b.0":{"name":"@material/dom","version":"8.0.0-canary.e590b376b.0","license":"MIT","_id":"@material/dom@8.0.0-canary.e590b376b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"795a79b88008086d9a5c46ec259a76ce0c54f6fb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.e590b376b.0.tgz","fileCount":28,"integrity":"sha512-ojc37x69bmMOmun0J1vm3bPhI3qNiBZh6tpssaJZnEaqXu5+iGF3U5bFyQV3PgsGr8anfZYLjmV7CxgczzaMEg==","signatures":[{"sig":"MEUCIHQoXUemq7to8B3uESldytsMRXc/fGGi7A2eY9T6xg7NAiEAjMb7yEV6H9F/5rrwI9PjG6sXMn5XWzkY6xbbwsVXJ+8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9oNUCRA9TVsSAnZWagAAIEwQAJC+k12fXJtaj64/Qrf+\nCBKnLB/Gjm0vCly0C9VKUdR1zmF+sdw15xpI5cILwsv/LdfgFKiTzf7FWnSb\ncHJubZVei39AvkUSCiZc+VOpnbJcQjY6SvuWFZXl6iutuQXwXHJ5FJZSmhad\niW4W3PP4uxpDj7Xm70AIcyAvFwhkgwtueSev5pNzWu6olmlk9rwxSMfWAuce\nlpQRChY6WzLT5I0woXYZp79hMezEUwZrG15uNmTWDJrTeSihpHtIWY/qLzYw\nzG6Ulsm01VDTjERX3SPmWHtkFrgANBFxM4FGWYJLpZbzkDbJhHDZwOYvz1gW\n3GTU6bdo60uXh+GG5xptoLF6P04c6SWG289dAS/lpeVTJaW/fv5ztyBZvOim\neODixegAv3y71lWLMe3pPukXhXskeG6w+7X3pyghQbnInKRjTUp26vP3lbBO\nJwrvIMFJBxO7LtsVCxSumQ2NAxkNdQ6UDX+f+xVCGh13X+3WierAot2enkLH\nrrBNLtVQaUW/Fgd4nJNhUVwuTUq6pR/Wi4xvHLRurTezBtX+cdgj2N+YTaTX\n9NVNa5Vi7vjJq9VKnJz1H7SJLJRZFym2FvYLUym0o5q4zndaGEAztbDIHOPS\nhVp4TV2oVDstb17o+5049uyFYaFtQAHiyt20VMI7lstLaSFytnURNVlfeoe+\ng49R\r\n=Qbqi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0ddfb390b804034a98ec0b8e7741dd3f3250b5ab","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.e590b376b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.e590b376b.0_1593213779518_0.3302218654647464","host":"s3://npm-registry-packages"}},"8.0.0-canary.0c9d6bd2d.0":{"name":"@material/dom","version":"8.0.0-canary.0c9d6bd2d.0","license":"MIT","_id":"@material/dom@8.0.0-canary.0c9d6bd2d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"651ab97e71037a6977e341a42afa3af38ec55ab8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.0c9d6bd2d.0.tgz","fileCount":28,"integrity":"sha512-cwQjdRDyZCg2M5bMcRW6U5+9AlwiHXVWMjlsZ6f0XdrcDfrnZMT6DbXxpPKkGoRWG74rlJw+9Ys+Z59x4/IkaA==","signatures":[{"sig":"MEUCIB5dr1fVSmJXvpMJZn6eY1/enl9b6VGkLOAcVk4zxsulAiEAomMUFR46aOt1Fr1tKF3YpvH11Z0NVzbAsWzi9NAO92g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+iGCCRA9TVsSAnZWagAAcc0P/i1nOF+cmVM6OfAnjwJp\nQG6J5tIQt+Ex8ZzyXukADpv2zJAweOCIxXvNqdbzTaza/idRvxZFzSrggEss\nTKJRKkGMQNwFSTVJ/DoxHSfaYgnmFgGErMqtv5gb9ZO8lWtjzcERlM3lsC2d\ngNoZkiHqAvfObbQ3PxvOb0d5N4lAGT+rrOcCWi2IX6Bb79fjs91ZoMzW2SHV\n9nxmuJNDt14XRpfPV+EEyteaHi0FGd2Qpk1kzGHKHAUM5ook6tdC04r7fW2A\nrAYLzFGXHXLVZGZFFR6jtTclT7zIKWK4N0Oa9OC4hD8Ve6Yn7OPt9vRgQEhP\nevd49eXJCWRjRQK++U8D8NlraUMf9K5c3AHUJQOuhgu+Dtgi7nWq5mh15/lY\nTGG3xdl8VyhbO4qqei0rCTAQO+HVZKIKi3+iy1UJR9P0bPeJByr+7M5dWCat\nCc3U8/pwsRK9ArFOzw6PKketDuOpRcOauWUuMP684+oOxI3xlKhMzqF78PUg\nq4YuLdZ5XlaBXp++WG8Xsq4gwVWWp/sYDewhFoDiJzSTjfisTsRFJiyPGPoB\nHKiKvjX3WxGqQrkY7VMgCusaP19Z9ohtSHa10IhnVb60bw9oVaZaWn5DIdw2\n2uHM3IYPM4T5NlDjUqpYr81YXI3d1YYqRoz0VNwernxX7UkJFjftgn0DAN+U\n9nkT\r\n=K1jG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4f171433da859f637823aa04bc12d72783771f90","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.0c9d6bd2d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.0c9d6bd2d.0_1593450882081_0.7956809125960362","host":"s3://npm-registry-packages"}},"8.0.0-canary.c1fec4246.0":{"name":"@material/dom","version":"8.0.0-canary.c1fec4246.0","license":"MIT","_id":"@material/dom@8.0.0-canary.c1fec4246.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3125efad3ff35b67bf33fb5c626869bf53b9105a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.c1fec4246.0.tgz","fileCount":28,"integrity":"sha512-FF5O+5KWIRrdE/+BVQ8HncajGN3qB8pWsIL4yh1ESoZZnAuXHHMpvQe8TB/CUh79tlQDT0gokdiXsEFcMOd9Eg==","signatures":[{"sig":"MEUCIE5cpT6bezf54SD+P9rnIXtsRo0FDrQw59+78/WI9P+VAiEA824vH7+7gk8H9ueTFmUKkYb6+5gUjNlAQfMhgzsbSE4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+iUOCRA9TVsSAnZWagAAOsMQAJ0BcOowxmnBxabGz+9X\ndWAFs193t1mpPeG19V1dWBf2oENO1q3txvdb6vQBRk2X+ezlWqnKtOE73ZCX\nhl5f9+Hj4m8BYf1Tt7USIexXXdLEkdd84Llruf5lfTrgB/bD7NcOJShYNEUk\nV3gRSf5V14BvhN2BVxK9Gb6iE1iVVpPpHGFm/jtxA9IeW2eX60N2Sy/YGfd+\nZSz6eYpBWA/3ZY6bkUG+UtB8Jd9dp8kxfl21Mi6/6wFO1CHRpLXwWQHFaFSK\nYCYPIkAyO/PI9h0D7og2teZhfbHidFOrDm23NCeWT2QR8LaEDTzeoR0fNIoH\nJAoP915GHONY00suJtxKGP1hcsGFnK1jeYLlz1Xf3uwwkkdkoxivijVQzf1B\nzy7OJ45cFg1poUpvyH6o5pABZuXze2wh3OAv3U5h+c6MUpRnROhtvWGJvTN7\nfhElj2J1ogrpMz9ME8VwjoujYbTYmNltw9yo12QSHV0iKQRkIBdIq+NJt40u\nSjIx+8+nh2Fpeg0mChfOYsfjDwyxUr+13YS7AR8/nTY2YW0PB54HghZPceft\nU6Rcf3eTX4edQcLAHd8GYAWSI+1dtDtUrw6LI2XMFAVLCzbwE5ygZ8ACts8m\nzTAUc5+YtTjtGXNY6w6bDhmXmkP1AcNiFay9ij7Z1gpc6XC76ZSJ6fBoibdS\nZ2jd\r\n=6j3Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0a588e37208b314f42e946ab4add50d0ad1ebf7c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.c1fec4246.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.c1fec4246.0_1593451789658_0.14034551571100673","host":"s3://npm-registry-packages"}},"8.0.0-canary.c678a9d34.0":{"name":"@material/dom","version":"8.0.0-canary.c678a9d34.0","license":"MIT","_id":"@material/dom@8.0.0-canary.c678a9d34.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e3dd6b635987321832b87e1c5cf3d9b134e18cb6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.c678a9d34.0.tgz","fileCount":28,"integrity":"sha512-OGWE3wxyYday+zdfPFF+9XNT8y1Qs3Lu5RrMwz3dAVHUUDGI1kgayhw/zPUndhuvNsqRRt9wP75ECUMJa61k3w==","signatures":[{"sig":"MEQCIEH8lWWmo5AWv19RdfIEa0X3gOfBEw98gX+Qha7SOkL9AiAysaMvZ9CSMTVfv3NkGKDZiVMxaSDcP3ebs/8n2njwAQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+ioKCRA9TVsSAnZWagAAVBsP/0ei/JmkcJjHqvUjEM4x\nm5xR4D/j5zkDlJxK/x0L1R0MGd6m6jh0TZCuPy0A/bjPUiDARNqPb1xUHdYd\nydD8y2g17/fVwpm15jKfH1jdC9qetzZhZ1RzZ+D6jW3jPIB63m7eiMyiBamW\nhQZ0MQzdOeBZxtSqwd4nXarOPglsnw5TDrysJ2UYu09ZFMHrcfIPwfCZtY07\nrSJBnWZep7F5109rJDHf3jc8e7NgEbRhA/hZpal9hGz5t9fyTv7wcrHclF2j\nltlsmywHT+vSTgDRNvITNgwgjS/aiWZPu0tHqdx4Yo00Ap5oSHFowjJqzN89\n8eSPAy8sV46L6IcftIdJ26wULGu2mkrRM/TYm0GZhprSGf384U/2GmzfDbYe\n7C10VWnRwjgDg0+gDmWFhHq6HhUCztFcEQsK0Mh/8MeHEwT/KymItPfbW0AL\nPmyWesaOWBAxKlAf6yPxlZgjlxD7z1T38dwyAa3G7PAinZSG3MbcxRoS4kg0\nEVgRBrgq2N8cjpIc03u0bmBbb1XwUIkrLt49d05K0a0dvNMsKHqbP6R95p1x\n1bdK1zUL3YWPAtq7vJwAOZhXrVNbxZj3gAO5SJ3JPz5VcIxcyQPS1XPtTlkI\ntify6Q5ijpVwF6NJ/iuXr0/tu7IHn9Bucg/buGgMFjvF2vOlPP/G5cnGR4Lh\nQRsW\r\n=urg2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bc361f7c6bcb498f3a6dbbe6255c06a66b7dea5a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.c678a9d34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.c678a9d34.0_1593453066333_0.3054130680800753","host":"s3://npm-registry-packages"}},"8.0.0-canary.521afaf6e.0":{"name":"@material/dom","version":"8.0.0-canary.521afaf6e.0","license":"MIT","_id":"@material/dom@8.0.0-canary.521afaf6e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9b4a675434d79ff83c6de8e5b7d70eda75bb8050","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.521afaf6e.0.tgz","fileCount":28,"integrity":"sha512-aWsKtHxiJ0TFDZzvwxAzLnTKq6jBUrmyTq4B2ExYJxh9xgu9L6dVWj/6R5bzGgT1wbtRNtDQDwwfewdRA9UcDA==","signatures":[{"sig":"MEUCIGXugiGh6Zfl2lkgdYbVIdtPtmTzqanqzArU9Spm+vrXAiEAnQlP3EJA0fEkLV04aVv/rcUc36d6edoGQvpKGuKxikg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+1SOCRA9TVsSAnZWagAATwQP/RTEcaF0+Kmk1ry5gZiE\nj5n+W/E3K3n8Xd/IbWcmUNa/Mp1wMkCdGr9VA27vGL76uub4CU9/laLQjvOC\nkTBXGYjsuWgK35oR5LAhnJukUvLqQAcysBlxAcY/vVJdjg5qWbNvss5hU083\n6BxRCifayuMrYkfJmON3rUV0ZVJd/yse7BBvnIbG7RMTNYmgSqzOUJvxkmYv\n1Q10S04qsAkh/aumVV/TFpouSiOvKHfjyI4J/fXKWbe1YNctG0GJ72bMIZqk\ngvcQwr00DIZHQi9pVo7BYA7ZJTjGgjMLGGGkz1wDb71Z3EouQh4J3kU2FWQd\nEJLLrplrp+ky4Jaf/qm1Rsvmq6jUSk1vOxwAD3PnDBiNlBEzTF7Ez88HFO+K\nzwv4khUgLj/QlQdfP+XGmTkUsVpITc3pLKiohCrXxbg7AhRZYrIFmqXshTZx\nQuOvbwBmzNyjmbcPpPgHD+OfLJGFsuAU0AyPb/sJfaCetQ3NcoyRpCjFhb2D\nq44xetll1rtN8RUqaLKwsTzaI/yGPZq8j171r162FKjwsFibpHcQTjdKz2ap\nDDRlHGuH0QNE9C53pU1CD7BPGsZbP9feimfY5BsO12RqKhNm4LZM5f1XuobB\nMsvpWGmuOt3MxNcEvPX3WPPkm/OXDk8h/Ds3E4kUTYyQDzOEH7IY5A100TYd\npHBC\r\n=6vF1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7ef14e207a6031cf299541a4dd72c2eafba3ef91","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.521afaf6e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.521afaf6e.0_1593529486444_0.6030595858052112","host":"s3://npm-registry-packages"}},"8.0.0-canary.a2ad48839.0":{"name":"@material/dom","version":"8.0.0-canary.a2ad48839.0","license":"MIT","_id":"@material/dom@8.0.0-canary.a2ad48839.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bc7c28f1593c2ae47ed19de68080851de72b02d9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.a2ad48839.0.tgz","fileCount":28,"integrity":"sha512-Jv6VRcRdfzDga9sYufY4o4EpmSO91Ugf1s7J5LtGSE5LsXFZt0OsfuYQUm7MwHzjmxJC3rWP59ZFtjqZoMc1iA==","signatures":[{"sig":"MEUCIQCgg4HuR6ftZtkqC+WsUrb5a6NffPZukkuwAFNQph1JfgIgTwWAVMQ+zTn3COMo7OTqC4TBDJimR3ZDIq/iZxq0Xg4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+47nCRA9TVsSAnZWagAAx5gP/2E1QAScJsRIeuCkywND\nH15Qko82tQZJj7TgFYao9A5Px5cLMAYXpOOCbTDtrB2Q0OEccKPuezVNjqvu\nit+GJVGjipbF3yJH9sNrr+oQjhx4qVs9ghZSUvQ+EqLhO8TFpWZCysndhGnG\nEyCLGXmkwIEjDAetOUzl4gTsUrT4bSts0R5uPBunp+oooa1IPnq8l0m4TIOW\n98GUVX+tyoq1KLuUvqv8JVN5ASKIcnce+Qi2zCgWhq64DBA0kEptIfsqL23H\nRlThbz6pCWzosLxMVK4yNh1EPx/MtpkeRcZMjWMlNn192gEa0a0T0xOHOl2V\n2Ywu7Or0CRgbuHSraDXDSfhP9HlMQ3FFkV4VKSpRa+lRz8UQl5nmleyu1QVm\nYhG5KnFd+bcmIBZzdt2IEYCZ1vn/rYZ/wMRBjjlWChgt2jQpi0Nr1j+Kinnr\ncVwdL9ZibVf/0pvnY+ydvea7/c3IKXGtjbBSYGhVK7dS2ZvQrWx0JulStE71\n/nzTIl7zeNGm6WUE/KZyTznYFuoVb50k8egp3Nf8z12uYC8YT7Zkl2sbAOaC\nwOOq15mkdyk4qjWlMkr8Kl2xpes9Ntq/s9urj05A+xTQEogZYigJegTO06uG\n4kqDkp50C+OM50qGhm2VII5RMDB+AYSPLapfpIwhPD/iu55UQ5gZCK1Uhr5G\n6ld9\r\n=3Qhu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f7f949a98e604fd4cce2507e8d63c145d2f34e55","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.a2ad48839.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.a2ad48839.0_1593544423099_0.3663689385378466","host":"s3://npm-registry-packages"}},"8.0.0-canary.ec2385881.0":{"name":"@material/dom","version":"8.0.0-canary.ec2385881.0","license":"MIT","_id":"@material/dom@8.0.0-canary.ec2385881.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fc392a01369b176c331df20d064ff21cd06c5bde","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.ec2385881.0.tgz","fileCount":28,"integrity":"sha512-JB0SIwON0U/xm4DKapLGvN04uHBpEKyJyXv2OUBnnekR8GYs3eMqSqvKdDZeJAdzznwDQsPnQAeYihqczaKWBA==","signatures":[{"sig":"MEQCIAGozyICzcyJQ4nuPOeXrP+F6a1MEyl2hL/oNlRx4VTMAiBOgtT7ISfbfG8lG6800tBzqkL+e142DhN9W15K0gLYmQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+7KqCRA9TVsSAnZWagAA/uUQAJrzPOkafjKROuiebZ2M\nvvJWi8XHWjT7Xq3wcpoQ40WKK8F4cEiP9y8KTW30qzcPKpPQgvMsmqVp/2xJ\nR+W6m4gtP2C/Hpmhdn4by1bUQ8hUH+xUYwn5HCgAmaNJewAFlao8+Y3v40/O\nL/QqrqwxVbif51ZzXUSIgeScvZKfuzazU+YFLlXLlC6m761sn6hhZywJr5cy\nk3NuxyeKSoQLlH+2Rl9bNyxVCMg5TfNa+2NGzsPSKq4lgC8Myx+K02UrbR/Y\nTsxKuZYhU7eTrcQJjGKHmmb+Atkes+FYfpiuDrietViclAf0B6B81IqB5Avt\nMhxcfS3eGHVH3ynypuqAmyeBbGx0hZ2yRhhgIOopKfg3AAXBed3LInna0gC3\n2zV4QDdRpJdGLg/C68Qus5ilxC8mbx9RpCw64Wn2v4brS2A5AbaetPpiarWB\nebjnjxYx4H4RuCBI1aXE0hPZi4KY0axZUvw/HKsvYCIKRdzGQdILeGzBtzMK\n8FMh1C5WGSD7WqfruxNXo0wDGW5wTY4HqWLA5tjlB2LGMGtRuQa1srFiF11p\nH2sDpr5ClCBVsqdkLNV66/+hmj/JzcFtFLXHshKu9LZjGRdbs06I2dfNcVNX\noum+daIot0H+REWWUj61kqLPGtTWxE+T8lL09YVUsNvp0wgDH9KDMvEx6GHO\n9GOf\r\n=szzt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0039d314b5ff29856a2f17a5ede426f3f01c80bc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.ec2385881.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.ec2385881.0_1593553578138_0.4225890590515282","host":"s3://npm-registry-packages"}},"8.0.0-canary.610c26c4a.0":{"name":"@material/dom","version":"8.0.0-canary.610c26c4a.0","license":"MIT","_id":"@material/dom@8.0.0-canary.610c26c4a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2be20a7f39f00cc7909ba3de13808fed9d1e820d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.610c26c4a.0.tgz","fileCount":28,"integrity":"sha512-062EmfzAUvY4puEpWqDoXWL4Vj2Ul/HGrXVunjZPnuOTrrqHFfvZAEE9Ndq83aiwUokKwNEKPOHtxbwSV44VbA==","signatures":[{"sig":"MEUCIG6DXGN/IHEIiaXCkPqECoi36z9kNXif4mw+BF9Jyaf+AiEAzeU4c3ZQX0S1L+hkQPFp4NDbhAErxaFyLC2/0+PmJek=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/KPhCRA9TVsSAnZWagAAQB4P+QGlzEjZOBw3BD27lF6R\nuSrqIDbDA1RZZAjcw5gjQ90KqDVul8bm+8+F3r/GKcUL6VOa3BBlRIZuwydP\nILMCMGFB7O1zrI9ne16FvGn67NaH9H5gWNnqagsaaKekfUm8JT24t1K4KBtz\nQDuE890tnC6RqZW0toRq4bbYAzO6LrzbfTof8txLDIKLQLK9tJhzZkRzRvft\nXyvPt832NdtCwo2y7hrY5du6gHrlrWfJmkYGQbWztNA5OSef3XBvSsftdDyw\nqcJ36TgmuO09vIQExJvnEZL/Vo0zJIPlkABwyFFNVZ5bnyYaTFUkGluv4iTX\nm0lwpuJpkOM8weY/HhnA5sx7DhWgk6yKJr969xoHmXGb9A0fGnrWZitRTWcg\ncZFHy9rBVPgCnLkwedm4DsPvuVydbVTLRK5Io45Aib8BHSDB/sksHP9XhN/+\n2lH76vmIwkItEaBbYaEfVO3vXw7ivGkdmBGq0gTMrHzldsT3b14kru3Y+WcB\n/7jdJPB58vngcHmsufvO45xA5unGiHkkANwoJoKjhjV7zLWFLynYEplY7YAl\n2DDv+fC+rxQ4ukV+5jt68rCy9+A+eN3Eq+3ViLaW+y97tYwZPqeJqSpsM2e9\nimk3MGbGAHePd1dyAKCQ0z6TK6J6QMXnTlmROfxCeYH0nGC531PgpFqsJTtO\ndXEv\r\n=iTQV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"84352d6873c8f275f890267635fa416189f57a3a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.610c26c4a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.610c26c4a.0_1593615328937_0.168154851861255","host":"s3://npm-registry-packages"}},"8.0.0-canary.e2ea4a99e.0":{"name":"@material/dom","version":"8.0.0-canary.e2ea4a99e.0","license":"MIT","_id":"@material/dom@8.0.0-canary.e2ea4a99e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"23be03e394abd39f19c42eeed8fe1b067cea5325","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.e2ea4a99e.0.tgz","fileCount":28,"integrity":"sha512-0zolSXwW3rHQnMM5ISCZdmPUImB7QNKA1PQ6l2Gvp+dHFxTjzqX0UCHVHWKMYgRnQM5MLrqwN21Jvqw4xehbrg==","signatures":[{"sig":"MEQCIAV5ilWfjgm6xRcyBcJB5X98lmJ3bbWfw/79ig78KanFAiA3zoKMRYnWWDPE9oYRPtWpHmlw/ToOCrSnRSdUkIYyAQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/ONnCRA9TVsSAnZWagAAWDUP/1irv8LLaj5umA891IMI\navsZx+qvVzaxZEQvq3svtRhVcqu0Z+9sblr7D8MZOBXocCJDWu5XksH+x3z+\nWKIRhsMfh4Ga7R8ncrKDcCOqf+XwffeJrMUvQoIjg5hDz6DrbScVNb6l5xTw\nOFRGiz8grnJd/GlpsYbYyr/EchboHJ6X7P2nWqeFwwPyfwHEXAhVKHFCdkJi\n9h/ijzzltPye+Qh2cSVSloo0KxWZD2Fh2S59JNV3uyHOlo/XWftO625Pe/Ap\n9h4YjhgXjUSaiNyHl7aq3uDBgNTf1SnEPTlfguuxjN+lXa6sPBLNKUtErFFK\nwNFhyM65VpMk3sJ5GQIPDOS7otmI4NLSueFIweH1nynDMljq5xw4JpgZMJQk\nRXepFekqkUChWY2EbX1IrOXpihjIkzfolypNx4U3l1hApeUk7yZ2qtgXTnVE\nF9HFsh6crnHU66yE3/DPr+TodDPqT2xwE4rrln8pztAQsHZTaJZsRGwb6okB\n5tu8na4YkTfsXCwD8eUvgQbVA6hXmZa4q7TUThZ6kixwapc0qBXjqFk5POyk\ncfvEM6zvKFjhmpmHTBYLkC1VuP739v29w/Ag0jHb/GXMmeEAimvwM2mAUf/i\nMUok40IHUFBt/oEvnKRaTBt3pvQusJp0R1TLpSh9scgDgV3J6mkFo9lb37HA\n6XyO\r\n=By8Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"42e9f40d91c643a9770e5a563a204c7f36196a3b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.e2ea4a99e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.e2ea4a99e.0_1593631590743_0.8923416385556908","host":"s3://npm-registry-packages"}},"8.0.0-canary.a78ceb112.0":{"name":"@material/dom","version":"8.0.0-canary.a78ceb112.0","license":"MIT","_id":"@material/dom@8.0.0-canary.a78ceb112.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3c9d3f8f177a8b723e4fdd95651f7288f5fa3a27","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.a78ceb112.0.tgz","fileCount":28,"integrity":"sha512-FmmLO+F/kyo/0rbkkp955JiN8ZCG9CI5g3VH4Ru02jtZdXnGSzo8Cdqjq2fzgP7MQ//eTTwMdeCZfp81UCwjQw==","signatures":[{"sig":"MEYCIQD7brvKYtTHeH3t7ysPlCl7bG42UeBwKZn77deIIK/WyAIhAMYsNKbP53o/ygK3pA2zuAOv3G6Iy3H2TtyESb5xEt2A","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/OYsCRA9TVsSAnZWagAApScQAIeR27j61/Hk/tJfXoDx\nhC1CABWhTrsawBbPOomsxnmiAoFyP33L61noRhsmogSYgIyHte6hwnkT+eiE\nrzBlFaZZajl52qJkaX9x1yVOuaZnph4IPrmDhMYzhkuv1s9qIFncCCk/D+u/\nXcPWPEJ4rDukzyy6FT/EjwcRGk3LK9/UyyooY21Dx87jzi2ZZSooiBdDcDhm\nG88KyVj6VlYdft2jx64MOBGu3pX7x0R0xg0twNIO/L5JasXZ8cqcSMdXP3i4\nI9Swkr69ZkZ5XwUC8zBKmSthHGBHA3WtewWj6wr24+6jvk8mj3nLtOEJ3b5K\nawcZNMm4Fn6fayn1aisSX8aP/dJZkiwWU1ibs8FhrOPn9ml1fykH/brQnAno\n0ZPTkCH3PcXw8mowIwySKerenbqWWlqtUo637lrsCTx8Dj2nBZJUQeLF5wkX\nVw5APVJOzmCZpLgfBvCNhkFRYZN8ekd4lCTmS41NnHQIpSrwsI9xcOx6/LrF\nZkPBMTn4rZFoW6bWDIfKElvP9ToY0ZXEBO00Mjwf2UbCK3Yg3DTRq7HmLzaO\nXsV8t/nJXV/ZIGGlYZ/zgEf8gyW++ZsQmN32uyO3bYO7zrgs+MT9XRcod+EC\nPlDV+uBh6NNAp+rTUMEW5SC1kAlUrrUk9X9nSnOZKyzFvPTvx1WP9n6sy0z4\nKabJ\r\n=Mazz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3a38e39f3d172dfa99254185d8b0d4c03dcc61e3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.a78ceb112.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.a78ceb112.0_1593632299824_0.8376098826174339","host":"s3://npm-registry-packages"}},"8.0.0-canary.b0c456d33.0":{"name":"@material/dom","version":"8.0.0-canary.b0c456d33.0","license":"MIT","_id":"@material/dom@8.0.0-canary.b0c456d33.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a557393bf6d7a59721057a77afb02394ac788d1a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.b0c456d33.0.tgz","fileCount":28,"integrity":"sha512-tOzL3piuR5lDwz29Rz3WfLU8ZPlRH1zLIEJ/jAA83W8kpjz3hUyDPVkUZ44jd/7l/H1GIpr/dEIr+QUoicc1kw==","signatures":[{"sig":"MEYCIQCTslF+U7hkhDHzZqMe0o0/1GbEPaXGJ+dEiuGGYPS+8wIhAMx/BrshaaNdp8rgKHYIHnz1btqpoDjEqCGlNZ0Z7uvU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfA6hfCRA9TVsSAnZWagAAVS4P/2kwaFfHRDR87chVCWPN\ntFup0y1bNdOJosHxs1xvLbMcpREWv1KEh3qHpnorFA4A4NysyELUOxnuus/l\n7g7gEBGNWdXy+Q7Y+OZXgKImeWpXkGTltNJOiGUt+jz06QvB0CVFOHuut91g\nS0A1xuEFRQfZ4Z8w9kxXrvNeVSo+R6kp1mjEf+BiFXwjH/119O0/zwv9aAiW\nBUAeiD1rfkZhZHqwOCp2q6c5TUH2FEhyOGrL8G+HgBUuw4b5+gsN3swQb67S\n6GzZ3fqEo1IYUCUT4c4wC+r1MX+oq8TFX3yDXLRizvu4JF+6cGDfbxmaV/X5\n8Hhv8Zos+jZ9//YD3LkgPH4MtXcfFYlOeH4fPXPXrHL8gEGgnA/uvwDrlvr9\nqBGIlQpfLh/vGrNbltXOvSoZ7Sr//m1AUFffchd0wH9fLLCG+LJoeDbk9LYD\n8334LR5hF0FsAyYQvRJMcvqhL8dda9FhvxF7AXjBoopGn22FH6F9Y9xcd0jJ\nIyDvrBLL0s5s1u71ojOKbDDJ0ogdtvxTtccaQKm4XUTdq03t1g6BQV/5ihtz\nbhMae2edlbFVUcPOC5JwQUC1ldpIGiEz4N0ySwoHOgQgF3NfhGkkdaCm3dTZ\nSro/hwHEFHY1UX15c8MauQF7tLSJ83OQIoNYyUUzgIaZeNVV+6BiqY8AjRN2\nIiFD\r\n=fPy3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c9a540f1489e069a2e5cd262f5daabc034039d2a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.b0c456d33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.b0c456d33.0_1594075230803_0.012597478491006564","host":"s3://npm-registry-packages"}},"8.0.0-canary.2e5711e04.0":{"name":"@material/dom","version":"8.0.0-canary.2e5711e04.0","license":"MIT","_id":"@material/dom@8.0.0-canary.2e5711e04.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4aaf8f54602649fe7e700e30f36de6f59f518bf1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.2e5711e04.0.tgz","fileCount":28,"integrity":"sha512-Wabf60S0MlIaRbAh97rGNDhIQNWEhI+YRdhBIRObZLjAutZb6CpQX7TElIr8VeOfbzlkXrFH6C8xYZ1t3AaymA==","signatures":[{"sig":"MEQCIEFaeXkdWCt6i3XmcNcb0U0zpk0LHCGFGN43XkafnvVhAiBZsI6tTnYnpWkhAoJAi/6ELuzEwRKo54hQ7dNtj9cSSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBfiYCRA9TVsSAnZWagAApYkQAKBBN73u9xktwnXhZoqP\n9Fmu0XbIG5lxTFbx+L+u/RcoCZU1xKRvT48+bHzRPGiVro7jV4Fam3jjemHV\nDkQY/ihLzUCDmXDUgKDdR3hm/PHhWfBmxQKe+PnYdRyZOShw4aTH5IKS7TYQ\nfqH+UK9mw00xc+gUCHTiZG4pMk3XNIkHRWJOQcPYJujEwcubTDZ17nGToTl5\n5AvIrDZdsttj1Q8GQOovF6DAmJHEymy3xifd/+/33EAIH9iaX1zEldcvG0bQ\nbh9LJFc4HaTJffkqMCCBN5Y5Ieuf2ma9iZbWN1Hg2yYcTf8L1Hjol1A0BiVX\nWlY5jzfljJJXCQJdZkHIe6ZPrXF22J+ylsSuOmB7nVT3PEN+wnZl96qpB2vL\nc8KXA5ZhX6x2uD3N45bEHpoxcxSBk753L0zKbhlOEcTu2MHppaSOhiTg9bx9\na2+YtAa6rSQuSDs2zAY/6VhgHrSmB/t5I3mEe1zhRacV8EJUtkyUXupapR+B\nJxWQCQyNXwAWYjoPbA1gzjdxsjtqWoLrFw3BtnqW9rxOJ9HhnBownLhWib9S\nN73LOFmg59/Ilp3mBE0zE4NLEYJdSpYY4PomSTQsQYE7fCHXHzs9/HXaZ8c9\n67zDhF8cj90ol57XSS01xsiO+R0zudJnkwSuevlHd+PW1lDObkSle/lOVtiy\nFkOF\r\n=A/j+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4786b99e99bbd4c7b7f10a9111b884c165f1bc7d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.2e5711e04.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.2e5711e04.0_1594226839887_0.4959273558197883","host":"s3://npm-registry-packages"}},"8.0.0-canary.811fc5d24.0":{"name":"@material/dom","version":"8.0.0-canary.811fc5d24.0","license":"MIT","_id":"@material/dom@8.0.0-canary.811fc5d24.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e1caeafb44b6acc1e1af51f94e83a8df17f7aa3c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.811fc5d24.0.tgz","fileCount":28,"integrity":"sha512-4DSmlUDVgEAI6VBq+eTiKLGJrSV46gub8KmmHJSIAO9nsDOZkmADo+1RbVXbAy3AwYWi3mmNFvRPutn7dKjnBw==","signatures":[{"sig":"MEUCIQDSLHLZaULE0WCThepw7eiSWaOdMTi3uberpSuPnuRzKwIgTSiPaUzJ+HrL3PRmCXnjkmvSErMuNsl6WtrMU9VFGpA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBf8gCRA9TVsSAnZWagAAnHwQAI/V0X+FKsY+5nlk4VDB\n1QC5KiW0AI2g9ki5ANkQozpifA1h8VouuFTw9g2umJZ+hooS/87gBEDiXgov\nLeBKe4fdgaogYHErSkhN1KhPjCCEHj9xxh372qsW+VuLzLBb9X/9JEdq90nS\n2+Nn5eT/qL+cIacvywvRh30Frmw0OVMb1dOu0IaDUK9wvCENBEZhbUedHqJO\n8JGuIRWULoTLwEPIjJ0eSKCdIqBZwzBgVTdJGlKOXxc/jQ4N4Jzy6h+b1wjL\nJr7hECYdt2Ok80XimiOXpS7pQDumRsyf27rK14E7H+7+vD2u0WS0ReKhZXye\naWd2O/jFx7qvzhIRMeTkt7evL6q2LL8mSZpxkqz2MCk8plUK632TaTDky2hb\n7h1IFpIwFio5DIY/HUhYMz50vHtIX0HjyjU/cUJjkRRzEERZr3dTwl91jiXq\n4kpYLsOConaGy0TS/DGE5ZTqhhLCbC8RHhDfHs15xphC5PpVWNzWDttyeT/Y\nk72mjxyopsJALpBWv0VJDHTDWORacm74rAUVcPEKEPsFEhiby/TnGX5RMKvG\n2auZ6eVrBTeDGkDnPzgu786EI2SVerGvT1KcJQkJU3l8OmZcU3tId5EpKt1E\nZKSgMUoH4aPp0pRQnNK3MjjMWk7mFeujZv4yDNvNKrdzWQZj/Z3OvgDTQ9na\nK/KX\r\n=gCZh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d1a1abefb8800a6dcc0cb20f74923403ee1ca66d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.811fc5d24.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.811fc5d24.0_1594228512265_0.3791017311614546","host":"s3://npm-registry-packages"}},"8.0.0-canary.6ed717ddd.0":{"name":"@material/dom","version":"8.0.0-canary.6ed717ddd.0","license":"MIT","_id":"@material/dom@8.0.0-canary.6ed717ddd.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4b40eeed0c873ca88d3cb77322be992b8b799c5d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.6ed717ddd.0.tgz","fileCount":28,"integrity":"sha512-3H/PGMNtHvfU07cZ1YxfnZdqd/k9Tjmcq7id38ZnX6KkA54QWaoNPvpeFxjy0vI0T1vrGNHABB2gHxdZFjlnQw==","signatures":[{"sig":"MEYCIQDz0SAjforDexj/EccwZxlsigxREZbv56RB0XKX6oySwAIhAJCyQDYmv5y5TxTfDXIEJarGLYdNkjQWLlDaQ869K6TQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBiHgCRA9TVsSAnZWagAAIc0P/137ZNmV3z2h/f65ILY1\n5Omrv2FiBxRrDRsq6SBxWmAl3f82xw6Zar95AmLr5xxCgPlaUg6+pA1hAuPW\n9xIl+gzM98Z6QGYtvE8YTYIWDODLMWVWg68YrXpsNg6CO1ovS4RajEIsaTYR\nyKFzfc0lUayGBnowphOU4SPxqfA9KT5kGRC75EeBc5R7PeWXpgI4sJaTx59g\n/mn0QwEIBpx6GDultWtN1Bgby7oaOQA/T1f1NUhXdLpPVMpNo6djoNtgZjCt\nmNr+1CIjggiGhO5rP8McKFqpicsrDc3tECLxIEX3xv1GALrE9kHCOYIQOKhY\nRf8CgN9jwpNfvWuG0HcYhicR9Pukc7RdnERokfnd50vuI8+uLocJpEwvbYpq\nxZTWIzVd0l6ldYoWTaBwlLPpfBD5gw9ay/jd//ZhfFCJk4zwpss5hk7nYplf\nP1fIdOpL0cRw9LLUFnQxeGBem1deKkRyoI119HQVl9870HtCkRMv8ywyHmxS\ngnqxaJ8TYbKNvD8tC6+OLU13Gezga19stfx/AOuBA8r646umF2QtwtXxL7rq\nj7nenRL+kDxI18IvSZ0LnNh/Q1Pq7yxJlPjCzNMh5QGNRnEFvtYT2KZ+F/0T\n/pcqydA7qjTR8qNCw3qQMDWcuG1JRl9wA8AHyRYLjgm28uedfPyoSqe6mt0g\n6QBT\r\n=+T0L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7c9c6df731e0edf42938b11082973eba27e870e6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.6ed717ddd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.6ed717ddd.0_1594237407958_0.9275486689223011","host":"s3://npm-registry-packages"}},"8.0.0-canary.d850de590.0":{"name":"@material/dom","version":"8.0.0-canary.d850de590.0","license":"MIT","_id":"@material/dom@8.0.0-canary.d850de590.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"31e00eea55397d01a64ac1deff0ddc27a81aba04","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.d850de590.0.tgz","fileCount":28,"integrity":"sha512-TOVLVsl2T550TCM41kwgbK/hqRXMpQDUjIRB9h0DTnzbVr3faKRLCKFjauUG20tC1ty1MlxT9tZUM1xAho+Mag==","signatures":[{"sig":"MEQCIFePYIQZ39eWfay6G0FzZ2c3HSP5IN9S+5DBEPyucNAYAiBRBvjSO3gjiBJaLaQ6vQ1lQZlj/Hs55/FQRmDzNN4qaQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfB1xECRA9TVsSAnZWagAAucAP/iHz9rxF8CUrlomisGMs\nqZUKg0t+pfT4JF8xRtv/7zQjS17bbz0XsvVRf9WSa83ewFsh4/q9da3HvQAn\nrKSxsVwKWxK06vAzpaQhPUgn+mVGVDepfQ/IVVCPdenTnrPEpriWMwcUQNWC\nUjBHoeINuom4AiJHK17ECbk53RwEN0RZ6DhF3XVN2UMutAA2n03mPDwwenLh\n7jQ9jsAdIDTUV+xkQlapZVSDk/jwuyhTPox/c4XdPkKRb2ohfQ2DfVF5bMlP\nCz7v7peEsQEjMwSyYmtqCBXHxsZhmTeIaEcPJHDvkPEwUVvbMt21ZpHDeM9U\nZDqL/yD9Kn2Gb0uub/IpAxKq6tGoqDcEyiZHenXmkQReKnbA1Qxz8LJofYAc\n0xJMNNw2z6Ix2eJ+5aDJeTWL/hU1Bwy5iNOfZ++nqjquSKd0QMs+x5dOYdZp\nhbkhLirkBJbFd+N3npHK+BDtjRWyg7LzgD4uYDXpK9l7DK2o4kAgvmhqjYei\nKsEaPVjfgJCSVobV8gOf+EIiHVyQoMNyrWCWiNDfPiUODfyVM5Xzxbu2HvnM\nJvls+xQyP2MTbMHwgc5gbqrJf8hN7F3o4tVIIMits4MX/gRdeXniSfSPpmfW\nNyz+nkVHafPm6FdW/xWfzwUnI1DlnO6TDNjUvwsUG5JeiJ3NxCVDK69VAVUb\nf/Nc\r\n=gFfu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"85039ad97bde95db4d57918266320d54c581a680","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.d850de590.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.d850de590.0_1594317892074_0.9930610599463578","host":"s3://npm-registry-packages"}},"8.0.0-canary.e07a70841.0":{"name":"@material/dom","version":"8.0.0-canary.e07a70841.0","license":"MIT","_id":"@material/dom@8.0.0-canary.e07a70841.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f84d64702041df250b349f4a27bcf0be1cabd947","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.e07a70841.0.tgz","fileCount":28,"integrity":"sha512-3pGXJ4MkMoQ1kWwozbM6KMWLp3AbB3B4GX4w4HY5OfuxmvdSLCgWO2RCuVCDBf42QT+Ye/QresBS5aoaR8GvUw==","signatures":[{"sig":"MEUCIF04MjY3KYtH3W1gvXOpp0MgTRFaywsRrVYGNt4ExTsMAiEAgctGdfhiJC/S+8gPBXwEtGogibqvUFQTOD+BsEEcKvk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfB2NECRA9TVsSAnZWagAAb3MP/j3ZwMoN6C87zIfYFO0Z\n1P16kG5LhEzJSwr7Z6KblFeWUgddmQIrD7jENOwG7pokkqRDUetzukoYAlrR\nPBC5QUvEMCAss4Eo2Q+qmjGL16U6iEhtoSKserxW1Yz7ctAtplDMCyrOB5gJ\nDb1byHJnfqsffQx9/pLzRI8DLDXk/wBqN+dLm0J5c2lU8LusLz/QvmKm4+D6\nmqfAX+BgEFoumNh6g/L176Dsg0bCHeXP1CRJPmwvlpLRwpApQWrcz0uvqDfx\nWLwoW0YnsmBFNnA6iR5+GUQtP7ZrWcvQOPe7NIXTQ3Zy0l38TMe6nMiLD2EK\nN6/lMkjciCmwq1yKl8qyKMj77vGHDx/3jF+AalBXDJZ89bHvHSLyq/HKitp5\nCUgPIAx+Pv4nekxmD1TUhoHUxqONBjCZwpqhqlfa1efSgzdEBBI5ejXkEqwP\nkoQkEReLtF+QjNQkr1ANRl/MbNJHKZLaNB6+Xzdi/Mdjg5VeBEYyYt9wKY0C\n67K8GNrgVdwC3OO3+CJ5TfV5v+saXEdnAcLGIJqj2M3Tnp400nx9IUjkxwmM\ncuZaeC/P8R3MXk/2fYup0gwAqBEcerMGjMdy/O/DUd2B9+8zQ2SPyoXkPWDC\n3IRKRKO10jIsENemOfQELxkok6f43PxclsO83kNCwKUqtNnDrxn3qI5Wj/yX\n9Mbu\r\n=tBI/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"105e9fd32899b2c9a4309baf6e879287104cc0e9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.e07a70841.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.e07a70841.0_1594319683790_0.6552479427202529","host":"s3://npm-registry-packages"}},"8.0.0-canary.37947ed6c.0":{"name":"@material/dom","version":"8.0.0-canary.37947ed6c.0","license":"MIT","_id":"@material/dom@8.0.0-canary.37947ed6c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c6bccfe4bae096f23945c4104c9337aa0c913d30","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.37947ed6c.0.tgz","fileCount":28,"integrity":"sha512-O13vUuHujsIikVOu4/BHWdwzp/Op/qmVu2XdQnwatjxBKdRYP2vGyqKUVj8sY6vP4ePC6tW5pNBAhnCAoYWK1A==","signatures":[{"sig":"MEQCICZBX7swuUArDqkefGDJOARi1DtZlyzZm4qN1lsP9TXVAiAj3SkvMyAheX2hMBu6MXAcH7fmfvMKht2B5fFljYfgfw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfB3+JCRA9TVsSAnZWagAAuM0QAKI1MqFIj8hOfzR96vT3\nDx7LWs2M6cbwBoWLg3xnbH/d/fkYT3IXQZlCcY9IrMCVrPqQvkqS3yZlckT7\nC7KmTfBZUw7vLioAmeI/QyxQJPLZpUKsWPe3vtM5KxFsDWKQ58JUI4+bLij7\no2LjPJ181bQaM1OnNDBlAmqpoOP6GMHcmJ80uM0JOjDJCf3HtaQbGvKehGkP\no3cv2DGs7zXADUti/7dEv+s2X//MF8x7vhHdcoz5VWOYU1XndW9d7KSz0ieA\n5nDyh/FenfCWebg+KTAgh2LYuuqlY47SgCTEdCUL+sGYfWtIgXKGkTjFKqjA\nQJ/XkDwJkhhsXL96hHegKIHA7W5r4hDucbA2RgfHpgANJxU5OHZCfE3LWY/Q\nW3dO9PR3RPEKc4VBmA9mvZ3uGSYP+ai2WoKxicqfVkY+SqigVGgER8P1Sg+i\nPZ4B6RX2bY1y2jnQ3wpIEQrrwnZIbxvgui83YQWJbG0oo2KSS5jkO8uXER6F\n9c+P5+y9VCF2MFAMqGYEs97ywakdGHjyD3A8TZ5WTNuRfOfG9nqFoeny3Pap\nN+kPTkeRKkJn4ET8L/N2J6E7DsebvDy6BNmztDbT/k8tAYwH/DOndf2GPlGx\n1Q/2RWumlDELhMj6Jhm7cLftlEy9Zgw9Swn33PGv/ZrM2Itwhqo4F3dlHptK\nYzDi\r\n=M7gd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"80c4a00e688d5a2b1a35ee55744d879b782effed","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.37947ed6c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.37947ed6c.0_1594326921523_0.9104165296658151","host":"s3://npm-registry-packages"}},"8.0.0-canary.5d443afec.0":{"name":"@material/dom","version":"8.0.0-canary.5d443afec.0","license":"MIT","_id":"@material/dom@8.0.0-canary.5d443afec.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"baf9040d6d9fa1e7dd9ce3cb52065877a3293a40","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.5d443afec.0.tgz","fileCount":28,"integrity":"sha512-eBi8iy+xEUocfpFpx9+wnxMI9aPeuSmxAP1raacBJY2IAvzpPul1wJXGspq1l2nYiI7Rky0XDmtjuSEsYh6hHA==","signatures":[{"sig":"MEQCIAoxWLr2mq2e9m+pv7cQlAdRalsGpcRckdF2WYeIS6+3AiAQNwnC8l0IxKslLZDLUAra1PCOMOk8NF5D839Ye81vug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfB4M/CRA9TVsSAnZWagAA87MP/jDs+GxnjVgvakVKrnAT\nv6ooiBnvF8OjOQJgKh9IuQl2lp0+gZcwWlpEN2iKy7OBL62sO3hXSlRymmnd\neC07gmrTQHEoT86oPGo7xRMU7JuBxrABYMaqM2bbif35WZp4a2WS9DBLGtRX\nMHwmgP0KrDt+bS87S/9UaeL490u8Mc0mqPNqIKiyUmieFFScMcVvIGjcO4xz\nL+vna6/BZ8FuWB6uWU7QHHvh639b6g+xE1AfOc+9SO3XsT9afrMX9++n02iY\nG5PuNMFfem587eAKzV267e9Vd2m3cQc5TBQMWhTc1Ro9Y3+ND4GgK+CEyffT\n3Be/76bzSNA+R6jNQ7QHacHiXj05aPOU2ZH0LOl5fqgQGvd8JOoRX1x+oHyS\n0P4W6otUmRz0o1o7tOPpV1A7AYC2CW+bAXaWJOc1IfvxaVrJLgM9b89KGlh8\npCIS6EScL0gotr1xXbBjOzVo9ugzjgAfmufYI6lJxApTDwBPuuU/HcIOsRH+\ntwNc80bJ12sk+i3riOiWawk1vZOUjRRz8q4lAYZqhB8MANA/9hPLy9O4iSb5\nF4RyOKaIkbF1H81FdryWCK+w8qrjeDdumQFUZW6E/PgcfnLAUS3V6b1flMz0\nghp1Vdlk3Jy5GHxH6K3kVPECZlcTMTHsx3u1nk18iUE66/buw2VSaxHbbDch\n7FW2\r\n=Ajs0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5c493d15f89898617c3127c53145bc51e8e60930","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.5d443afec.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.5d443afec.0_1594327871272_0.6921865449785145","host":"s3://npm-registry-packages"}},"8.0.0-canary.9ac1ed914.0":{"name":"@material/dom","version":"8.0.0-canary.9ac1ed914.0","license":"MIT","_id":"@material/dom@8.0.0-canary.9ac1ed914.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"099ddf3e17b1db9024c79543cc5695f36654bc9a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.9ac1ed914.0.tgz","fileCount":28,"integrity":"sha512-ms1MEByGgm2HRnygU+MCVmBEgYqdt1+uvx/Em2ToaUywVve56nkSIig2aw05KFopsqUpxKwOHLW/ivNRD6wgjA==","signatures":[{"sig":"MEQCIBCARvg03bpEN4nLKtVrDKGKVZNzjVNutyNTW2EAA6xfAiAoU8JSWEN0r+U7XQ0UYp/8uS5Opr5IS3Zk+RJaTQvYmA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfB4oGCRA9TVsSAnZWagAACLkP+wdVPPyf7RzluHhJz0+h\nL9ym7mMTgXGCyb/db/vIFqohBqy83EX/tKJf5inX1XK/sVlB+/zfh1drZzCH\nUZXv6LzQ5nwMkVf86gLLQoB2fOSmQWlHrfe4peliRh3wphrBSJ1qC8CaWXeT\nZ6hQ+HueaHErszAvMOfyf+LAZzIH+QHbwGXtBOqfESh65P2BwV3/sztx1oOw\njza8JNh0WaLT7r9YaJFCptnch+69/mTuKe/jVtTLEURbnjpUzAd632+f5yn3\n3989uRjFNwLm2jiYdhaQ8SZ8wILBqTxR+eE28mefXT3qM8RiG99Xg9Y4i29n\nAuecfQ2dtxm+w31a7+xHWR7CzpcOhIxm493cLDapHRVWuN47ywCQ8mvwBE6L\nn2v5SaOf8hNX3YH67MlmdA7U2B9QZBofU+eCyG4f4SQY0WpKj3BZ7rIiiuzj\n2aCC47eaQzRr5esIHIVL3Z/HiDlOXDfFaWKdlkeNfKm4GZgh00hXI30+Txb9\n6J35nTtlQfoGFY97U9+yanOXSK4scX6nx0Ktypr/RHdrXvMnvyfOZeQGSrSY\ny9muOdTVkWbRqNN4NM/8Qv2pfSgDIjMmzt3WLLf/yn7W5GA3frmMHsmaMl0M\nZgjuR0KdHDqIDfkUD15pWJgC120ldWBZGSgWkTQ9SUTgGZ6h8WBoLTDMFzW/\n+ZUX\r\n=v4Yi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c08d3c600bb022db1bcb4efe520bed724e653a77","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.9ac1ed914.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.9ac1ed914.0_1594329605802_0.10677029460246334","host":"s3://npm-registry-packages"}},"8.0.0-canary.1e7cb6198.0":{"name":"@material/dom","version":"8.0.0-canary.1e7cb6198.0","license":"MIT","_id":"@material/dom@8.0.0-canary.1e7cb6198.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1dafb7375796d6afa9d53998fb3bafe63d2da512","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.1e7cb6198.0.tgz","fileCount":28,"integrity":"sha512-4+CFSL/uEfWnY1V4ay9bU1RkbeiMFqyTNXHp+tG8IAN5GwKFv3I3svbS8vrtESz7m6la/L1fNr/zRPntGxVnUw==","signatures":[{"sig":"MEYCIQCNAwck2P7F8bkgEXZatIuQU+Rg/ACIDTOBRatq36+J0wIhANF/us3Qv5I2fmA+ipBnDFSxioEi7LNbUKDZP7jKTkcE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfB5YfCRA9TVsSAnZWagAAgyQQAIkwNxjSRawdj6p2tA+V\nSP8NJ3fhzbnS8t5kWYLUzg4R2HK34qK/ZuCDBljEAOp+YiQmhnI5dZp75LVs\n+v9ASN0S/YrI4P1eq6VVe3vmn46KvX+txiHxy+cOvv6uGRRwaXDjR4LUrW2Q\nMfuTrI+ECoNhigQbR2coLUWdHKgExzKmxRLIq+gLrVyztA0yVt8Oz1dKVKpP\nMC7HIyQ8JKKWXfW653Krri0DddUgcQE9yoDgotfnW2sXRRoaNiQDR5nXgCrJ\nj7lzjlibPBXoWbTAUIsjGD7aRJ03k177IFWm0ySDDTs8rXK0q4IjytQbHEqS\nOkgPqBNmo/ySAlpuHUdCKiZhKjk5rm0aBU8ho0NzutW51u4XHOGls9CRlE9b\n7sUZayD2MnpK2dLG1GNv3kZgN006WV7hDJPMBTs7QXCrdUTO/CNuMnm3RGll\nJcfB7LZSmBdOYzvZAGMwjhcWENjgHTzYIfYK/WZdXF+cXG1d0hJty9hpELso\nTsexKqmOGf0T1lAK9iOsbe3e4CIwTFioEx7Sr/TC2DLBCzW2KbHm1XIYDh5A\nkQD2ASZYLLWRWAld4XZuiLPfq7QSLEwfok/gaiNssj3n4JGaRzHlQHrLOTso\nNDOM/KPalT1INJ3NsDLwzBBg6KSpysK2zwtzNUXpu1Xl35QHgE1//zUNy9/v\nMrdj\r\n=CMf3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cbdbb55d01ed2f63aeafe8d77fffd1da5fcfc011","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.1e7cb6198.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.1e7cb6198.0_1594332702140_0.97041562033901","host":"s3://npm-registry-packages"}},"8.0.0-canary.843f636c0.0":{"name":"@material/dom","version":"8.0.0-canary.843f636c0.0","license":"MIT","_id":"@material/dom@8.0.0-canary.843f636c0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b4b47692891cda46c4544fac3bd6a2c9a6acd18a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.843f636c0.0.tgz","fileCount":28,"integrity":"sha512-Vx/gwrkmN2yMd3fpU07JvXwPAuEy75q8d87iNxezq/k1VUywetBXPUjOi/FOWOkW6paLgWNbioaR+uHTRCzVbA==","signatures":[{"sig":"MEUCIExgDRLxz9InSycVOjMN2H/uH7u9o4jVbhD3oFdfFL91AiEA/piBzHW5cbSYAa9EALKNjp3zpn6cCqSfczMNs3A+s68=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfCKhvCRA9TVsSAnZWagAA+UEP/0PXHrhGbnLksm3rK84l\nki2daTljF911WtQD6DDXCOidURr2EhW7ymhlhRmUonLuJZlPeX5k95ixMlJi\nedDJu5m6Zb7lSAX148j86hLQ9gPv4VxN8EBKQ4kqUD9fGUXH8W4tEhSRtzNI\nWAbRf6OXJsfIaFjvXHn8Ab4t8/3t8u+h7TNrV7d/Mx29l8k1SnuLlFJVkmTn\nkIfXURj9ROFJGXlHTScF1tsVjSmTbvKZGvP+TZ7wyrUipD9NcIkWgQSQPxVG\nav7D2Mam8X0lp1YJgpqy/YoQOiclZ3wCdP+PW8MKXG+xr6SWpSvmLvvheq7y\nNermos494estAqjMN3H/iv08XiwirM/UMDnpCAclTh0qwrXO42kaUu5llgn8\n3QsrGPVx7eTjsailqVd3Wwi77TqaVC8NKgYUP6o+A9Vmt3gQ8wD7joGnsYUa\nDNfE6jyXLThi9c9bXnr/yhTQzK9RV7nBT1dhgEYQeCk4w8c/90a5ZC1NHj5J\ng0briJHlQrBjiMR2d0L6lvyinjCkgojRe23Wib3NZVxMMCzFjdXSKxYG0Vhn\nDPxFM9CbIZ40rW53GQU+ET1TGWH6fsQWbj2bzmiv5tD8CRQr3iGFPuXnhyaQ\nK7IcXx5fWiyr5eUS+Pb9RDXYqSwWYxOHDhVWmAyZnRce0eNunwOE79WuPvWh\nu2Sv\r\n=98YZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"641b40da40cd73b439cefa7fa18c86bfdf31e497","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.843f636c0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.843f636c0.0_1594402926696_0.25614134674255773","host":"s3://npm-registry-packages"}},"8.0.0-canary.b2edaeead.0":{"name":"@material/dom","version":"8.0.0-canary.b2edaeead.0","license":"MIT","_id":"@material/dom@8.0.0-canary.b2edaeead.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"179c98364cd1b01a66c5489830eae769a9a6c1a0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.b2edaeead.0.tgz","fileCount":28,"integrity":"sha512-VRROQDuvaE7gMvSvvQ3dY+XWCuux83UyA1JC3VUMPovKNqRWg7PsHR5E6WWHVZFr7QRGZYiiSSBLtnkkpP5Mmg==","signatures":[{"sig":"MEQCIFzbCeAnO9BLSojoddhG1m7NAarCvTjNKjKlF5l94RffAiAKCL47sbzLDUCdCiWZFhu+KJQZGcZgkCQSrbaRk45fTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfCK4sCRA9TVsSAnZWagAABtsP/1jBBomGCP1n+dzI13Eu\nwd+hOXcful7UJpdk0q7wgK+nt7So+TDoyYhfeIqlBLZcMlOsMXgZLS6b7fxG\nw+IUX98Ng2l8VXDteGIg0J+tGT9g3E3RDbvsjtdS61nTGZhHbAN7e28U170v\nVRcjWaVCWaXj9GR1As1sauOHNq9UP8o4HYv+tiCmcUWsZjIKnUga8i1W7XQe\nzIu9IXcCkBkXk62bvW/wAcGtznJD+aLG7xTwQ7kqQtYd5As8iNPi8suygicu\nD8DMWxwLsprkQ06UTWpwehs3GTSfx/iPu9Ti96mRtm+nR6PCcDAncfYof6Bd\nFvYOYf13ZFwTb3g46aJnd70Z9M5wcoXBfXZat4nWOvWFFmZjjMBUECrZpiWZ\nmslhwKFUs7GR1CIigBN7U3AhliFBLrFDrpRDQhq9T1qqrhHPEcc5BkEapo1J\nH2HYj2xnputYm9eU9A3z7BmOGyb+dwxp1I50jvEik92l0im572vB7tQPDGC+\nzuiINCBZ/ERZzb1of/VRjcPv3NyS7i0lSo9PKP09dk465bFpPoZKdmxRYKY4\nR9u1FSGNNW7H46v8+faroVDB6B6BjWeNEKC2EA07B6b65LiqX1fW4g7xJ5Bg\n0/2EeBKatJZmuQx1YnLVnql39p1AnQTdv/yBVLxC9gafpuuSOXyEjwbpiBHi\n++3c\r\n=n0F1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"874d83aed6fef221001b68d44bfceb30072cc18c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.b2edaeead.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.b2edaeead.0_1594404396386_0.22977791983039064","host":"s3://npm-registry-packages"}},"8.0.0-canary.5dac1f624.0":{"name":"@material/dom","version":"8.0.0-canary.5dac1f624.0","license":"MIT","_id":"@material/dom@8.0.0-canary.5dac1f624.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3a8d27d28f6890f3bdf48de2866f3d2c15f7137f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.5dac1f624.0.tgz","fileCount":28,"integrity":"sha512-0rTd75d3PryfiQumepHEw+I5WnT1fLf4xGejP4pfj2+sG4m4Nefh1rqYNOAjo6fdO+/NaBnnByG5QAf02T4cWQ==","signatures":[{"sig":"MEYCIQCKR7Rt3IxyJosgl8fteod84J/2vxGnkdYkvu6flWfDMAIhAIDVGYu+UV5vWPip7kXfkbzavbJymq71oJFZmLcDXd2G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDIznCRA9TVsSAnZWagAAjqEQAI16qw7uyDlGanOpklP0\nfWoqFAVmRHol8y7CzNkSso67fCoqgnEYDJMXxfKKb2erKgUDkWHMuQJuflgD\n3lT29RDc92rRySoF8GFe4fhOrwNh8l6SVaO8NcvmmFbCSs0YaAgPrpXbMz+m\n6DJS8jdHfy5lljbrwj9Fn3wIo6DtnZOlFpTe0w306AyrO7kE9mjt92o07jW+\nWOBzBC3W3njzDgqwCt109k2DyuqVgj2COGZiYfhjDeHjVy6GKJqrMgrCRQ46\nEXZrq3igCmsY0GnNmFlBIbruKnPRFWjurMovDPXSGttemnIlfd/bvF74s+pr\n3yKdrXS3EfAK0hcxjETEP9qcuNgr5ac0u0Hwp3OdLqsGnDAmrU6+hQH2p/ou\naWKQMXRPsah/kDrx/7WxG6RmtOzMvol0YFBS/t0JFsGjpSeZx4v0sHlrH5tu\n6Kxi4h+x9iKoOnGcv02bkbevXz388NiqtdZ6x4m+GAfwrFIB26RUCn75/jIl\nqmvZdQFcdjwcPqhvUWPFV+tumcZZk6SMo166aZR3a6sbhRQf9HVhIGXkLS0P\nrV5De9Y/m2qH4+l3UCfJvYzauviuUj+rzXj995bboBbDyZI6u5H67NAAyLju\n8tZETp2llSfMHkYqDhRdKnL9UOo+6W93xFHDaYpojajjnmwl/QN27wYOOD+h\nJ9mW\r\n=gcDb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3acf16b30fe876c0d319f5d1681d177bd0089cbd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.5dac1f624.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.5dac1f624.0_1594658022667_0.16653692519309016","host":"s3://npm-registry-packages"}},"8.0.0-canary.4497acef8.0":{"name":"@material/dom","version":"8.0.0-canary.4497acef8.0","license":"MIT","_id":"@material/dom@8.0.0-canary.4497acef8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a07b10c9676e77283f5b693bb5e6bcbf2189a959","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.4497acef8.0.tgz","fileCount":28,"integrity":"sha512-MF6X+jq0iiiSyxnIf74bdORp+Y/3i1NJBXfzn7DRa5XVbvBLKU2RmtJcKpA6xSOTIysIgDRJqJa5ccdSvvJ2Ww==","signatures":[{"sig":"MEUCIHFnwl2Hq3OUi4tCx3AjMR5tVIX9aPKGSInwSg1pCMcCAiEAoa/Gc94n1WlXEVVxYZ9PFdwgH5ldrcTJoCKZbBu/Tpo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDb7rCRA9TVsSAnZWagAAB/MQAISSgqnJO1sAfvh6ddcR\nJwFN0pl9GZomXpIQqTMlR3X5ABpZfHc1+y0BtuFdRxSws3eIjlOXgsqDFgMi\n3rRw4eiPJlymSt78FEsePM/FIPVqXkISZS4z5W9s2O4pjqpR6z1z6KZ08SwA\nHYE7U+kzl3asmAW6V97b0ktFn70SK15rszjj1a5pNzG7VOiIJ5wyMLltuava\n18SV91jb4Y7R7udYh1Kql+g9l4wmetC3xznp99lXfGtY3NkOasiI3zXUKhb7\nHc4DI2DZ05v02rMZ2NmFKvIIb83ien9idOx1QDQryqhvZwJ+jbaQcbQHouyE\nffjKYYmUvh7nzHazufQNdqloA3a+6+Spn2zO8FGOLXF3XbPo9V+LPLNdXxMz\nJJ5jThA5s7HhfWLsTD51HBOWC9HLFS/Pcnhy49RhqO5OdfnaewFPWD45dTuF\nhnmdnZf2RXjMy2IfgRjbgOzKXiDPp2pIjiL8+SgHbfGY7Y34D7kHbVn2vCAD\nnpHzi7kuu+QM2faAEne4gTlV/plWQBuI5yOkDb1fkY4Uvb3JheazVzb0zJht\n7sIiL1R+8+robq4yxz5kawgJyvIiUWq4grd8etKmYop+sx178nRBXvYHxU8f\nZ6WXQjdEBxRcxh7mHUP34s/506cusNcCAuXdNq84cbQ5ZgYOMH8Mw1tfoWsm\n8Yx/\r\n=Uqp7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dc90b63c1737c63427815af4f6de59841a57a1bb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.4497acef8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.4497acef8.0_1594736363157_0.9721708655811621","host":"s3://npm-registry-packages"}},"8.0.0-canary.e6e23019d.0":{"name":"@material/dom","version":"8.0.0-canary.e6e23019d.0","license":"MIT","_id":"@material/dom@8.0.0-canary.e6e23019d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ef5fd21f5a2411b10275639f25c8272b4c2be740","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.e6e23019d.0.tgz","fileCount":28,"integrity":"sha512-CgJqIgwFexxbfGuTa8JPnWAQ4bAANykv/Pf4geu4oqFxXP/PbJlMJnzjc7dRush/kcywSpc27sKk38lhDgNu+A==","signatures":[{"sig":"MEQCIG5c6SDs7R3IF77JiQG4yZXsx0J8261zvZa4/LidRU4KAiBpcgQqtHFcfWEDutySsRJNdRWgNjwswgUT/x4rkFXSeA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDhEOCRA9TVsSAnZWagAAlykP/17fnWIr+sZmGsumMsbf\nXA8WJsOgwQ0wX3SQoEx5pqPK7R/laLUqdIlB9ONKH2Rf68SUAqSc84v9q47g\n1LYQlB2x1nXyHuMUrDmJ2VIy0szZFliAR2s/g8cyvDbd2zlLoj50wEBP6Htm\nBr5JidH5/Nr2taeGHax73VM7aUVSqeYbMrZtkTbIDlopBEeMOU0BBfjjJX8X\nkcW8L8+VFWKDmz6OMQMtaax8AB22L0boF3wOJ0VrUePhuS1HLkgOVcu42VOt\n+4eh0B51JAi4mnjRfbpcB5QKBdfuqhLic1AYwLHj2PIfMbqD1rQyuGeoKfe5\n5Kk4v3kmq2E1pchybWxDiRpV+7Wh4/WZY56elp/gaFW9yaJGM2aEv4G537mB\nYmN3EkJnw8JveV3puyOnE3yDv2H2/5URquebfKy2XBfmIpn+pdCUJFKEK3K4\nVD4kSfCRlSHvhcLQ+d850gZMlga0NT4v/Z7ciODcbcRVo8YtZ3GFpB5yVikX\naIFTcQZx6U1Bw3v1RIXEZj3B2hNiHDW305VrMFJMdnSMx25nUh7UWSVMgg/N\nXP8j2525+IPkiawp4sO7KZHI4RLeV9PQzsJNxDDbrhlMLyvLAOzfP9+kwiKa\nvbfUPePZtze9PezkAd/61rtvLfHsaRN7U4ePE73rChb/0GfVr6LPT5b5t+ZQ\nYAPO\r\n=YK5l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"db31520d2bb46404d9d5c364a2db4e2bc564e4f4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.e6e23019d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.e6e23019d.0_1594757389914_0.7136531225518019","host":"s3://npm-registry-packages"}},"8.0.0-canary.d548d7a92.0":{"name":"@material/dom","version":"8.0.0-canary.d548d7a92.0","license":"MIT","_id":"@material/dom@8.0.0-canary.d548d7a92.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"99fdcfaa48cb7590cb0b7ca613c2e3e4ea58a73f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.d548d7a92.0.tgz","fileCount":28,"integrity":"sha512-uEbakoUr0CAUe70ytQCLdamRhNTz3lfMXgxk6sfSrbF5HZnDCgBqeMu2bNIjqT7Q0nEof6UQdVEYf883SO0aEg==","signatures":[{"sig":"MEYCIQD+5A2eSpGHzYPj9ozkyzR9Xt1LOJXv+lP3HXCH9pOpNQIhAJwlk3IfXWeB7LbtLKbOo//jweL1ymKBxpA5pftu2BqN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDh++CRA9TVsSAnZWagAAcC4P/AutdFKwdeqFgOjCVs/J\nBaWO7PKPOgFSay4EQNSKfgfyVaATeYDt3JdP2XhoaC5jjN2zgnCkl8dhc60B\n44U5fRaK7p/MAd4n+juZVJxePdj2Ef5ISYzokrsgtdct/Q5JBs86+aWRkXmA\nSu6LjDX4T2wz6GwI3HwTRM40+uDCPMHsl3js9fDhiTpi4SkERrODLNU7rAOg\n6X1kDI6/oHLTzgfwb9l/hclLtzSjboJ8XyZ6anutI0jYf02U/Lv36OFn5Oiv\n/GdYKuZgvBkq2Xa05cD56sF6z/8gNPmRa8A/VsphK01o1Tjbqrf522WKYIfg\n11nmugzuxn/s6wTr2P94gvBz14a3Y9CY09EzrRnZ4cKVMzannwQSeZM/cGe8\nGWMETgKK4KccR9D/XRSxHP1EE3ImK3PIlar2X6PBbAw035rx8WxuX36DU+2k\nJqHsK6v5xyHV98kOYtqeEEOhSF9At5ZDY4e8LaX3KNyE4umFLXmpFeIFVHsi\nZ/ktn7KJZpniHLKnwT7EbLHPAvQ6rTTvsZ53pav2YJrsn2OWKZhPCFech2wo\n0aRimfB6DArFZqp3ms39rbgKpUxDKpvDivuVCcAAjQvV0g+cqOw6DLrGrqo/\nE0PWXpXsSVaV8+gX8EFADMkZKFo4tl6ltWBJCcY3ITtkhOh+IsPaqRSUwWBR\nBVx7\r\n=8pa0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9ac3956fa3f0b35d113404de60048e8aa1c1a0a9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.d548d7a92.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.d548d7a92.0_1594761149913_0.03646891054536239","host":"s3://npm-registry-packages"}},"8.0.0-canary.58ce529cc.0":{"name":"@material/dom","version":"8.0.0-canary.58ce529cc.0","license":"MIT","_id":"@material/dom@8.0.0-canary.58ce529cc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e99eb5028c672ff92893971cb4563b1ccbc399e6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.58ce529cc.0.tgz","fileCount":28,"integrity":"sha512-6Yg/QjvRvcUymXAstVAzFXRCnGzuXZdtSgdFmcj5I3t9WIZZpBbgNNGFnULmu0L7a3e0XLiWrMajdvbtZdyXBA==","signatures":[{"sig":"MEYCIQDvDRBvChqRgH3FsLyqKWDNLN0CFLd9Sp+5/FA3b6nuIgIhAPFq9+mH1ECM1W+wl0Bpkknw0YN2Fq6Z9dG2SWku+g2+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDiAzCRA9TVsSAnZWagAALc4P/iSFym66dnnxdAARdbbh\nlGidI0ICDKXGVtNWtsqaehu6bQwLECXHvz5LZs+Y7ReSOXQlVuN4SbSsMNWy\nkUrakhkek6XnEuDXEueBn1ZQGOXTnA8zVIzcYX538CG7Mw6OCzWoPS1MBzyf\nAmeVtO3c4NvRMkm/3djOaJqfGoos8eBb1Vtr8qNw9ixONJgQEQ/3Tbu0ve0K\ntj3NDNKO7WZ32wrFczDDZk07f0KdwT+2/QIGKofXanieT2VeT99cDMiMNgPZ\naIy98PzybkWneGZ1G/4YcjGx2GcTKpu6Yg1GaT/ka/13pD8dsQ0XBH8iRRuF\nyaFy37OpxxfYjSKzaLB9RdOodk6vHZY+inzConQmCRyrzCs1fml3P/0cZz1p\ngwpWSveCul/f6CvxQ+UWpDXP0Nuh2mlc9xLMzaeplwwsjpcFbVd0J8tk02s7\nVhEIGkwJM84i6I99s9ypBJckJUNOhfM2uSG0qXBXhlvFZUgl6GlbIMLrwNmb\nCjigGCScwmxrR5r1kzoNlzQHfXHtkecX6ee0gZbebjQac9CXj18aJlV4YEh3\ny9fRoMGKZADZDegJMD4XOw9+FUFhGcTvv8LPWA5Y91pVTBGcQwficy7lwvyf\nPwphGf+vMi5nynD40jP6Mvo9rjc5HdmujV1junspFFnrtk8+/Yw0yhgO23UV\nItdl\r\n=QLla\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c45eee764d94f6c07b8a5b3770c89c8bb4ccfeaf","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.58ce529cc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.58ce529cc.0_1594761266627_0.7044008174000678","host":"s3://npm-registry-packages"}},"8.0.0-canary.a0f1202dc.0":{"name":"@material/dom","version":"8.0.0-canary.a0f1202dc.0","license":"MIT","_id":"@material/dom@8.0.0-canary.a0f1202dc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c0efbd8a8b261a3e578fc6ec559d77bc4db71f35","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.a0f1202dc.0.tgz","fileCount":28,"integrity":"sha512-BsWdnbYHgXkZ/RvrfU29R5f1vZv1cazLc0YHyfDdPE0H3d2KkGe2DuKB6QylfIe3eYnFFTk1uMJqV9wwF3ll7g==","signatures":[{"sig":"MEYCIQCxZiHee1IjwobniS0KxQPA+wu+cviRlk66x9BKstlYDgIhAPykG1cvQ2gbpCo/S25RGFOSqFbzputSj9KeFzyGT21T","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDiSvCRA9TVsSAnZWagAAg/AP/ivXTbkDF7rRYOGy6sl+\nCFCy/6X/p5cy2+1n54+p+RDphMGiJhH8B+k3yz4OkInrBjL2ctbaO80QQgDL\n10n7PC1sz13rzcnaeUHAxL7YrL2kXDi8Six/1b6FJ3IBvhHzn5tagw3HxwBY\njmk0mfiFK4VCR3R57iVQFWVV19TpIUJrszjtBu49x59b257X/A8tIatvUN0Z\nHm1ZQVs+6HqvxG6HvmnDddg9uQlBhaGgr8h+7wtOh9kWLvxKEjpQ6w7LOe6q\nusXcRe0j8JBm2JxqR/HKEZh4HLiMJzN2U4CUjh+5EqIQc9QoR6jsV7H2HJub\nsQaTFpQf+tW1nT9i3bk32uYrAK8jJG2jp5GHTweQXhfEoGmtLi+EgFc8jB+R\niYWxCjFSitT9eVpIzYTh5yb2byerlfnsY6BaPU3seAdY54dwRU/acJz6h37T\nWgwvFNJ6tww0RaQlGEv1Bclp7xGPUnSL2sutzd8Qzg7wogUz+g+p2NFccvdl\nLyCU3IIwVbO4mAPilN3oRf8RtXYbbItoEUnSroOsGth5JYsaouA3bXCKlS5r\nYo0nOwkeCehxwo9l9d6WoQ3TCFDDzIxnz1yLowEEzAysgFl9NZDw27kfiM6g\nCFw8nrIBGvcwD61elIJLERMBYGLZb3EqJXDpsJ0Qo7sN4pjisI16KoYM4wA8\np978\r\n=GoFo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"93fc447a8bb5a55abbcf4b72084f1c65147f3cc3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.a0f1202dc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.a0f1202dc.0_1594762414780_0.03927087958435682","host":"s3://npm-registry-packages"}},"8.0.0-canary.ad4df58c1.0":{"name":"@material/dom","version":"8.0.0-canary.ad4df58c1.0","license":"MIT","_id":"@material/dom@8.0.0-canary.ad4df58c1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9797a985a0208d5de5a2a37033991ef073043be6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.ad4df58c1.0.tgz","fileCount":28,"integrity":"sha512-zG5312hcubRujQDcQvLieRYk849rvp0b/VAMyNR0YAB8K5VB/QgBis40xDF1aYAQsgP1L82OjNO/ZuIfEdqz4g==","signatures":[{"sig":"MEUCICSzz9BnR6CdFvEuJIBVpLF3ekF+e3NJ/rV8WbxLuQIFAiEAu4sqF28swlF+cGbTVJYVBAnyYXD1Bpd9ajWRFVexKA4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDkkQCRA9TVsSAnZWagAA5acP/281iAhHsPFLytI0ZIr3\nDeyaj0m5y+QDmotiPqru1aEWB7+9B11f0beRC+adkhn8/tFb3rK+6mExiqWV\nmfc4Pkj75IHzQgx9ZZJMkHakk6t+d/L8f26ZDpIglOJL3kDOWvnTvMWWFDKr\ni4rZ7dBc/WvIOX9lagl6Lti9C90YTHi6GYGoZ+KRcNocD5Y4dBhqWm+CAzS7\nhXWM2hNWTEWIkau45UABcW2J7FmMyQJhTg9Mi8W4qKLq2lGP7vPZ7gUxD1Y/\nb+buwmlo98f5fzkYygwl1+xA1oRY4n0OPCNFOrCKbiy1dBhr1KNK5FrWQCRE\n1iSFsQbemiNWKPeNSks0MG2Z8EIDWGfvRabxkQm2sN77dfLxvf4t3NICkUqR\nMp1VMzi3xpbWpyFAZlof6jbQ5fqjSNIEeAXiJTblVjEjZF8mUHM5CuFjpF7N\nllyUY8U88c438V3jqEZoqv+B9y0AIQbPqbo1CbwuShGww/kQ83hKLXnmPk6a\nt/hdStQzysrw8Y5/MO+KTLS7npiW7dSQHP5HTWkWo8NOLMNf3swOjtAMxeVa\nm7+24qIK+S+PnshTjvfzyDM4THePl+SYd0AY5hTvOoCMR6NGkKlRfMGmD0NB\nY3doZ8IWXkfT4HomwqiDQ5Ngdcns/EWw7ZqBqLCk0HnYpVy9qByVfVOgCLgD\nWbrY\r\n=DfQ1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f3541b13d081357419478232ca7ae0021f2a6b43","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.ad4df58c1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.ad4df58c1.0_1594771728367_0.489674747011416","host":"s3://npm-registry-packages"}},"8.0.0-canary.01db89053.0":{"name":"@material/dom","version":"8.0.0-canary.01db89053.0","license":"MIT","_id":"@material/dom@8.0.0-canary.01db89053.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5cffb7330a2ac298a39df94065759a462f3e49fe","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.01db89053.0.tgz","fileCount":28,"integrity":"sha512-NV2SR1r/cbiyI/pvJMhPUNQwWgFT4eBL+peRnfGvB/X/TwkHJFP3kNJO+0dXTegb4WJMifCxxQR7zb9Ru9jsbw==","signatures":[{"sig":"MEYCIQCxXbgLH86xX8bx1JvS0Ai17ciN2rQ6XjtsisFYIfN5igIhAMLnMS8KOs2aZWYs34RTF9u0D4uAcUHvR9vHK5YSqFEY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEIKECRA9TVsSAnZWagAAPqAP/11TSFRkbrv5gR73AilP\nDSoRWCxbjlUaQ894rmLvPBQL24GYpb7lbWSAolH0cXnGrciJzjxfC4wIbrY2\nc6+G5cFGrno0D0B4uF7k9RxFxwXDBXHJP2fvwdUeiSK1wjB/MZ1DKmT4gZhU\nIwfZbsewrgO8414KEwUG61UE7w1sVr8b9B6KpNViU1uMZq2k22KtuDYcXVNA\nhcwrItfaduxjO6dt+70Mf4bngc0OU74tb9DbDDYUQZFDOYOrzau41GQbCRfH\n4QGXO+rncrq+KQB0bIJ31WhGDIShUTMpNYrZVlq6ZHax9QSEO2qw32a4PX29\nHDvPdftKnWmNzQrDNrRnLykx4RPfb8AT5otteSZHp0/nDZfx6IUKZkQjGCK4\n0kdZHyk38SUSWIWuctG6C/bWwe3RIueDPYBSaX4k0r9azIEEVwANg/P/3uQX\nSkEI6j3DuhhR5eZQzWVAuaD7Q5MxXYgD6EhwtcrEtFLBNwrkB8IvEfejCdF/\nk2D2MoNgkeMrUDpwbKbBpXkgKaMIAp882hB+CVVmZJemfS0gx5a3SJrA1cDV\ng8tI4yR73UJvVxaj5CX5z7oKOY5nEJcKiu4odZ8lay+tz9LFaCyN5ieXJZiR\nLO7GoqMrj1Vfe/CDzAcKA+7cpxXJ6kmKG0GuJsI9nqWYli8eEXGGC/0el0YN\nSyZj\r\n=EQOQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8780c29a82c64caee37ec22f279b264af42412b6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.01db89053.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.01db89053.0_1594917508441_0.47293930626914693","host":"s3://npm-registry-packages"}},"8.0.0-canary.fb5a4cdeb.0":{"name":"@material/dom","version":"8.0.0-canary.fb5a4cdeb.0","license":"MIT","_id":"@material/dom@8.0.0-canary.fb5a4cdeb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1f40aa36536049951e8e57eaad914744c630e004","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.fb5a4cdeb.0.tgz","fileCount":28,"integrity":"sha512-qhGh1qMgdM1x7HUIaHkQrulTmpUiNIKFccjZWT5r+37en8aeQckg26H01Ost9ktdF4Kx5BMfEDpuB1KzWk1B6g==","signatures":[{"sig":"MEUCIGX2Mp7d5Cxe58ztrqa+huVAEdHyBhZ2kfb+gKJIZxUAAiEAtOPpzJs+ZDR9/PR/0cZmJ7hI6FDkNT75HIrHReZgbDk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFe49CRA9TVsSAnZWagAAC5MQAJVW3QVvVoq3iEh2WqPn\naTaVPg+TaoAdgJKGgfMYrZqTRLHF+iw3YERr2+IEc+3s9IbSsxN45TERigmr\nfkAVs2bj7oLAObGuhDi0chdiSZVb5WJjd+5d5Z+v5vkit7E2DThDIB86amfj\nc4nOe+o0tOEGXcon1gTrpA5nEZlLdwIxs1FoIy2P+RObbTPRf4ndyB1bfPuN\njLfSIiEmF1ZNVLADwX+gadlXgod3zftjqRIBJH2kC5oAh+IvGNR5rls6+lrW\nmnlEMWJ8HAwALTBwEHZNCpxcNprE/WTJeWymIXm5L6Mi5XFL08o5UQo+wp2d\nB1gwkRh2EOGoJ7DCD8/WHElPRQqxgc9GSezNtutxCFUkwAjgg0Du4vQ6UVTw\njf/RXUG7K66Fe7vLYNpuCHKW4to95sWJTctujlI2lUamXQRbcus6xwRZuSa7\nGS+TVGO2KXTGqJ5Cjt09BI67W3BfDYWFVJNH1tKMtDsKbM2zwrFPJbva+KzV\n1ktuAXUY1sYioEB8UtNa7FJwnai+ysuHYMXzAAIMtmAyma0mzOBKGVl9R2C5\npIWHTFavES4wYeu/tf/YsgDuwDWl426U6ZoYwKHV5ZVGB57XkC0/hhUgFvcA\nizX6kLDCimZveLR0tHmcrFD9fI0RZSzDTs+jPc4nR5GRb1u5WDWA5bufw8TR\nLlkg\r\n=uu8t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8e80295b6b3e0ec36934f8d691b193c740458d1f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.fb5a4cdeb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.fb5a4cdeb.0_1595272765336_0.22872011261865932","host":"s3://npm-registry-packages"}},"8.0.0-canary.8df0f517c.0":{"name":"@material/dom","version":"8.0.0-canary.8df0f517c.0","license":"MIT","_id":"@material/dom@8.0.0-canary.8df0f517c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0ff08ce59bd5189cb18a1f6c89f2b7e4075cabd5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.8df0f517c.0.tgz","fileCount":28,"integrity":"sha512-/JgeexkC1i2eLLx6JrxaxmndWtxDmk6j0tveogbdXVlTRYGIvDeZMkrp0o76raIZHq3ljU4BvEdSEOJYo1jGuA==","signatures":[{"sig":"MEQCICB4h0f5aVM/KWZ/DjQFRQVyEZWwEgJ9DF5is4THtfAPAiBL6BD2EMZfm0eSdaYcvoCOTBUkIj1jgeMVg7Jof1NUqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFi7YCRA9TVsSAnZWagAAC+MQAI/GqavSAeAhX6L8ROI9\nucQ+8bGNokaVIz3nLBqg56fnbgln3mLIg6LPdfvpx7YUEuQ3Hz9138SCvyoE\nlXdX0WorLHoPHj45DnbX+qLB2Jll0dKL3ClShdooAKRt5FdDZ8/mKcdterFp\nP8DFx7TDB4fePMbcGGOlJ3NL8h7DQlvJYVZn2L1xn900zS0/EFBF21ekjK+4\nPPQEG3XJVaDTyw9KQ30zABSr2GXWZyNyJi78aF7NbwSdLlKIYJHlOehIIL5X\nEV0XOaNPuzyaDPY4mA0Xf92W+57OlEpzFE+ytn1al8z8NPqfLdwEQxJDrUUH\nYp8EFTcb1AjViB7LBY7sUg86GKsIH7udWTAf7GiJJg/INo7XX0JNXu7biowi\nQPuffdT8Grpej4c95rAEnFsi6k/pNCV0nq68Ijg/U6CIKM/PrnPCNX/LFZ9Y\nOC2WRr7ttkNs6LGl+mHgId/vRqSzBbMM6bk9rkv6D4FYmS9nFoy0Y2yqs48e\nxmhQvi1wXgTki/zmGPlkF3El37EzF/IF155kLeF+uBqPpahO4hP+1T/uhu3D\nozLehzFPOjty6c0ZgE89MUmnprbOu/+YzYf+z1oEe4lqSEsYYOINsMAYruWH\nJqWqFz4dazhF3VZ6b1u8FAMp+VRXEED/JyEpnmyTuZCOpG9aC4qGXnJoSq/k\nXC0t\r\n=C1nF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5fca8679b0dad51628e898ac223795eea8e54d56","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.8df0f517c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.8df0f517c.0_1595289304031_0.2776967136825428","host":"s3://npm-registry-packages"}},"8.0.0-canary.abcdbcfeb.0":{"name":"@material/dom","version":"8.0.0-canary.abcdbcfeb.0","license":"MIT","_id":"@material/dom@8.0.0-canary.abcdbcfeb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c0425a23193dfb9327131dcbebb4f94cd3169efb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.abcdbcfeb.0.tgz","fileCount":28,"integrity":"sha512-8KYdQF1q5jQ31y2eOxTYfQs5Kttp8b1VMVoU8qNe8wcz0FAHUIR7DkQi3kVwDNI2L3o3Vs6DhlYFf8slHk4eCw==","signatures":[{"sig":"MEYCIQCEG5nyWSpkwQsSs2hPGWzcOj9hUHtoEmiBJghDENwUdQIhAIiaasQIuYjVSlmEta6YjpTXwK5ZWgL5GS2nTGQvr1HS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFjueCRA9TVsSAnZWagAAtSwP/jdyoTFGo/eNnLKHUXSF\nyQdKiwwK8/OcFa646Xwc5kcTajf0+tJXiw4oMl1jvQkT0mPswRHCiCo9XOy0\nEdkjawMoS9XtQmlaoW11dasddf1fBijJW8tN8ffUjnjCErcrxwkII8S9Wlta\nbI9mNvj8wcCxA9IriCeWB2J1dMxrRL4vhHv998zU56feTqvA7Bg+y5RItSz1\na1MZcHczT6L7UEfG7JTeRA9zRZ8MTaVVdd/kkdUkYfV9xFFJrlaMbIPszDGK\nx7IwNQFUaNSoMZsl/k5sKwt4A8o+v/jfVPAxvEGey7Y8e1liV73oIDkr+w5N\npmosTWOiFafsWEIKmZ+F5++xYPDbmALTQSF+1S67CITmLCYpRikAElypCW62\n4vBifeeKKE72njdf9YBXDlU/opeigmWT0pcghiKDb2y/zzS5r9THHNq+8EJb\nCvsUZLXe4nK5X9dqZ/5WGto8RGRIfzDtEL32d6qv4xlboBVDZfpFcL9H6eo1\nwv5PT51wGpvmR4JGqNUMn5dxCQUXlgezl3NrbSjZHnsPyaLSFPyMtiTRJ8n9\nblCv7DSN3Houh+xRnH58p6eDndTnTG1H7M+/AHLinoHOsMJ4pPEgGQcF4VEw\nb5JZ8geneu3iBoMoLU+UcqplENDBnwmkntHHWIKK2BgnFVhjCoEHattpwvtQ\nkFdm\r\n=eAaS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"946720776dd73c7539bfa072ea415124b3e08a55","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.abcdbcfeb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.abcdbcfeb.0_1595292574351_0.2657311103053146","host":"s3://npm-registry-packages"}},"8.0.0-canary.7bd5075de.0":{"name":"@material/dom","version":"8.0.0-canary.7bd5075de.0","license":"MIT","_id":"@material/dom@8.0.0-canary.7bd5075de.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4a11111589d08ddcba477d911437b0240ea0b068","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.7bd5075de.0.tgz","fileCount":28,"integrity":"sha512-KIU4niIdb7waU7BONNtb7qIvg+CBpciIQsKxNBfqePUl5eug+d2imn2LWCA92UxhPrucp4W/+Z7RVCzNDVw4Cw==","signatures":[{"sig":"MEYCIQC+TPVZrOYngchgTiqlJH51z3e2TfXbECGOqHEIvI2GzwIhAOp6nR6Y0CefNuwuXmmtE6SIeMIbRZpDZkpgx5j4+xW1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFzgKCRA9TVsSAnZWagAAFHAQAJUq2FH4D5M9WuxXea31\nkChfRneEUzLnjz4cx4C00/O19Qfo+j2L5aRav7PYenakJfTxpJ3POj0j6QKK\nkQPZ5ZYIllFU1ZerRhkvZBZHOvfPkoIWMPzVz1o84szpbGaRqR5uufy+Egfl\nzXsgEXB0P/jyVdRgYJB+HfX1WE86KcIueudP6WsqcpNVcTG9kmVIUleAJVJ2\nIxQptq8iAF6O5eO2GhdcJ4DIXvDZMnjD6IoL9y6bdJowzIdmDFq2wNfMRjRd\npOGMAua3zJ18bLXvNp4eIqmGC0o99p1SWp+oFSJML36bGPoGzma9b8gkA7lU\nrhUt4KyKO5+ZThVzc29AY4BSq4orbBps1nTavHgq8Z5LPL1NFXv+hd/pzNm+\nTTK5PteAl9l7Hl/LJwSfelE/qlo74wg3an2KLnzI91F4cyKSTpwLThjNW4KC\nEh3vtZ5gT0To8RHw+iureIc/KKEYaqSoFTAdpddTGoOKamPAJzR6dDzhSiqQ\nWfYLYuE1RFB3lSCQgxpch8qXv2iqMhYL4Gr31DP/jamVrzSh+FM51ohV5Z/+\n29te003z3z1TwK0pKYMMu8wBjmqu63gawEtA3erAykH6GeAuIYJA3d0OCJj/\nnJ8Dson9cvSmQTkZDCFIP7TsvcsUZbPlF2oM2RGSAhlnpug/yGl+vWKMZUFO\ncKmW\r\n=ANKt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5ae456e961b208e98164fa21047b3ff2e3f3d8e2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.7bd5075de.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.7bd5075de.0_1595357193831_0.246623489119006","host":"s3://npm-registry-packages"}},"8.0.0-canary.405a29a20.0":{"name":"@material/dom","version":"8.0.0-canary.405a29a20.0","license":"MIT","_id":"@material/dom@8.0.0-canary.405a29a20.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bc8e0fd6d766953c77eab7585c7bf64d61fa45b5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.405a29a20.0.tgz","fileCount":28,"integrity":"sha512-NZfdR/OOkXVcz2lrMF7p6H7bCfbChCVfUKKo7bjtx//C2hlZ2c5BNp+zBRqXEoroKY0M7WETv0kLsSs8R1vUlw==","signatures":[{"sig":"MEYCIQCNfPS32X3cxI8pVxPMohG+UIWyJa22ZFxAFIOTxKaZjQIhAP4F7h2IgtsYtnk4LKrWOfKNzrGa14YHiD3wGOgqdCpN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGLwvCRA9TVsSAnZWagAArK0QAI0rYGrsRIfbSqLvaYtZ\nc3EXMCm5crg5GxAgbborPfOf6P9QANHsK8NTz5I6KVldPFSw8l2hruWYx+AV\nE37fEEtCgxvMwSyWYKb+mF+IgAEp2wnV1aVi5n6nf852KkxQC4EXQvJByqBn\n5/hEiStjQM2ythxmkFj6Uxko+Fgr7Ffr1X8DB0pRrwWc/gtFby6+kfHwRoGu\nBgpQSm98/TOfHtrHzUKpI81ORorw8XpD4LvSNSQvIdm/J9oNnv1+6mt9GXEr\nqwHDEYRYdxViZOnxqTOiUHi0KG9/7rXOyXSZ5AVJpiSUaYugjlFdoRWQzFOW\nSsNBqq7ieqCnfLdEnCXP7Vsyj+CMR93JnWzfHipLcNMVAiK2C5MVkTP15GJL\nfZ0Vge/7vubLDilGAJ9Ncwy2gvLHvcjYSY8u3LyoCg4RxmQmDshaBhIjv1PM\nnn2pqeAAKZmimydCGNAUwHl2Ip9WySOyJOTV4n5tDLNSBEQ68vMjrLhEK02t\nuPdlx2wSbVLntCe5o0ylvKdbuSnBlhvaed0wnGLbBlU0sxPpvs7DoPPZEMPZ\n6PSzke47MmxqCgOzU0EthB18xilVFAL5dLXPCS+pmeIEzrcGQQtpqq6dap2H\nWojSLLGhqYCzGz8BwAIHq4PSaRoj36G1iNQiKpGaszU2pOiHqf5IvEfXbmyn\nzDB+\r\n=PPor\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"02c4f49285e8229cf49d9e4a0df213ff914b949f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.405a29a20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.405a29a20.0_1595456559133_0.2785769608356332","host":"s3://npm-registry-packages"}},"8.0.0-canary.f3693ac4c.0":{"name":"@material/dom","version":"8.0.0-canary.f3693ac4c.0","license":"MIT","_id":"@material/dom@8.0.0-canary.f3693ac4c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3e916cae98dd6ad18c331ccbbebd3f35492426ab","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.f3693ac4c.0.tgz","fileCount":28,"integrity":"sha512-RCM0b7zq++Bc8UjoFPkAuffgg0aXsb1jXJJo7pgpMUn0hXlRftyiEZXDcdPDKHLp3yjKv/7UuxxnN56GwXsL3Q==","signatures":[{"sig":"MEUCIQCdGUfDQFVh6EiFgi7XTHGHE1MR/25vvZGDDPNB+4z8nQIgPBy85IJRPMcB3ZdNXShwli6nUqpFzxjck452YS83Cpo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGL6eCRA9TVsSAnZWagAA4bkQAIkmwIYsGptgz9YUF6Mk\nVS5T/M0+iwzRgOqxEUZ5HldkdVy/QKc8V0rqcQTbsudngl9fVo9u9SUuIwzQ\nhcEygShSznHrrj33UlyuYFPO6GCAm9F6ruus3KZxSMbTBppz1gQTeNffDCr3\nTRFFQ9WncAh9jgwStY6Q6WgmPA/gf+4c5VF/2KXpmsaulrLzhgqqkUcK6Wao\niYJ17cET6PZosBC2kTpfUwUZd5ZLMPibDF9po0YX0rahBZSrpaVJGaLK8I0A\n7qRzM/X0omOB1w5DUNHOE+cpU7BmFj2R/ABcmOBZ4hK7Jmu4lCoIRjwGWTBt\nsTynA9JkcgZEyNpSeASHWba7TBpBVOAx8C1sbuSIdXwMDXWXPnxnlf1IagvA\nX7inFCUm/nNlZjvde3twCCJeZqeaFUs/q113293O5EwPVByGu/pme5oqxsXI\nyZgQ/L0tb23NWN6kjku9zgUCFYuqB5r6bBXuAoCa7lWYcqUFZMK1trCZM7Md\ndMxaBQNmVl4xzcjm78qZXdQOPuzFf/didH7jsHdgVytcIHYM1TtqCr3bx8Vs\nwGdjkLlKOyD5rmmvEkJUBcax5V+tWZRU0Gr0IRJTRaOqS/h0jEAHsOwC2WBZ\nSjoG3QzskmERnL4qPlKEd5psB4rCgR2XoCdLEjPsGEr8Px8QeSrXx7Ylprmh\nv3YG\r\n=S5eE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d3170e3936d96d26a6ca17df46c1febcfc33078f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.f3693ac4c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.f3693ac4c.0_1595457181674_0.8807640841675575","host":"s3://npm-registry-packages"}},"8.0.0-canary.12a109680.0":{"name":"@material/dom","version":"8.0.0-canary.12a109680.0","license":"MIT","_id":"@material/dom@8.0.0-canary.12a109680.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7460d47772858b703cc376eaf945ff86e8f51ec6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.12a109680.0.tgz","fileCount":28,"integrity":"sha512-i+kklC7v720DdlL6vcCMS1DiffXbhYhG6BDk7DGbfazYmewrh0XeiAqEJZTUUI5okc1kKHlNPFWCDy4h77T0VQ==","signatures":[{"sig":"MEUCIB+oETC6T2fITdGX7jCRSRduLg+ajNxSVMxAI8+o1Rw7AiEAlGSGNnVCDjKohnuObqzNgnqkykMf3W2rJCbmZmtYZQo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGMWeCRA9TVsSAnZWagAA+TEP/1GrCXEa+Erpz04WVyu+\n/Ao/Sd0KduJKOU+E7wQcNOqdHLRHA3e4l+FLR1iC7npUmpGomiPNlAvKiir/\nDUcSl6AM1IprklHTkIGesnN5XwS+7MsTd/qx/7ud4o8EBplSSW5mGx1iQ3mJ\nvtV7kzuaGswiKGtg7quug1LkK61aTi0p2ahAYawmFwClVXiG8Kvk1C4ODWTb\nqaEB3wtU0SS0p2jmDJWDjOY1fl3xhga2ofegHpdxirpwHg1ZyYwSWFdEhudY\nYvtZ/pDr3U+bmD7syTGWoTBWaTjU1IniWQtK3IK8W8Ndd/YxVCkjPLezv1oq\npvyBQuxFBNSFRdlI3bU9MwxA8PFmePu2enUVNhJc6XWbRJPqtCOIM65bILVB\nosNRKU3wN1hUyTNNc5KmUmij1WdN472AyYu7hgmEUKKUZbms4aGm8bfHKUNS\nkbtyPyIZV3SuQKCZX72PROyBFrZbKpUtNwzbqq+PICfVtE2fLB4jxsrira0o\nau2vHG5PG4Cam9cERuYJGe9U0XN1hRyCAihHi0Yw7HxFU+A65iHZn+3Xq57G\n0W3be+djc6MXOXrJx2zxiXf/c8an1AvRYJIgaK6v+X6tnzi8K6A+78n3CY8Z\nr+6zhN9iAeyVAC4lpxHOu8UktgLYKAxxzf5+X6PU9b3AJnR4UNJI/MbPJ9ry\nGxBy\r\n=vx5g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a403e743d7da095028c3ba6d0a66ef2f7812aa8e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.12a109680.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.12a109680.0_1595458974341_0.2740383769650059","host":"s3://npm-registry-packages"}},"8.0.0-canary.bbd06696e.0":{"name":"@material/dom","version":"8.0.0-canary.bbd06696e.0","license":"MIT","_id":"@material/dom@8.0.0-canary.bbd06696e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a0f9262a7b4b7b98dbd51a7888205c02af14896c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.bbd06696e.0.tgz","fileCount":28,"integrity":"sha512-on8jcyGqBGrU/DFahr5LwGR5qp6vLNg6MXdJG4E7O3xbVlRCiZu1yO3Y4LSRwnwptHBfgjd53eAdfeEw11Hblg==","signatures":[{"sig":"MEQCIGUSvcgz+WRIlOi3TaF4G5s0gLAhVrSePpN6Cgx7QbthAiBP11w192P6eAIHzsiL0OBu9AwULa8TM5WtXh9QKP4DPw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111235,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGNE0CRA9TVsSAnZWagAA3Q8P/12VlphfnUbyXEAgU+Za\n2Bxf6bV4ZyH9vmhvwro2pp94T0u4e68JTjHNIVUwk/MvjhpYRHeitux3QNGS\ndm+z4zVKZQ881lNKIi/Hl8BkwMoEwnLblvAAvf+8lHgdNrm+1oR1cLuYoRDy\nvc8XJCvSRbcPZS6KhB6+cjvmP7tC9RJzZpLe4HZy6xm1/wsJQVfcPM5nrDDv\n4Ik8QX+PQD4FcGHPCQ3abciZtMZpil2GWc5NQ2fVWNqRsCGT8cDni0ChZYGb\nnLpOwyd6S7aFfCRdKmw2CoKyEXIIMuhv8qnkTrPc7uwArvlyE6BzuJNw3Fwh\npSR8FEjjqGUltCfKaqCrfKVokO6ikatJ5E+58QYLVa1jGmOZSGRLT+9dCO/+\n4kS4qexiMzLwRqavvO+Kn/WkEupgnpKV500TnL9yCSjMXGeVdGdFvtZ3AMmd\nlQFieQMUpmxOwN6XeE1cPatFW+FFrf1fNbHTRchYgx7WFnchC+5JTo8wkh1p\nhUOGXIucuGcPjVXJTywfCTZEhDMh3+dOdm0SzP1WsHScZwGSsFg/HB04ggYT\nfhCVtdtc7MXMDEDAIuI/uxN0ps+nVmlN0dEJdxHW/Y9OPwsjgkpcjWmDNiMy\nU3ck3BQIRADaiHAab+D1X9fE+zYA+dF8egVcqP8+V8BVV1sXJ7MbcfIKdNLO\nG17K\r\n=M/YK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1d34a386a37996e326b9ca18440ff1cda261f3aa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.bbd06696e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.bbd06696e.0_1595461939472_0.18139137114036008","host":"s3://npm-registry-packages"}},"8.0.0-canary.4951e7651.0":{"name":"@material/dom","version":"8.0.0-canary.4951e7651.0","license":"MIT","_id":"@material/dom@8.0.0-canary.4951e7651.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4b352647847c505d03016f458908082fd1249417","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.4951e7651.0.tgz","fileCount":28,"integrity":"sha512-VRR4J57cbasRa13ISxiYOmRzbkDM5onQ6c5NeDfKcByiz8s4y451GblEdRv1rA8kKfhRBbRaKY7hOryYE6yQvA==","signatures":[{"sig":"MEQCIGREbfLv4Z7HGWqBDBA4jw29wPF06RZb4coSc38H0XKJAiBVzwFQICgajtmJBo+ChXB8SF+/ea/OgscooRagjVrULA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111235,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGOyGCRA9TVsSAnZWagAAiv4P/R8tXOXtijDChPG9Kyqy\nWNxjBzHVnwSOXQS6vBStoGHaODUMlc/J7h7qnOxQg9GwtiJWFMdbS/946YMo\nqHRYXhr2E2FnqJKyv7shR8BjfJ0Dld1jKTYcGXhB96QJaVLL2EVZ/zhRVvVH\nj6dRcqTgHIkFhhNG/Z8ulVnx3qHuDbfNN2Log2ZCipItJYEgUuH3T5E9w9yB\nzgs3Hw8Vu5JJUHlbhJXmoIJpmcaQmoV8jK2FXvF3bTWxm1TSo4kgFKIQ6xRF\nGAAVuz7njYR1s2G23gcgGyzAuK4z7u1tmnk/yenItzUUU7TCIXbkOD1h/aGa\nv1N4b3UE8rIeGhCKKIr519+FP3blZNW/mpdHOYXWSG5uK9WDHhQ2LY6JpZkZ\ngKzdSHEYZt87LYaQiNStVvkSjaqC5MnlMoebHScEeUhSOsJDSYKYwKS2iTif\n1ncKcKC+NKg4/jSEMAUcEbfMW2o6fJBrSOMOSH87VNyvpS3bFilmaVV2231z\nCF0VXIdO5+BfTYmXZ8yrMK/lB1Cv6/Zt5PTlIxs0a2w4o1QINFr3lOx+i7U1\nxEcPfzs2YyFdtSrzQj9x3E9aM6nke8uxnKMvRBPlhqyK3sBNG9rk1Z2kliPJ\nILSeI/SDhy48Pi9fEzFN9Iex/uBYi8F0TE5G0wxBdlHeF9XP3vGvnnKrHYS1\nJCyU\r\n=Tr83\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"32ca9cc0ab948e59f91965e96adf325a142b8336","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.4951e7651.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.4951e7651.0_1595468934060_0.11707786182743773","host":"s3://npm-registry-packages"}},"8.0.0-canary.75deebbef.0":{"name":"@material/dom","version":"8.0.0-canary.75deebbef.0","license":"MIT","_id":"@material/dom@8.0.0-canary.75deebbef.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f20f5798890e8e4ab691510e027996541b1e2e6f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.75deebbef.0.tgz","fileCount":28,"integrity":"sha512-Y/sljRflxQuM+TpWpbBflV4ySU/2oq5EaOw4J2rYgipo0n77MeakfFytvYlKIEb9M3AWPBuL3HDjZ93qxc4gjg==","signatures":[{"sig":"MEQCID0s7TMXpaH2TQLIyqxstBHo7o2L/+WrTnxPMbG/sFHBAiBximR1B2V5cp6nNcOauO8EJswFbNExdj7yxcDJbqy+lw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111235,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGcyqCRA9TVsSAnZWagAAAKEP/Rpvo05XQlVsKaZ/NjNQ\nFYdr/KrFeed78BNLgPdR6/p48oqUMC1fml7JayRZGIDLMC2J0qrmECq/TDtQ\nOsIqPM5McU/8jnro1mOVnNBUAmN7SD7gIcpIumJcQMvSdJGOKrAUwtouN2vj\nNIks5dBwlra2HFZZBcwgD6L8fwQfJXi1WG1NLlLWbCoSHsf6WRe4gJLFSo8s\nsLbKn2x+um32AkFt6d0AiicN7AI3zlF0Z2iIbl4MwlwOej67kiKVaYOHjIuY\nTMKJ7L1170WJ+08J4A53r1+7dY6LJarEvbNHQav/kRsvatPsKyhMPlJyj28I\nkKFrIDa8RVMlb1u7YRLBuYfXek/oFtrscH4QgeKYBuvYSTrhS2EzIu0ucDcK\nFRTSu3hbk5lXoFsjrkLwCHpiWCT343MiDGUShztF4QIpVOJ6vyxWF4c+gDKe\n5IwDwm30Jo7q3BBwIKoLyprsGe2Sk19OIUQQ4uMN+1ybqsjprPjikD2DYOig\nfSL95eC2ZOEzQF/t9cr/UXcxMW24bzWDcC1Qhc9xtMgvn6+gg+1gOpMNpk1B\nY3c6IVh95rlQU5pPoQmKMYXoQT3g64EOTJgRajiwGoXFlsdAPyGZ3XWTP5ou\nWX0dmiO2Dz30PS0VE28oNW3FY9IzCoNP+bljl4YVGwyNB99ku0vrhamlP4AZ\nwIW/\r\n=swdl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3df5ec3c8a254202fe3ba9017528cce3d5d906ed","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.75deebbef.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.75deebbef.0_1595526314282_0.2444828053215815","host":"s3://npm-registry-packages"}},"8.0.0-canary.95aff33ee.0":{"name":"@material/dom","version":"8.0.0-canary.95aff33ee.0","license":"MIT","_id":"@material/dom@8.0.0-canary.95aff33ee.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f74fd818b52ac25391060fa71e68646c940c5222","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.95aff33ee.0.tgz","fileCount":28,"integrity":"sha512-hJlJqNykDoLKWaMHtLE5NacBz88DAbmzFTnkS2e10llau+FRUWvmNXNV5um2QGZGc7G9jMxSobJVqH2OH3vR/A==","signatures":[{"sig":"MEYCIQC1YHuti/23JBDa9FVEd9RkBle4vMXLz+Fhjl6AGC7x/gIhAPaNDHzxOqW0sZji3KrguMjzuQxJJD/oxEMplS8vkCmQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGdsbCRA9TVsSAnZWagAAF54P+wSTagXTrK8IBf43pN4D\nKl3FpdY40vyEw2o1tOk62OvwY9PMj84KCygdYGKxe41VfPLcqtNb39XRimpn\nn5PHUvQc+4QSpt9ydtG0Y1MvX4hVoXAbGK1OPvNAzBJUgaStOOoMDJKb4DjX\ncHtOtJ1WnZL0Sv6qUPW5s06NqbJO7FHE8S734iZnK1Ay7c9+IRPKOnKvZmwF\n0U+tUt9InIbYlQXWmId0Q7VJZNGajee8DrIpbSDJNYG+KCX1/qvhBfHj/DN1\n5C7F9TGYEuopc8mPoGOMaOqEXYnnja1eOUHS5AD84IFKvfxZ1vvZYCcNYbNg\ng3Ll3dz562mHrigPNouy5TfVGrELAr4K90MLwSVTwyNxlvkC6Qobz/8hL//R\nWcQFkD9CeTupW6XnGnoZmHpdMcwXarT8yDEh1hxuTLKIjy64C/2oWZai36U/\nMOqW6v+BBtbrNyVETbnPTlD9VhQkSWsEnAD3Ph08oBCU44fpGpxbK3xa7+nF\nMcEKgAp0hcjylcFwEK9sxBst6LtNa8BDBR/XV5WzUTihXAODu5ebpzEVZ6q9\nnWq9iSAxhAeVj4Jy40IizSlMR3305YS/y/KNRjRZC3K3xEgQ5mIMHFT4eMFs\ndioZDfe4wvSHwUWJmnoK96EUhhKOUuWDpbb5OP7vwH6e3mWFoGSJh/+2TloG\n2bVS\r\n=H3cz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0343ebd62969f5d4315e249ad81f2837fdbaa096","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.95aff33ee.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.95aff33ee.0_1595530010827_0.25831304005952993","host":"s3://npm-registry-packages"}},"8.0.0-canary.9d9f47473.0":{"name":"@material/dom","version":"8.0.0-canary.9d9f47473.0","license":"MIT","_id":"@material/dom@8.0.0-canary.9d9f47473.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fe0a25665295734dc215611926a69b520b27120f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.9d9f47473.0.tgz","fileCount":28,"integrity":"sha512-jCDQ/v0Dd1osGE3f2Fx6TS7/IDJ64g2C9DicKyoC30WqEatOq6b565oDk76Q2AzgGGeTdBUFr8YRVK5PoWUYLw==","signatures":[{"sig":"MEUCIQDdXbqbNAFwokvi3Jn83XwpmhEsXxLi9Y10Sy2W/f/6MgIgOdA8VyybrEiWlSx2YqFfWPBVRnzdUJZ5WazvCYarJ6I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGevNCRA9TVsSAnZWagAAZb0P/2A2hsu5XaI2DX76h/5q\nZ57kSH7ZNV8uJApngXwj1ThBLPKUo8EBNjEar8gZoQplQEA7hNLzr8Zj6yIC\nFasN/kQkzyy/8nAWCfDKB1kU1JX7d06HjsRZZVtR8ECjIciBIwvQHasFNsLv\nlV55AXmupiqj/gHlUYNecy8C84X+qFFewX/FfXHsutZisqjRNXbeoSwzvAnK\nkvZFcHWwhWipWmCi/hX7otnrbPx4J7nLNcWo7Mt2kkTH10nnKZPKZSBN54QC\n9Gjui8oxKDNAfdVo0puWLFFK9+rAxSC3uMD1WeqsHa5rraAPv+7zg0o7VtZ6\nLqoWn41jllogzbIS3XJ1tyE+OnwtFTGEuoMkRNPD4L/HSlVYgWz9/eGWl6hL\nlF3nege/UhCur64F229KSoYTwVf+H1wMpIWwFhab1DTPP8iucNZe2EDa/ACq\nDeQ2YlaGLg3FZiK5xVPXdxZhi7pBfwtUfEJci7SboEZA+r01BspDG4/KXyXN\niCkAAxW08vktzGuB+cwP/rf+779oSy6+QKVVC4DCdQNU8RyUYQOgqTl1jGS5\nFdgtYGtsh3WnaFFV/gKBjefIhGiUKcQw+DE27WHsYgux9tx1pZtKXG8jaKOs\n1IYpsxIudlwVRYo9JQ+8zNlaM+pKcAoFp/cWXN+8/DChoO4U48u2s+WdRmkA\nZAUh\r\n=rQbX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b21be0611a45dd7df8e3b48a3fd0aab09d6cb236","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.9d9f47473.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.9d9f47473.0_1595534284699_0.038879512795122695","host":"s3://npm-registry-packages"}},"8.0.0-canary.00dfbf6be.0":{"name":"@material/dom","version":"8.0.0-canary.00dfbf6be.0","license":"MIT","_id":"@material/dom@8.0.0-canary.00dfbf6be.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c01aa2fb97e4ee0062cace289dc8dd0e27a11f4b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.00dfbf6be.0.tgz","fileCount":28,"integrity":"sha512-Zz7YqTPp3xomvLImLsvXsqWPCdRLhFfqH3YYATZcUcbTZ5OoI6CYAIJSNdGaRbdK7SgbQQVKgJgaMlHPqFXr6A==","signatures":[{"sig":"MEYCIQDrVJ/r2RiaVaIyHoS09SzylRzuSpmckwM0S2XhFHS0UwIhAOeHAemZvVUQqfwFGfttDWOvGI84+uEzaatCpzwMK4L1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGfoPCRA9TVsSAnZWagAAsUwP+wVhB5oQANvQnNCz5tVo\nZ8iZCAhrkv1yOqvsxaN0F4TY4N9SPADeCbUx4HwnuybLrnuLNPjCIBJ/Bysa\nfHmBDljj6MwzEq7d7QQh05MhUbUyRC4GqaoMoZqkJaO6NDwm0pVty6tUgJHA\nlMjz5bO0gv6CwI9uYIBNokziznhvZLydAT8UMEbjMENTn3bh515mAlyD0zYs\n6eTXagNzAEBiuPFlFrgA8L0SmUAoISacHRgZYTf3m1N/1YG7mPR6XpBu7tOS\nAngYBX6xMYie9AR/KY0ony9/FN2GvSFfM2thviZ/WgFTjQzTTK7mSsmtzbKr\nRnxmcYAVNrdcu8PoyBlrEsbDV/nXUPbZsaoq/f3eK9AZx6A3JF2mDlTbDHPV\nEmr2cFN5YaeSA/spE132Ywtw4aVqUFcfSlmPdxIKnXWGQLVkaSRE9zLyX7HT\nN8qwCzySFtSM4BPGnj1aq0bPqGIovJgpBs9PSLyJyt6zi8W+1QoN7Ym8N2Kh\nyPQTThq8KL7Ydhh/GsAG5DoHHlAcIt+a95WwrwfYxVrYZyZyJCXxv3fT4SHT\nWDEv3lMO0ojOSgndWTrSHBBQpCQQDXwAXLgf2ag9EcdukrIR5aEiWcaW6ZRd\nILBQpfqAY1WzcGLgdrrkc58XT2TYZhx/F6vgmpJdKXcjScMM4n8qBc2gAB1A\nJBXf\r\n=kf99\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e4a97455c736fab77028e52beabb53323eb60ed3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.00dfbf6be.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.00dfbf6be.0_1595537935060_0.48574488511987113","host":"s3://npm-registry-packages"}},"8.0.0-canary.b87e522d2.0":{"name":"@material/dom","version":"8.0.0-canary.b87e522d2.0","license":"MIT","_id":"@material/dom@8.0.0-canary.b87e522d2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5e6418c3efdcb2a9455b7d074de9a31af9c7f506","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.b87e522d2.0.tgz","fileCount":28,"integrity":"sha512-aCS2enreGwXQ8M8eG4mVyEjEQU+N3qccd+aihFyzrq4L5D/AMblquDT6pTPkG+t8I3qToxFFea48fTbJV/ZCCw==","signatures":[{"sig":"MEYCIQDxWw6HtjfWmIqJvrkoaqfdQK/Yav75WgW6j6BddaNCfAIhAMrIblSGKAijbuhhsyD+i3q8W8KzzuyjFC85iTTaGXjX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGf+7CRA9TVsSAnZWagAAttQP+weiQId054/0M81KEftt\n/x/AgIoPybQUZxu0y+4Bvmn2e5OiNEWHdLnABE7iM6U3nNStdo1BXcMgFXZs\nyEG8TMZjOFC+SOPFGaZd2k2/c6Rm0jjOiYxL3ot+2VqCqV9V/Id8uUQppyv6\nlPN25Mr6MFtZLKSgoC9gm+3ZKgVaucoaPNUVZP2DHcivER4VAn8qRVkn7QA0\njXidXi805lufL6nG8IhBGfDiYbr4T+yyFMdNwEIsZ7vKgbseuNahb3Zb4YLl\nYIexfKe6MjSV+5uNfHQRga5421cJ9AjLVLEFzC3DCc1fjAEiKQhk08LQ4ZvX\n1wr7ESuXfVswBo6+nf1UZ3YhMoSoorPwv06r5Q1qEH2c8dqkpp8xcxMlVIZC\n76wWI+93VknG5ND6Pa7k+aKYBRrtCrgVQrm51wrUzjlFchM1GMf4DbzDNskm\nb7fRv3ql4nRe6HAsnhQe9FCTLqf0ncFFfAHfK5H6kclAZYE0e8iFNvZQNWcb\nxv5jcMy+3tNs6V2rCxQEM/H5rwVRQ8SFhBH1xKoHpuBj1ugEPgOOeD0HS/eD\nwbCTaXmF9ZrpDWLsHiVcx4VV0DcHuhcwann4mG6Nf8TN0zFBi1KtaPY797dB\nzN2Gm5ypKqKB68WJmZ+OQOiW4cQw3ETIHxvEp2IigDN4TYspTpEKKbwP6TmL\nQlxW\r\n=sdUW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c6b4bba75848a4cc1d6ee29d1b67848ff11a8ba6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.b87e522d2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.b87e522d2.0_1595539386886_0.8547095123752424","host":"s3://npm-registry-packages"}},"8.0.0-canary.5b3e150e5.0":{"name":"@material/dom","version":"8.0.0-canary.5b3e150e5.0","license":"MIT","_id":"@material/dom@8.0.0-canary.5b3e150e5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"10cb943b18c9169a803423a87b5b677a79fb0685","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.5b3e150e5.0.tgz","fileCount":28,"integrity":"sha512-Y3gK84mxWpXYpJ6TrcMNbyRRXxKU5g2m9fo3TWOm7fe/8Ktdv7C291n1tkow6MMp/S7B3rPMFa/v5TnbuU9NiQ==","signatures":[{"sig":"MEYCIQCOCKV5WBxA3ibOsNmv+pQrzTI51oW4UUdA36CAcaIw2wIhANE7gZp6R5++L2FMmLqYM8LzBuxII3+OK0nV5FKi+Hds","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGjgICRA9TVsSAnZWagAAzy8P/3Rj65movHkb1uZVdtV9\nfIlCuPzPkWVGNlfZ+OD9vRdNoFz09/eEOrsMx5ovsyG2u6yMmpFMXqVURoAl\nyXIIMaZOJ/StRrBlVhhD1JI//8C112TXvptCQvE5C7hqxX8nTLgT3wTxvhIm\nwhICGWv96gGGbdFpfTGQkm/BUOu3Up/ghKh/PWlupN2jUr4bSOAcR7MiaiGf\ngyO/fVEoApjOnyxxRkQW5RxhdOqexy67CEDTY6a+Ka39c5FK/W5JAL6IqFG3\no1kHX+eUlhY1G5yOUVaYziASV2fxJCBmqHS4b+O5wOevo8S8cZxjFalVOw8t\nEO7Eo4USw9gUmbIRAUHZR5NE/TkGazw9fr+n3Ee+RyBPItpH9OxRs/fiNpTy\nocr2/x8ZjhVTXE2J6TRd7bDjPUzM+0xy6fkV4XGUU4+OinUeSYUUHTiywgj+\nJnjlyJ3yklbofWCzUpUa1jtBjnkh6YGKky3apQcfiG4b/Wzqmes13/MLOjN8\nbgzuNYrC/NGmtESo1Cv1BFzE9Mu5U7CtYHUmuXQJnhKFHRRCtwDNHLVuwUk9\nDwnnY0c1fiqif6solUJxSevxu3zjVaS9B6g0yFddl1O/ZqxdXYi3l9cIeiqi\n7dO8kAnRAdSwDiC9hXkyogkdlsCUHNDURYlV2mAz6qWSnWRgxo3XNiQ+Cu89\nL91D\r\n=ROHI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bdcd04000450742ddf94918c2953ff0bbfdfe9cc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.5b3e150e5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.5b3e150e5.0_1595553800054_0.4277074069176152","host":"s3://npm-registry-packages"}},"8.0.0-canary.f0ae11786.0":{"name":"@material/dom","version":"8.0.0-canary.f0ae11786.0","license":"MIT","_id":"@material/dom@8.0.0-canary.f0ae11786.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"52af30b9c391eb5ec69c3efc5c5c5da4ea153577","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.f0ae11786.0.tgz","fileCount":28,"integrity":"sha512-k/H8d3ZSQtzBIFZnIfulnCqOCPmIHH+PwhiFoTsk1qvVyD+rJhu7y+tDscOQIC9cMQsSRiK67TiYhxodF243QA==","signatures":[{"sig":"MEYCIQD1MC5Dlb8OZgrzzzvBNz/AustPmkSIYa/WZ2rbbwriEgIhANkkIMEcDNOJT9Fd7SL38RAdqEvjwNPIWG6k0hHk9pRs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGjypCRA9TVsSAnZWagAAntAP/2UpoAlZhbPLbZjZ4xpO\nv9AyJbkk7ieRZNapeBQE5aroJyMj7izH9WzYbZFlQiDJw+TfgmxK8gpREX5P\nskYkpYPMw2n1uwhgFly/bYdy43T25SAPWiF0MI6LfjK3tAYjUVXrBhh5Mpfq\nWVLfeq4xZ4HoK5e0V4yr40nzpfmXL1d94BaIa+5Ixd5J4H2ecSGZsyDi0IuW\nE9MQXIaarO4SiJaNoW5bqOw75fPFSMT/0t/N5u0AiKq6FhCNB4MsUV5zeTdE\nfJok5WoVJd5orVsal5/lEQZoLwwb5Kooke9IB10xonE8P3z7c5EOjo33+1kt\nO6NH4N+LTqxLbrosm0wIFFedJay36wWpml0hTDKlq6CiUG/yNzkMOpfiRl4A\n02lbbrSiMSEd9qA1jpxlYVmtzXgHpKDB4PFRsZtnBvk8rhTBUmAYnrtH2B0e\nkWdp40HvOYVwp8k+KeoD32j10OJUoqMfiP1hNJHv+hWOzv0h7CHevZkqvEyK\nH7L062qkFIsEDmnuIUySA67s+f7PJrdeSASsrjQ8sYegpJ+OCSSuVzs9OnOc\nFQoDxcmwC8fUppEhmwmhEld9xUNwpX0d8vyI+6yvt3Nn6FKZ4apB9pAlyKO6\nVDpBK/faseTicbIOmPhkgRrB5faw6I6t5ohI1I+zxgV9t2pN/0ZC1Ylgn88y\ngUAZ\r\n=Gu0b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2f6df990a3e45b1985740da9e55bce17882e69d6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.f0ae11786.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.f0ae11786.0_1595554984572_0.6951094696660371","host":"s3://npm-registry-packages"}},"8.0.0-canary.fb4ee66c0.0":{"name":"@material/dom","version":"8.0.0-canary.fb4ee66c0.0","license":"MIT","_id":"@material/dom@8.0.0-canary.fb4ee66c0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"af29065cbe08c3e9fe71ef88c2664a5cc37a1142","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.fb4ee66c0.0.tgz","fileCount":28,"integrity":"sha512-9k7T5Lt+iSCS7k+3LfwSr1i5i7OhjPENdI1+PD8z3yuFHXfwI/XijQ2fIF9+8/bJ2jAQPu8hxilJsLj5x+CnrQ==","signatures":[{"sig":"MEUCIAdPubGWIEkCp3qmw1MqiWEkZF7TozJ2Z+trDRKJBeSpAiEAkY8j8LVmxUDQHSatxfmdU0wVmqzhFzffPCCKqFl3AJw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGkMECRA9TVsSAnZWagAAMFMP/i3Y5w7DNOSkzXAy8G0X\nOEEXGZooUGhvXv/SiIpZtKsW5XwxoioHQi4JYivNGglfu8eAQBjOst2C1K+N\nassqXT1oi4wRGG4h4u7kzPT23ljceNuwhzeCXPcXvXkPISqJ0pzRcfCxMzcw\nia/TGtyUCpEmkKx+5eXMWpAEDYvWi4RtpPN7USS5HAs1YA6VdxrnDaz1vCUU\nXqoSlY+KR/Qyly0jF9wETWuR8moz8Ib/LhHYSmKQtYihjPNJJBI6IcqXvPFG\neEmCNAyUkpTuGQwHPOlhZ+kbZpNJwh/ryEVhCRBGi3F9RqVI6tcDaTnhaBjC\nge6A4ls9NHqJQ2nkzZMZiyrD7Yt7zGqRSMGDJ3msSiDQ0FMZ/RGL6As1XxMp\nn/523ED4jchW9Hd1RPG/V0r7PawdegeQRaKgeYzx0yQM55WEqLTbrNTiWH+U\n7iPY2VdAmzEn1kbUSHMsRJJQ9GZ03o/OkQD5ykuQwWU2yj0M/I+i0ohFogt6\nxZGq1maHmCcg98VxO+EHdiAm0vjE08uV7ZgHh1LLkfwQH243QGoXXFE2Je5T\n+GhMlj/pm0QQkEpVqU5musI3hsTWIHAPV1rzXuzw0niALgbQDVL18Crq1slR\nYJ8Ql8qR+rBeOYd+HrPk+amOctSSFj1qdXiiSuIYOLTNpuEzwYu6SuPDqsvb\nzUXA\r\n=CTGp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"38a9d8f8bf46aca600cb4ba84272480ece6c67bb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.fb4ee66c0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.fb4ee66c0.0_1595556612042_0.9888941981835404","host":"s3://npm-registry-packages"}},"8.0.0-canary.5511e0aeb.0":{"name":"@material/dom","version":"8.0.0-canary.5511e0aeb.0","license":"MIT","_id":"@material/dom@8.0.0-canary.5511e0aeb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1689f6d03b208b8ee8bc3c6b022c3ae5f01128f5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.5511e0aeb.0.tgz","fileCount":28,"integrity":"sha512-Zu7leMIfENUS1lHisiVMdsysJwLsUGL9RjvAvSIQ+Iovo/99x7ND+PFvVYj+HUPdFy9n6VrOuD2smwvUiohlDw==","signatures":[{"sig":"MEYCIQDAhvXM0tzYMpj++xc0AZMFg7IVT8eu3aQr7XaRAjnokQIhAPAg9D67J7XvMlyHD6nmW78erzEL9kF7I2fULe/ircjK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGxKzCRA9TVsSAnZWagAA7VsP/1Q7WK+TdcpPrxmi0LAU\nPPvuHNxRUggL2t5BUJXnu+bkYzvEZxF7VDaX0HyCxiSEESnyXGY14G7hn8qD\nkk31I7cXhCS7fLyzDNhfyCtDZpurG2Rewx3JAPFVxvJCbcgwzre1z3Hjuyt/\ncr7bdzHPeood9fBnHcRsDvD67Rba7aVzWah2YF2139R11dwK4+0e7RUE7Q8b\n8SzZhAOqO1cGDEp4G1Azi4jVUqvRJOu/sSAzX44/dYXDNpG9Xgjv6wtnkIIq\n8MPHQN4ScGm3csrIqvsxLYlgfkHgosfpA3I88cezfAHldpTHdy7lue3A4kWH\neuTVuygPjo8Zss7jWLDFfFwspodJ+ePpdyzqM0W0/33n11KzT/RElxxb4poI\nJXUb1iigXkjL9hVwhpg0w79aYi19rPHCQefmlPuZMfSph8FdAr66FELZKncF\nP9Qkx2pKGdi2Y4+VuRPJXTeFBoyVXxxinoyD13NQtdIELXDH+JREQ8+xuXbS\nsxs0IhJJhSRhrNiR69ylwd/H5wAQk3xo57XcN9tDkakv98+DYkWvXw5KU9N5\niI46tl2ifZ1wgGRmj1deL1UhPF/PMEPs2Ya8P5wDvJSp9+jhiIiGJHvCzCzF\n4WoN7iAR53fhxajqC0O3Wt8e6H7MceV9Sn9Ozt3Clk7dAPqLD15kpbaiNEZj\nqUt1\r\n=1lxh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dc830dbf81ef9cb796c66b2d35b70355ca46a37e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.5511e0aeb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.5511e0aeb.0_1595609778566_0.2645366061153649","host":"s3://npm-registry-packages"}},"8.0.0-canary.8388a9bf6.0":{"name":"@material/dom","version":"8.0.0-canary.8388a9bf6.0","license":"MIT","_id":"@material/dom@8.0.0-canary.8388a9bf6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a3d5d28c7c0062d79a371da055a9de6bba656352","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.8388a9bf6.0.tgz","fileCount":28,"integrity":"sha512-jPdF0C/vt9r993fqhbGWWzM0Wuhhy6jP+vPBt8Zi8ST2splezIfnpSJePnpqe/cSS4TWAFSQxLngWIDi25aNrg==","signatures":[{"sig":"MEUCIBWRb2WS/oOJeRunCfVQM+XVeyg3czvnLPmluK5Ax/TvAiEA08QMCUNICyuaEmYv9er77p86pDBhjXO1Bc+R5/OUXO0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfG0CuCRA9TVsSAnZWagAAAhwP/A4jrNiGpu4Pn5uzHWHr\n+r6J9lhdokCEFgEOF5Emhge4MffhYaG+nZUp5Wqtk9quwDZZ/3ONWXVXnnuC\n05V8769Oa5sJ4Q/x0BwsyBlCxCcmLfehci78QG0Ba58v/DWeRSWk32HLM7X9\nM3fYEZncnKwVWnIO1HmBpRGMPZgQpF+OjmyaiW6ffw1sIDBZA2CfxdBseZ9j\n8NWa1nB+Sx0bl/sSlTg1UiCYZ4iliuz6YuNfcxgD7GEBUo+PIC/Po8Crq5ht\nTrB/Ukf+hern8HWTmEDq6Qtsx4opCI5SU4/RS+SaTfdQ1Z1+4ddJx3n+fuzL\ngu2d91FFaqIwGKedYT9F/234ICxcshpoAabOqchgjTENQmel3tFkOATYs50F\nhCqTqEW/XL/D/fJgcHU4TR8RutAqVQouMKorVmniR2Tlakd3/gL1fYVktG4w\nqyEKs4oTwYqt9vNYfV6WiKTedN36VkoHOz+3wJyWWoc8M9gSe8J1gnFJP/91\npkY6L+XVokK8O8nOTcM5HIkI8d3y2oB4wUrMZtQcDT+uEU0piLufMUu2YjKy\neXEMzPRV94B8KC/B1ISDuHt/5k+Fk2n1qQjgINTE6SGeM47jkE6m7FVdjhcP\neHCsXLtziqA0FNwAId69Fx2vDfLiFg7dsjaWngHtOLLQnPi1S5FCJxwSIegH\n1gT9\r\n=3P5z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f2188ad8c46b8f947761bceed0fcdfd08019e97f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.8388a9bf6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.8388a9bf6.0_1595621549868_0.10944258398754991","host":"s3://npm-registry-packages"}},"8.0.0-canary.ac405eae1.0":{"name":"@material/dom","version":"8.0.0-canary.ac405eae1.0","license":"MIT","_id":"@material/dom@8.0.0-canary.ac405eae1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"22e37364ab3af7a2a81dccacf9be911fad28e259","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.ac405eae1.0.tgz","fileCount":28,"integrity":"sha512-lo1qysa6nhENRXc3JVZkmnu0TYWOA5wngdhH4wVhQq2ExnCB3KAwZ55JD7AuqTSBy0iUMf3FMZOqlFDvXpb+Ew==","signatures":[{"sig":"MEYCIQDK9m2aCk+z6nQIvrfFxeR638eqihZVCOpWWz+jD5Hd0AIhAPAdrFDtsZCBLbFA3T82Mh3QFez8bX5eYGThyRBdmiYo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHu1KCRA9TVsSAnZWagAA0UAP/RMw7Wn3gk68pMzsWxK2\nOb7tkcv9BDOShfboKQ+nmVPzL+7d+jc51eVYbf4ySNypAOR75u/+PA2/plZ2\nkc2Q/AFebcuYZ0IFvUzUWMPlfU7bI8+ZBovi8jGEQMD93maonu8ZXIk4NoQI\n6srxb5LZus4jOEe3Lf/JwqwwcM3ugKLhyfrVwPITuj5LP/VoR6IUsjaRkwFT\nSqTb8rfFCdSLbYazzmSSprQkoc4dY2dzm0oZ2MfeQtz+QpmGNApFaD9OBt3r\nSpyiYjHd1mreejY0C1tg2/Y9KrYAytDJJVqRS1f5zGJk3SF4H9fHSpnbP1j5\n0PqzS1RjZUcrWs5dWxtCDHvuGyqkEs5iCtHAVGhIyQjkeH0KODok4MQFmrEh\niS3VsUZWy9x5Z24WQdMZYNfQYYdwbfNsbgdR9Au9vMV27Etg0Hx1OfTvxLez\nTPrubxfdBvP9RMJRF3TzOMrWNMr1eNW8anjILBGzZkLs9BfJpZ3XeTVXMVcK\nIyEwL4Uxc45pzgWDHlI07bfhlE0h+7zBgS8IBgkh4+LtgLIJe+2OxRXkgtOi\n1ZzQTMfUCps5VooEXntH+R8c4s3tVaWpFS91Xx3vgMdIdWRTyWwS+IrBEPf0\nDLjvpwa09L1CsD23ZNOu9KRoHEMxisEZP/MXo+BsOSthXVielDoK/005g5ip\neNAk\r\n=Dzfj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c4f229736a36f17b97137adbdd4b59901eeac852","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.ac405eae1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.ac405eae1.0_1595862345655_0.9348896961043209","host":"s3://npm-registry-packages"}},"8.0.0-canary.75553837c.0":{"name":"@material/dom","version":"8.0.0-canary.75553837c.0","license":"MIT","_id":"@material/dom@8.0.0-canary.75553837c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"35d69f7308b566a05e6347d1af466fe1c359a3cb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.75553837c.0.tgz","fileCount":28,"integrity":"sha512-inhdXtzcaY+PeWVmVRLcuBw62raE7+mJRLS4fsvMLqkAPdETPQBOwJF2cwQOV7eVsk759Cma0oG+1smEpwWSwQ==","signatures":[{"sig":"MEYCIQDdAwqWh8cCp5VnSNBErdWkhZ1B0u6muyhLiexXddhV7gIhANmb4uRo+v8f5dzieLSyS90A+9K5d362TVa3VHg7L508","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHu6tCRA9TVsSAnZWagAAR04P+QBzfmorDdg0cAy76j2p\nhsjJRFZRSq9LcxJKWBmAahRn5QhrnSP5A4BPR/uBKadPXZh7DcKqAxDOBbdE\nKCRs6zTnZ+OqGW2RkuFYEh66aGEqeUba/YYjmX5+HQCX4WaY9HHfScHz5g4C\nuejNkxLSyfQJflksssfRXQZ61Tsrw64j5AiEyKUjGG+UPL7iotNd50WikEoc\nDllVZ0sZZdmA/aSlHCFpvsiI7qrdy+tTcqnlG5Xzwf4VBctEsKzN/VotpbqY\nYZgqx2LIItzWPLNxyQtS7V5J+bsploQptBRmpzirZjk2g1aodI2WjqhOxSay\n1daZtT5HlvdQfibvzh77R9SpS2MMJ7L5eCiW5DdsmGd8n+dxut/0mllXSbUQ\nqriFgod/4PsecyGRNTjZ4v5pNzTsbc4L41bd9CjDGEa5T4mGT/SsUrosCKdA\nheMfyuHcXcybI3QkUM6kLjdSWu+jhx2ymX+f42OFHKdGxLa/oxvOiELo3xv/\nZyeFmv7MMaGHQGhN27ZtPM2JnNJkMOh/ZV1YU7r1IULGKE74aZqKvHCNSvR3\npznb1KPWrCUWas8KNFeAP+1wZEkGoKLtQSjJqsRQlPWZXsl+WDQDa9aVpV5I\nEmFgGn+dVagNhU9Tnt4lBQxlj5Qa+2O7QbYwm3PuJnp5FvlU840h1yNrsOl3\nXuYH\r\n=Web6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"18c0e52ebb63979ca614d6df13d96e2c1cc93216","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.75553837c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.75553837c.0_1595862701034_0.5848420498163494","host":"s3://npm-registry-packages"}},"8.0.0-canary.b96fbfc7a.0":{"name":"@material/dom","version":"8.0.0-canary.b96fbfc7a.0","license":"MIT","_id":"@material/dom@8.0.0-canary.b96fbfc7a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"48dc1d5abe68c2e823a36f7956df98b0bbbd8852","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.b96fbfc7a.0.tgz","fileCount":28,"integrity":"sha512-NgvRH5O+/cSIyAXQIatHmlSW2mlmXnujSSFQle83I/uMGTnvWG75kYAUmar5wDeuR2kXmhANommG6cIFVCHVdA==","signatures":[{"sig":"MEYCIQDqjOZytBvM8aYooteKJ4GJA5BSceyGeqldQ3kAKowRpwIhAPd/z3OH8vR7QgYi6P2pA251mXqXA630XBfxcV6Oni5r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHvSrCRA9TVsSAnZWagAARAoQAIgpNyxzjNCsrq0WLz33\nJdQ7XMVkN2yC7lP8tP1ZWT2NEZ9yZmCFsPIcYhyXUnY/js12vROOeHQesNbn\n9alR6SQ4xrqWHXHQIlEgJEzSvDNbFW7CFuVyHUErvg4AkDKVE8h9lo13bqeD\nm3CfKOxo+sCx7xi6wwg6O1jTEW5LPDsbefVJAi5R3ijef9vZqcwsSMKg8Z3f\npWgvn1GjeKizJ+HjGvgfxf98BukSmQlZ2r7xPJp3QQik/9lmfFWBlZ6JcWJ1\naSYJt3B7zhQzVH+CZSbRsjL3w/atd6k2ze0pkoQ2UoLHbLq2b54v5E4JEICF\nRNfGZuNs0Yr3qvWMcgQrkOOXlmRoDlplT2Q3W9sXrN9+AlZBQP3jzQbG+Q3N\nbmpVK69/2FDCurUajCfvefPqBRHPrqOUd6TKZHcGkgZHmaXfHOt/ahWy3hO8\n/9lkdchC7UB0rLt5oQSofaYwnyJy8jfck3xhXebFfmylxz8Kmvgucg85hRsz\n5LtTrc86xZpIj77OlLw1OYzM6799q/BmgkrYUmFuMh5U2D4UK2JICVnQq7Sr\nXWrX/4E5kCYca688UheGc7TGQtXRCQhuii06onKBPWsLzsoLWI/LKr2PoXIH\n8rh862USqgAOw4U205Nh6K0gsuXE6BCSJSZLz/Q63AfKWLtiRn4HBtX8rHJB\nIX6m\r\n=bP6o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0e9c13ddacae3f3bc09bd4f168d276110fb5677e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.b96fbfc7a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.b96fbfc7a.0_1595864234638_0.8983516158984566","host":"s3://npm-registry-packages"}},"8.0.0-canary.61f1a8d85.0":{"name":"@material/dom","version":"8.0.0-canary.61f1a8d85.0","license":"MIT","_id":"@material/dom@8.0.0-canary.61f1a8d85.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0b7f9d6ab6166f3d7374250afc60a038f2a4179e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.61f1a8d85.0.tgz","fileCount":28,"integrity":"sha512-+vA0U4jngeb1fO/HyzrgC5dtU+ADaCdi0e3nQP0jOy6jOCP41bmR9lbczTbXOSl4YKiuaYiuM7Aoi9YADZrE1A==","signatures":[{"sig":"MEYCIQD5w9E9ccFbJUJeM0FCk5QC+dVzbOGWL1GKG8yU0h8muQIhAMPBFpyDLgDb+nYXAJr1xlo/E3TuO7uWk0WnRreWZ9uc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHvbQCRA9TVsSAnZWagAA3v4P/3pzdB7vufHyPldy8NNU\nmtbPmI0RrnGALrz30+8QAZ7GjPOJSpQW0KlTSqVaU8NR++rgSHqw+FJsMVkd\nFZhSgpwlzwXZNHA3eZVFPxDyZvcV0odcFsdHfvvomSltxukcz65gD4VnL51H\n1yFaYkGrHLxkjCsPCtZLWqkBsUoj6oX8R7ME94Kq92joUZWQTmC+qA/M2ziO\n4HB3c/9W08Fq4gMXRSHk4WcA0TJzE5hUcTY87BUSYahTMf8uFGkJ7LM1N/6S\nWpyFqx37/qZ/2Y9bzyTA5222ipCEhQQjwht13GDDlWYNZtTYsDF+6YG1X+l1\nwzmIVupbqANHjOF/1hhVjo8wedq+YNpPkfqxr3M3Llu2uaEsMwxEiKa8+WG5\nO2GQ/HFzO14jm7ZOCb5L9Iz/2pQKUVeet83r7btcxu7aLmx0YAbqUXREXJkB\n8JtllRr0c/zMiKQK2xfj16+hEwO5EnmkWluPMnX3ksg/mUJ5UnOoM+zx43zY\nqt/5FxX4JeD4uMvLxODo3Kpu8QEALZvMVin/Xc5mE+d1hUT93vOQmYur8Xv7\nGkDEmpzEt78BLoQv7ceTGl/off1nGtmbx5V7tzxVhNkqrFo5Krz5QScOk/bJ\nmkNcbPPTDiYyGD02XWvrIXCNcYfve9U+xJXHK/jwlnPQ6BqRDUpyAQmvp4d0\nUwrP\r\n=xFyt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"71b0bdc987ed1b1b5ad827abc78149cd4efadb89","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.61f1a8d85.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.61f1a8d85.0_1595864784231_0.7130743546858451","host":"s3://npm-registry-packages"}},"8.0.0-canary.81dc33377.0":{"name":"@material/dom","version":"8.0.0-canary.81dc33377.0","license":"MIT","_id":"@material/dom@8.0.0-canary.81dc33377.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"17897ff22c8b6b95dbf3870a138d3f46f448811b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.81dc33377.0.tgz","fileCount":28,"integrity":"sha512-YkAof9QJYx/i00bqDaiv563M2JcXocjXFeaucn6X9apQDEvnqf1kTeOgF9CucFBT989XT4y61d+6X192lMVyaA==","signatures":[{"sig":"MEUCIQDZDJp2TI3NbH920n6PqUhfnLRyqcvaPOW1om6hcRfVBAIgZY7E/b4rlciRLmarAzkxNPk1NKYnHGr58j/g48xTpRI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHvmnCRA9TVsSAnZWagAAqzkP/iRvzGN/gNx9jOhYErz6\nyE9PehquLnXMFWNk0u/yPCVQfl3ZLvvHXaxL/Q2n1fyQe+XLwPvBXGOcQgsy\nbJHjhjLDeuXZtSOEM8QUa64khGaHzxmRMspgykMkio7/OgcnW5N9f7bIQl4J\nF9FVOJ1u5MvN6zbRwoDCvEncMJIpdeUCtMVWMZ8LYD3CyxxTaU8NBrf6IROH\ndbF4SxsJgYq10IIxau6yvXzj8Diw8jZOKSxRFcxwbPFAMINCBF0c1duWDUJE\nBF8gRHaQmbwLQtvWMAtmgEapzwcameIVPzNY2/fPKnOKLvcio9T0LFOvJIu0\n24Cq0lSpoBV+S2kDAAkBARu4b/sEQ30diN9rEtfO91yUCKgvyGt7WiLSFMh3\ngHTb/OGjyGZFIV/7mXDxxr5UiDlnYZLUzO0fj94Uml63L3VVRF/Kq3K/C27O\nqmyXUhkdjgWTInMNwbp+UJ3OHByyInEYl/cQZdNQ4ldhJHGkdszTuufo4hHs\nkunQh2lj2+5xkLieSBjTAJNaWyFB+XGwPveOz2tY1v7e3GtyOLONsf0948e3\nP8t+GLyrSnfR0/jZnTQLiyDs3xPFVjf6YgxHvcduuc6WZ60l8ldUITNb2Q+v\nGFouUGdZk3iTIhhwKOzg4uJDLOQwehC5fO0WRQvlZhmDYYpkuFQCd5d0Wx/h\nbJP7\r\n=6gY6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"14e4858d309a20ecb69620f07c8f427bda0821ad","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.81dc33377.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.81dc33377.0_1595865511441_0.608244087528012","host":"s3://npm-registry-packages"}},"8.0.0-canary.ffd9ede58.0":{"name":"@material/dom","version":"8.0.0-canary.ffd9ede58.0","license":"MIT","_id":"@material/dom@8.0.0-canary.ffd9ede58.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1f59afa8e57d8ee18593ef56053a894c4d71a39d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.ffd9ede58.0.tgz","fileCount":28,"integrity":"sha512-ZA9lpTVihcohYhd5+SzhKYw4r8t6qtw8eBZAhQB9h+dCZgTeZk3SfKSkfZLVHdCmFEgQ6wEtb5VGPHLkBaQECw==","signatures":[{"sig":"MEYCIQD14i+8LVAw2nmX2JyG6Qy/o2/HVUvKiIe1Zupl2NH3gAIhANJQzM1HquefkIj0U52Kzp0628DNnLWSgGgRbMXTHsX7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHwFqCRA9TVsSAnZWagAAQEcQAJazVE40JWR7uYbkqstJ\nLGgAEmaEEp89CvQQGKPcV9wR/RUCxLYkg3Ey6xbBKV1QqWDVjXfNmEmRrbkM\nueVoG9oVZ75DHt9JDscUlAj9gS5mniVdc0U+nAO2GggDRykvBjRoIk7aJUEm\nUjEFET4oHh0vjrMBBVkPDeq2BYV/UBAVe3hw+sOru1eaAga2DaX+7x+rXFO1\nBRnfqMgo4RzoNE5palCZ8UrkmzIie+5sS+DpfItZYRi8gaTc6QqFC/EAGsIJ\nF3lVx/I58wLR+2U4Ueu61vKq/gvi6yGCa6y0iZkJvrhNKlqbM2AvqrLhNV5B\nLezIM65rqHduSRomXv4i742yDU999W1UVCzjfr8XXr/ctNuRutSON8Rr2IKi\no/jroOu1HqAcjIcqADTVzphjYqQaPI8oqPVfayaaWnJq/5fhpCWn2vcSCqXr\nWHQ7YqdB7LTOFrnP1jz0pP/ozXVyjhDcCdwxjS/+xBT6yy+96Sg1WLgjmkAu\nrJjhvy8UzoBuxnc1y5Bi4wzgDd0DL7B6e5gS1O//WREfgiVIys1G3Do0Hsoy\nX7U6kW67YMvXa9aYowfftYUKXK9OGO7rmIWnpEiXG47Kt+NRIquBmP8theJu\nmIVGg5DZIJsEDc4DzAHeEpzp5PgYxncJDrp78WcVQs//53yMTgaV1LBLsNYB\noEol\r\n=Ccad\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8a029ef9963cd4799ffbf7dd03908a696d110f7f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.ffd9ede58.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.ffd9ede58.0_1595867497792_0.6016918184842044","host":"s3://npm-registry-packages"}},"8.0.0-canary.52dc55acf.0":{"name":"@material/dom","version":"8.0.0-canary.52dc55acf.0","license":"MIT","_id":"@material/dom@8.0.0-canary.52dc55acf.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8e81e01daf704c8b6ea8edf5b4a6633e294c6e57","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.52dc55acf.0.tgz","fileCount":28,"integrity":"sha512-4/pZwpMwFXecg1H2Ywnq835v/LljlFYxl6Jc8qjS4ZjFeOshlpbDkKoPaMUoADv5d2WM1IYXy2k5GdZYsnl1UQ==","signatures":[{"sig":"MEUCIAvdMg4zM6ZHh8j6HO9TQZGV6M0QgvPcdFoB4G5FogSlAiEAlVDVHD9++InXb23CgNIofPNw7w6W4pr698CCpayi8cI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHwnmCRA9TVsSAnZWagAAwZcP/3IZ5VLI8MSuUnY3xKic\nYxdoYc5fnFolKxvJuuG+3IuVO/Au1yJzrNc6PyrqyFn9CjbFX5dNoLP39nOa\nJXV6wppmkCYeFqyoUv49rFG8XbY/a6g6bT5wK5LxrCYZsEAwtzgdDnQllA8I\nVN7w6bXHoz1G3JcwW+9MSksHVGUSf2liKBdKZcdJOyMjZGvZNJnh1E6QLIjF\nITcdbhZ7mgcZ9lbSbYydO/DfFWF452+97j5sdd8Ij472pRn1/2LHPuP/1izY\nyltahMO2olR7ca7XLwq14Rs5Yn35Siu2ekafSlY2p605nSkbY5Yw7O/HSaqM\nyx8xYfs8tHoEddNjAKfpqwjM4HB+ovwsWeHniv1ZOqFtHYcL3QnlGeTnPSfl\now3vE/y7Dw8NyCMMnevB5fnc8sK5i1/Pj673+0/ekv1+Yg+4NfHSfxVShcSE\ndqzk49B48CvfAw09ixIIv5HRIJDzM+x3OfVR6nMQaMSeAldF1FFEL6hcvk3W\nCRi3DqRg2rVzNwHn/tu2iIFCBNnRl4UuUF776iNUMIZ/hLSBamNd8vzUrWZK\nKLJACeC5hzEsQHJZTkfFM1m4O33UVglm1Tra7zgoWe8s9fcBuhsiM4ux3fOe\neFENWGs7ylJbfI56d3l08c6GJyEX/ycFKFjab33dnNGAIs/yo2QWdV2/Od+v\n+liL\r\n=vjyO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b5253c9af3b0721aeb0cd096ac48b4c113801757","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.52dc55acf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.52dc55acf.0_1595869669962_0.9219942163276937","host":"s3://npm-registry-packages"}},"8.0.0-canary.d4274ff05.0":{"name":"@material/dom","version":"8.0.0-canary.d4274ff05.0","license":"MIT","_id":"@material/dom@8.0.0-canary.d4274ff05.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0f0f5238f0c088efe9471650bf2e8c68fcfd7291","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.d4274ff05.0.tgz","fileCount":28,"integrity":"sha512-Vs7bxbi/FQpwd+PFvsibhEocOYiIq/qWRO+XDQf4wHkuYvQTYekmgmCYXrc9ywmerEBN825oihwhFFP0xxbRyQ==","signatures":[{"sig":"MEUCIQD8mY4kB0+chhBo9EhozoB9VBbUQs62RLV/CevtKeq8gAIgfgIdh/1woqgMPwLjqMS5D/ArBMFRNQRGOcqmVSPlhHc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHzABCRA9TVsSAnZWagAA9EkP/2a0Xe+dBKP+xQ+IdHr8\ncqvz9Y9WzEmt4pP739SkCoILwEvktpACpFkOXvLCVI6Jt1eDRaB8LjrhNh95\n42Sx5zL0LWckgKvDxbqyEr3l4g7DWFZLpM1SvZjfxMq/h9W+X4qDsC8tM8rO\nnvjaid0fmOoLSubxvmVExuiXiAb/SMjr/d5+ybad8KuYaUAE1PAMJaPR0Gi0\nJm30h6aJYmgCwRd+/FSd0rxa0yK8y+0/mD8L05yyqb1P2BcFELagHHwkC7f0\n6Zj+jP+fZQwcwZ23+DDnkeHqtZwtXZN1mRoe035KQCLx9U78j6m5ks1BhXNP\n1ZjD1WFsu4HpCtIASmUEfIEKDB5u+OpsvR6h64Id9YUgcWLqq+Hn1XiaOk+T\nCA/IHlDgM3O3Vy4ujsjK/v2spkRsAqyLQmDu7Jt0Xo6i/GUecQS+kAA/jZbJ\noXqpF8v+LTBBilzlCHAh4OmrUOvtPNyw7/0Uwn47iwH9lAHGBXimO/sToEC3\nIfrqG3GAjw0iSGAWSvM6NmSCW5ccyvhNJ37vx3ZDOzSSbfFNyVC48fckHpr1\nPa50cKzNnF3qvmSBM/Gwpp3uqM7EbK8nye2cK0NE34mjQIyishmvOSczGD8R\nb7JctgyIub1TujiouRD1iyslO70Y1r8BxtoAIdE8DYq7+/73GXAOdno6gF08\nwqD4\r\n=dj0O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b4607e708cfd7069d540b1fd6042775c4599855e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.d4274ff05.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.d4274ff05.0_1595879424896_0.34244917038320644","host":"s3://npm-registry-packages"}},"8.0.0-canary.b82d0696d.0":{"name":"@material/dom","version":"8.0.0-canary.b82d0696d.0","license":"MIT","_id":"@material/dom@8.0.0-canary.b82d0696d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2c1f6c75e5c549af377f28493941eaef3907f84a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.b82d0696d.0.tgz","fileCount":28,"integrity":"sha512-VC0FfW169oO0tkQIEVeoAtZ1hblZGCJhz0Qhuon8rzUcNdc7kJmxXPMNLsbr60OeRLMJ01VrlM86PjBY7KcX3A==","signatures":[{"sig":"MEUCIHLCIFhrPQcMLEVvtCk2MVCOALWw7u5hV4yxnh21IQz3AiEA/bS4iZGroVWzAyGOWewjmFqmiHgVEFVpCPnwRs3uBa8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHzGjCRA9TVsSAnZWagAA/YUP/Aqovfy/dh7p/oSk9NnP\ntD7/8DOB2w9kJO9PHqVEUiP/H6B0DFTNXYrfjW1WhfJjZ/R5eQnrWNnuuI4f\n52BP3j13+6TJUleBrkDeTztt63puHXE+L84RrRKGsN3Hj4QHY/GcNT2kxPnz\npnlQ2Ngco4phWcx3mwhruakHfkyDiYiESrnowzOHvLk2r6v8qbpSOV0UCH7C\nEZ2tJskishN/SAzIEmEuroyRzDbq46NyxpgzTAxabphUMpdY+uECvGMILZ7z\nRQfG4I2QbImuuX6QLqQqmHdBYWVnnZ7vLujY5eOYCMyyBPJTp8/wH4bAxY8O\nmln8u6jRTaW4Skq0Vt+7rzNasyVLsKJmMXSSvtFz8PnywIs1iLBmmYFq1uub\nwLN/VpApUX95DjgLFRi8g8Xfr7vlXUyjbWpLKxaTlcA0Av9dOGiMblnuSdg1\nrJcKwvOtY7gOlw+7GG1WyJ8grLkO2SPwG+GQJefbbSfgik6/gmffssg88qHi\niP2xg+ECSvkL6Ibu0JQ5wzsOb4qwxXrlSKznfQE3S2Pvyn4IxEXxxW7S/oAQ\noWumPB9zlFfp1IzqJDSlC8u7CazJaaDfgZJbV//jD0vXbVMeeFTJnEb/naZ/\n4lVGfXRBWZLuWwcLkLuE/ITsbRP6zPE8LZB8nM3rIM8CXktvkvcIUxBlWbUO\nZyW3\r\n=MRCc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"914e71226c9aee0625b5bd1fff56b887e3c924d7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.b82d0696d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.b82d0696d.0_1595879843131_0.5638632947651332","host":"s3://npm-registry-packages"}},"8.0.0-canary.c2852000d.0":{"name":"@material/dom","version":"8.0.0-canary.c2852000d.0","license":"MIT","_id":"@material/dom@8.0.0-canary.c2852000d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"01b17747830e2f75683843c0c3e032bcd471b8c9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.c2852000d.0.tgz","fileCount":28,"integrity":"sha512-80FgVWrIa1R7CRyyAaBh4HIxyf9/2b1yVJcANmLqvJNHoLg5CrR1QrVRiTBxxEZnP5plv0kFfs6uX77XmOO3sw==","signatures":[{"sig":"MEQCICFCXXDd89iIqkLxO3VQDmrvMbPy5R9Ef3A2MIsBCgZ7AiBiVEFN+Fa7yE1oZHk6C3DtGLx6iMwMhITB2hPWzPwWWw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHz/ACRA9TVsSAnZWagAAyqIP/jJe2wNuNcEjm13nX025\nYmOBslSWDbNrjWht7yFS521v3bDhod/GOb9puHl4ux4AMyhuIoo+nKStKeuu\nk080PuMXpStSsEF3lCSgYd60WwdObh1CmJvACqhMRHIJSZrV6HSyseZeLoKQ\nnd+oJKIHn0vafJRmgAnJ1uJ1MhER9stGvkqdCPn8ayTumQ5hQ4FgO3AZo9iO\nUXJrAlNcnePDv2ut5hwvSLxamqXSa8gyqS40wN5rLd44/r0+feWCxFo2noNB\nhg8EtMXtmyHh54MxUKmeiU7YdRjtrpQP3FdHP71vp1rhUIaDnZQTgCcsjneV\nwT2DagELBuwuazrUF3494qEU0XrS3zuvVETYNfp8tpCf+nJn90zHME/Qldrh\naXKNJY6n/Ksq/msSQZn6xAoXfKR8RHkpwNDQkdBpwQk5kVUnzs2aqahKDDxL\nxKgRyaXOIS+qUnH/QZ5zDk3AQ3Sq6fw4G3WUY70ndRx6W/yI/0Cuf0a15kVZ\nrKUwHRqfULcFesCoPwHPooxtCBlaui8Z+CsacPAGJQl8CjJfAq951C4TWJR2\nGqnJLY8zN9Pche7GrQFpZuLGAezjLuiXjGsf5OBxWD8hAuV9/rkm0/PJJ0o/\nTSaDSWt8wdYTIxIWfJqp/MIGmMjzFvuHa2iQYdGg0QtcYaX5kQZJOkbvLFcO\nRAu4\r\n=BR8B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"53080ff99f83ab326fefffad16cd09e449e79f27","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.c2852000d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.c2852000d.0_1595883455713_0.18794054467086974","host":"s3://npm-registry-packages"}},"8.0.0-canary.f86f83f54.0":{"name":"@material/dom","version":"8.0.0-canary.f86f83f54.0","license":"MIT","_id":"@material/dom@8.0.0-canary.f86f83f54.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8db6b7e8fe79ae539039e578d6ef7588c5240308","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.f86f83f54.0.tgz","fileCount":28,"integrity":"sha512-/n8H6yOqGpuelxK9UG0MkWpun8lJsLunfAYZzFJm+Y7bl/V3QiqqpCo8okYX5hq1IHjh2qo1obv3cMywn/Ghog==","signatures":[{"sig":"MEQCIDE/EWMGzvCKsw2L7BLNiQ4ntFdrZ8OptWv2hp8qcPfGAiBHTzco34QZ6Wo3D9vQ3nOp3A+ZYjgvoKG3smmVV5/lQA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfH0zZCRA9TVsSAnZWagAAFdYP/0moUq6+zBSAsdjvmj+R\nfuYfTaJnKC0L4sB7h2H9KZ3DZcIYkknsXLCZE4AQT/XZixEL3ys9SSNsuxCu\nVEtb+RXnr5968HvEwKkZ6jshvxGwwP5JxtdyCEJODf0cWU7zAP6t0HSTl6oJ\nRKnm6gk06ftJ+xBr51nSUXCQVLObGB3NVyvSN92tAcypmhWNtaJFFneDiIjK\ng7k5Mw6LirVykdzGNCHPr2ikeEyGwtOceUtIB8bjgbopPWJmJ5d+nSXKV4Zt\nHeDhrH1kFzXbcvZLsuQDgErmKWgu+TipAFkitOTYQMzOGj4Pmd0K2vYdWf0T\n8kLqj1rZj5x8piaK0SrtBKaDYtJn2PwR5/4PHfo4o7HVT+kX9pDYVs3E+nDn\njmZYi/R4p5mr1S4YCjUruvrXxP5mLCz7DPdt1JHEufsDgBK5bLmBXAM7j/9W\nGUpgogNITWn42nEMnN6lKPAeNAIidS2oTaG50kF8Z7SebeCyiIZyYb+KOKRD\nc7peF2wbMCdb/sgB1wW7czDci0H7i/KQG4vae6MCRt7IRL/mQayDaGQPdael\nRQ30nvIiYvYcslzPsybrsoy25KK0/rOXFmpnEjuC+7MmtChD2/vQ1P8Hh/A7\n5Y8zGIH0MufVwu8lbhYYWirNKwXG4SbAFbGJZR6rdlO1RUY0TpY3q7W7K1t2\nHbAM\r\n=4WF4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3c8abc334934dd33ace7aec681868717a4e26d0b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.f86f83f54.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.f86f83f54.0_1595886809329_0.12452162457653371","host":"s3://npm-registry-packages"}},"8.0.0-canary.41eb1684c.0":{"name":"@material/dom","version":"8.0.0-canary.41eb1684c.0","license":"MIT","_id":"@material/dom@8.0.0-canary.41eb1684c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9c92211814e81a4e84046eae6dfd02a2f2437b79","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.41eb1684c.0.tgz","fileCount":28,"integrity":"sha512-iFkLY6XYyATDsUo+o8Zgb99aIllK+v3mjMbj/klbyGrrTdFoTN6mZBfUqAtT7SsF2kC+zBqjQsGWD+st33/QGQ==","signatures":[{"sig":"MEUCIQCoOlb2Jm7CWUvjHfnnS3HHW0ldDLNW/c1FGM731Ep3xwIgFFAszvHL9CgP3B/cxkpsynWdi6ZU1pet34/ARpAMIkY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIGUxCRA9TVsSAnZWagAA/HcP/RpaR/iQ6gGjP/flPToK\nkLOILj979NlLQRzL+OuMf3ANgAtPSeo8nVWv2uT5KGlAkJOnLvYRPUwR3vUG\n8gUWm+JlNjiJR+rDnScbCdwn+1n81exUBr7Sy6HsVtgtuC0vmtjFFZq9oVuq\nFQaRElhaUpMiZ/ArUfZZNauCz7zlFFL1QIfo28JWYRTEeq7r1WVjQzU02iyP\njMuH7EhIc29bHrBQNBsZiLJ29Ko6jqkz8nkjZ9aYoGNMuP/z0q0c/JP08Udy\n3+3tveww2kakGTv5Lmj8nmW6iXIa2FMtNzWV4vPPGHWlcHxKwo82/Q8aO+ra\nTgldyxllfhvSuHc7j0D8qP1kxJrEbmkHdgC6LjErYJC1fRGLKJ66zZWc6jX4\nHQRwBkPGcPGMjaclRB1W6WCvmGdY5O8gp6xdZXnfGGDB5tYfC8bVZFxJjTWH\noHkTPJGWpPauOItOTNQq5uEKZW7om1ZvynfmkaVk53GmeuVFY1sJXx4crAoo\nXRkAb7S5xkKkkdUU5pO3pW8fslnhB+z6oCI0hx+8iEG/t5tF+ybADu6yWEaA\noSFd2+FRvY6G3XktaeCAaWEY7f6UVzXUkfJqzzUDhlAlY1M7zy34+0ThIexg\nlxMaui9poGZtTA0tAUvoobC45mWSjmHaEgc05BcR0c3QmT0M7lg3Myvel8ow\naH7Y\r\n=/D8X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ca556c545f0bd908ba57eb0e24e99d142cc05b1b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.41eb1684c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.41eb1684c.0_1595958576854_0.09536268853378749","host":"s3://npm-registry-packages"}},"8.0.0-canary.9e2f6c450.0":{"name":"@material/dom","version":"8.0.0-canary.9e2f6c450.0","license":"MIT","_id":"@material/dom@8.0.0-canary.9e2f6c450.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d4d89f72af8acefe9e78f11120d8c7d7b5af284c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.9e2f6c450.0.tgz","fileCount":28,"integrity":"sha512-iUUpdu7MKzdekodfn2mrUpJ1AnR3x/NeOcF0RODIpJYzUAVOeCRLL8X4CqoKYM8mdgZCpdqsR1mUgkwGtQtF5A==","signatures":[{"sig":"MEQCIGnP/iQIokebXwFAo81YA44W8N95OqXLAkP36uu7n/PZAiAynj3FHoQU6+pHUFDy+di/8M0SfvBQCPn+fIi1kGr7KA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIKjoCRA9TVsSAnZWagAANiwP/0OYQfwtwmP9PaFaynTm\nkyTNEZ1OByUI7/u0JFCC7eshprnoDP/ZZd3or1SvBWPzI9cM3A6zTImMcbJ4\n8tVlYRx/gbtO/pf2Dgp12WyK/oJf2XD3gUnZmux1FyhKa7vG7IW5vzJNRjtn\nVENWblxJLXCOGCGtycAQtSST0kMCemHfcVL3Fk3xPUJuuucnBnEGF6sjdbAe\nAA7j/rt8rJBdpC8uQ792sc0RhzbO6kMCoCDuwlRKEN+bZTYVcs/hwW/HmDVj\n5MfSqQvIZ0FWsHgRJ63iF4DxshAQRxuG6ur0isklQ3jj0ySbcNM//ccodJpS\nRAxky0qZ1Wd2NLemTjQGYCapQJ2QfA4p57/0gkOUoGpcfbMtN0vcgg3jNssN\ngjbYvx5NVC8oUl4RBND61ZUR5d+s+CBVYhbnE3dueMAVIomkJNeHxkdch80e\nE6g0cWTTPEa50pFLUAg5IX74AohEoxuL7gAdFx8smGFc6dDa3heKHkMa2nV+\nITD/NYMWnxw4URgs54f9nEv1XeC171D2zUdyG5AVuOVj7KPleduar+Us4Cw6\nFou/gLhrY8lr23HveA8cdc4EKQV/BA8Mx/peUUPD9smMnXp0CQgKkoFEUUJz\nCbuAbvQvgAJjllW5tTj6BygL8YWgP4OmBAVL+kbbKX7unNOgNbYeMwA4+dnN\nyFUn\r\n=Ol3H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"20a3870f861650ab884eeffe1d7657aa376a8ee0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.9e2f6c450.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.9e2f6c450.0_1595975912132_0.9949122408340492","host":"s3://npm-registry-packages"}},"8.0.0-canary.e6950b55a.0":{"name":"@material/dom","version":"8.0.0-canary.e6950b55a.0","license":"MIT","_id":"@material/dom@8.0.0-canary.e6950b55a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d4764ee65e89669aa4219a7b639c77c7ebcbda15","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.e6950b55a.0.tgz","fileCount":28,"integrity":"sha512-sPHyUpB4+2voWfOs1wpPMAOmHPloPVS4rs5GFKTYIs9iiqOzJfKFVChOwxHDXKrjqaL7L7JWT00g+7H5XBS00Q==","signatures":[{"sig":"MEUCIQCUCvwh822+zo7meDRCpKniWSbgzTEvvVx3MJf0YXQYPQIga34QYTlqIV0Gc1Bm/N7kETXWDCvwlD8KOHYQyl082Vo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIKv1CRA9TVsSAnZWagAAEkwP/1fcmBYHXH72tllqLohn\no6LtFg3k+bcEjQTYy6yac76X6xCudqv05xrmNHRvP0rSmGXHAYXWZa5pR7Pd\n3c7PidmOPfmpAPFSWtQ7NeUWM33lyHRkUnCIAFFyStGMoS6T0OzI/S2iUhXT\ncuyoKVsFSLK0PV7wxZaq992+pEsEaQrUEZiR7Mr4Fe2tXpOBBnzIGl74muK5\n8NXWOMnBON2O3/BGm/vp8nYJIbjph+na2jRQYxGFX978YUozXPeaTBKZ1vhU\nJyT/5ZpTHpm1Zn5qd2CDt+Z++E47SX54J+hxWMoKED5IQBqWR1T/OD7vRvR+\nyKy9hT0AzWATfE5SA/Fwmfre85dc2sBzFOCz4f8P86PTakWQvfjZXAUR5//n\nEhnmpZGfMVkGRXLXmNEpjscHveE1NvVAObqjuiC+Kya1n5qXUS6VNal1Ob8X\nIF44jQuy88P5c9Qo3u+WltPycqAc+9NaIYHp73upVF3YQTWXaEC6IlV3RJ1U\n2cdE252VInZO0iAZOPOSL8XsNw8IKDA89EEuobukeRIEa/rNl4BsOjstW9yb\nT6D/74004DI1LlP8KPxcI0FWecBs4LmBlcc3nsYmxB/4tF4V/izhRHg9Mgto\niEa1GeEkwLFiw5GfSKAmp07gd6DF4DcBwx3edrinKM+Q9dNhr5mU13OQHd8L\ngypr\r\n=wVh/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c71461d7d95f313de3fe5609fac67c2302432c36","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.e6950b55a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.e6950b55a.0_1595976692578_0.25708792833570104","host":"s3://npm-registry-packages"}},"8.0.0-canary.5e51ee38e.0":{"name":"@material/dom","version":"8.0.0-canary.5e51ee38e.0","license":"MIT","_id":"@material/dom@8.0.0-canary.5e51ee38e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"62ede9737e40256857d20916916859f67e134de7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.5e51ee38e.0.tgz","fileCount":28,"integrity":"sha512-0cQ28ygRMF9eRoZU64aY3+CkRZzU1rbCLTt9WX4Ublhyvho3CZB72qRF+Aapkan+3PncHa6KeeFYuxIfwd1Bgw==","signatures":[{"sig":"MEYCIQCWHDDuYpWqYniNiriCBJo1zYxS/gwcrelZPunll5NoqAIhANlnkH6X6tRXbIbozkmz3tSYfkLScMcPFnIGp/ImaHAP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfILGFCRA9TVsSAnZWagAA55YP/RxbjlSTkeMOUDXPOW9Y\n8LfYn8hIyZGJPq5Zylu3LPO9xumVJ+oIXjaiImPE8DxQ+q+whgtRonNqSlRQ\nsWj2iJKjXp+f9BRNurTNdtDWJO2fbY5gGPTSvu4SQNbNckd/ns9pjXLESnCu\nS0+lL1b16gBBXl/JVrlMnqPyLRgQOgGrUXiTPj1mWSFtLV+UUM9V4ms5q/WT\nw2dxonbIQwC3NnuyVWBtiQMd/v1IqdOeU+pNldv8WJPJARoQUUdHU/h95oT6\nzRMRTDqdXjALcniRNchSkz0xO9rHNdxoqcIxpfiS53WkprQ+aYTkh/aIKdMY\nbLk6PS9YOotu9ue+7XYyrq1MqJLTLHwbX1wO+75eoVugE887EB9yefMCUSAy\nhrtkO3Jd4lbf1fyDI1mBjyl9gkSoXORLyjK/yMO3vUkgkS7MpTiv5IZgF3E5\n9FaNjQc9siwrwuizDU0E2keF0SLnQ6d3bDLF6KIf34+gKY/BSvMBX+Wog4dJ\netbXDL94skJ8mYusDoCYUx96u+HtZ05qk1oBRpwjR+e0XN/7IligTddN9ak9\nZBcwFcTq8oRxk7ycaWXxVsuvOdY6hrvFUcKNiIGF66u0uXEIKA+dQUc5cwwh\nkwVBMh3gQ6HoYBO04b0qWdbRDl9Nqv3khNazm+RgG4AWKW3G7wucqcystZXB\nEiMH\r\n=wubl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a7ac25d06cd849dbb8b1620235e913c46f5d7849","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.5e51ee38e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.5e51ee38e.0_1595978116624_0.40799160796263045","host":"s3://npm-registry-packages"}},"8.0.0-canary.a3898ffcf.0":{"name":"@material/dom","version":"8.0.0-canary.a3898ffcf.0","license":"MIT","_id":"@material/dom@8.0.0-canary.a3898ffcf.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bc22ec6ef6e88b68a7a34a445c51253ea1de6755","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.a3898ffcf.0.tgz","fileCount":28,"integrity":"sha512-r7eDNcQsSSwwq4BUKP9LPVni5/a9Anz/FqOauHQTVy5eArl2qXVbx1SwvMNL3H6C/Z33dRSMwi1XKQQTcjnlFA==","signatures":[{"sig":"MEUCIQDm87/Ld4Hb41jrHvJm+9gLd1dmtVEa47SPqVH+UQRP1AIgMmvqfn0o1TXXgjT28yWIkmyCrB2t6kO8svXr0mo8fSI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIMRgCRA9TVsSAnZWagAA7UAP/1LxcA9Z9sLizQJnRBpV\nK4b/3mXF559FFNSX/2hB/4plbQQLkSdc4guMInnS0sQjUSulsmCkD3NhjFNg\nNpvSVT0CPkDhXs3EdxxrEgDNIxIbXAWQCOxHkq822P38PcV2CjZWM0AXKcuQ\n6kiN+HFv/hoUKp+bcjgwO+ESM87KD391CGfOX4u3W8Nh1PLqaw1LEhy5usoS\nXtWUGVYvpgkNGqMMXSy8q3D9uCKrcwWUTQa857my5PZq/HjDqgSh+JD+WIIc\n7sKG5ef1gZ1rzVQhuRsnCMv70qE6AEJCYIOxmqV8U209U4/h6czn0yvprFzS\n8cziMFBPUyPEVr5JP8Ab6x4Oi+/KBxq5qgL8nxybRs+96zR2XA+sE/4KSb59\nRvMzgCuqzx7BtKpJxdWGF+n8cQNX2X+bOTwNg7MNRJsxxOOAPP/PNa2SrhYu\nDwVezUju531Ud2BVpzhc0K1QaPFyn/GmVJySOGSS73Kdw/EIGp0mjgt4BJW8\nRdSodnL5lXDDyDrFNcfPEXh3Y11XFSnnE0W8Dklu4WK+G+12Xi8oMu0z0TfK\nafRk8gHRc9yTpIi3seRcvdegq3lkIOZOBHnht17agMvPLnjGkMAWvo9zZf/b\n4XTneIrUMm7B+AVJB9AORSSR3AXpfzuSWs+wvMy6pbVDE733wdbUpe2SCPes\nFhLc\r\n=/ifg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4382580dcbfc3da31d5107a92231aa87122f3f30","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.a3898ffcf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.a3898ffcf.0_1595982944379_0.8539375640345825","host":"s3://npm-registry-packages"}},"8.0.0-canary.bc5cc6c96.0":{"name":"@material/dom","version":"8.0.0-canary.bc5cc6c96.0","license":"MIT","_id":"@material/dom@8.0.0-canary.bc5cc6c96.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"897e7f7fd4f5c352b648091bbf94f57dbbb37b71","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.bc5cc6c96.0.tgz","fileCount":28,"integrity":"sha512-oNvH6AiymsJ1Fha9cLhF2rqIX/EUYtgR8VIAXIKsLn6M2dbaf5ybfe7sYD+doBc0h7AQokc7F2G1qCV+bjqIYA==","signatures":[{"sig":"MEUCIQDunlYEspbpTFSdZ3AnZQk0KJJ1XSyKk2Bg3OxhMhhpQwIgDxnRUBeul4GkIHzzkrMv9bPwl081sCAi2mP3srWkOzI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIMdhCRA9TVsSAnZWagAAxk0P/R6M4pj/6EEV4r8/dH+N\ndaXgywkLeDZ2c1uniDpijffQZJ02K7FRsJobcOZewD3m6HUUDdtIHjnkjYYe\nTlmJuwBgFkdneReMQOUPjDxlEA1POF9bf2vrtgwAgizwT6ZV00VlA54DZT/d\nNkqzg+nHK2xXnTYMNYJLfilfBhEbxo+MdIq+X+6raWGa40q3wv0Znhslps6U\ncGWrE6/CCsLb8u/LLAv0cVknCWQQj64uaTi6I9dZXFNIwB9MV8ZHqnYgeMt6\nXCwYt2r+tETACPwhfZWqvR+r83uqzHEi0l5SlgzrIOt4plFYAlWMGVM3jmhS\npUd5fs6NHOIK1foaqJzd5xMGmCVyVUcnb3QWIZ45lUaxe7YY1M0vVpaIpNg3\nfmg3IftXWtI4iX3anQRBoaceO86WUS5ZMRYpc0PP8M5smY7qpdAFgeiy+RIJ\n8sMslE1ynd48aJ6sVuCfYtGnCvmNlcdHrIVc0VJb7eAzH2hgpr34YZ6Y1oPh\n+uNCGJ51d0cQCTuqAOjZ2gKQ8kSDwK2zDI2IXzkiHZ01tiEnurEdKXUUJqDw\nvi63O88BiinyswyP1lDRfe/7tV67hpFE00RR6IY1ZFKg9anAbm61TDJ8pvV3\nVUn4XTU6OpWTaNysR/gmv/Uh9bENmHE0Nqf7TgpL4ij6vfzO2KuD9VKxU29A\n39Qw\r\n=wMnS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ef5b32f85df29f3c19f5f6960f0f2e58025012da","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.bc5cc6c96.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.bc5cc6c96.0_1595983713458_0.823627387947883","host":"s3://npm-registry-packages"}},"8.0.0-canary.9bdeaf928.0":{"name":"@material/dom","version":"8.0.0-canary.9bdeaf928.0","license":"MIT","_id":"@material/dom@8.0.0-canary.9bdeaf928.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"34972404492813c79fda568b018eb9906f17579d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.9bdeaf928.0.tgz","fileCount":28,"integrity":"sha512-bNyXpDXgnoARoeQ6yIfRB7VC/lZlD92+0Me/67SvfnvreCCmw5aN+zrGIWagUeDug96Jq5A07xOrkl+GrwvHsw==","signatures":[{"sig":"MEQCIHFILwG1MXr2NVUkAxbneJ4sg18aYHntrKHdylG+ibtQAiBEuwZgAvdOFtq5DB0G06s7X6TSLSKdJKzGlQ4ejTIruA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIM64CRA9TVsSAnZWagAAeZQP/0KJxh2Ozez7wQkSRDSY\nkKr9r/2oSD2NBWXbLxqBOPGFtxz8uAPkRZzBjIYRAhMhbo/IcVYVXfaCBJmM\np7+vN84oYfBqsbBljTi+GBLGvARQStmVZUuf+bBfCZB9/722DO289sQdQZyp\nLgsG7fNIItwgIXnPJR/kgFrM8LrrjMp82AyPMuW4zZ9WCmcLPiSnimKpyEDS\ng7dGrbUcce06cVbMD61mrjQVQIBwKXwwZD2fIHofplk6XZe4hPzAQWjgNenW\n6oWgLDuGRB5i0XycGnfyraNky7bW+AsJmcdESD5ywldTrPn3HGMrrsIIHZIz\nM/ly/nYFmLGqhN1uPthzA52pXX0tq+jpXE6ma+/bnlU5pCSppfE8UH6hTGZ5\n1ps5tyjYAELHUTNpeyXZnGQvXR5SF/uAxXKi+UwlIGFz0FxVMP6X3op2IF+O\n/vEJCzlheLftmqx6ZfmZVVn2Q4zwpeUqHEz3UhBryMb6pR2YJ6cd1ej+0tRS\nqturQ9J6FVCgT8rSaSUtaBlJQX/PK9iqJkA/WDGGSh0FeCPw8L/7ZMZ3RFBA\nPvxECTskxm/wcWAy9L+1Iu98dfX9RO9IeHK3XOKSv+fCD81R5JA+RkZu6Sm/\n7xj9AS9unNf5nAZxFpDpJrXH5gXwkiPScIuoRO9C6V2N9aAoT8ZcRQVjlJr5\nqIGI\r\n=+Xmw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0fd3de7a6a462365d56e724dcf32c2c1890f553c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.9bdeaf928.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.9bdeaf928.0_1595985591649_0.433291206580525","host":"s3://npm-registry-packages"}},"8.0.0-canary.fde2c1f9d.0":{"name":"@material/dom","version":"8.0.0-canary.fde2c1f9d.0","license":"MIT","_id":"@material/dom@8.0.0-canary.fde2c1f9d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0c3709724dce3a897609a00145e3e38d76b05df6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.fde2c1f9d.0.tgz","fileCount":28,"integrity":"sha512-I3JJVrdaoqwr87f4WinJDKBAhllrDlJSwqw1JJWPyyDUl+WwcZia+FvJtnmfrjCefP+JT5oXNJSUGQxmPcyu4w==","signatures":[{"sig":"MEUCIBdqp168KA2xTmdstV/L+y0hDZGzpSQY3mpx9fi/hZo8AiEAt6OSAteA5r3HKM2GmdEiIWqk+OK783uWv8ljjlW8tIc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfINIdCRA9TVsSAnZWagAAfugP/0o/XGgbq/ScpAqcvWxK\nA9HtwtukaRJy9CLIIAvlxnKiKcchtMsKGEhegXqKT1FvhhXsYx+LZkA5hUUx\nxJ4pL8H9tHGdyEQHN79Ud74ytSRhU1mO0HlHXOKsJNLCB5CeoRqASGDiwJ1N\nypOOPMT8YOtXTZaq6a9DGhAH4SmdGUjDtI+iZcmJsVEtM0KPiMuQivQ70XRT\npLkg/s7jPbvZdAxlSHz3mxiVBXElmp4ztXyuBOiRIKTjQSGhbskgLZHfQTFq\nRV592/L56Ha48NnvmbO2z+8+4OI7EwAY4gSDBA4byW3zq4qImJLRDY4qPsdm\nVGbxaiWfqyaQCFlBnIUX+9KtIGSekT4ed7UBSlbe06tN5eEHtD+CMQ7Z2O1j\nZ7Ki4rw/IHJFQwvV3hpya3GrCMRopXVV8cUn1Z8F1+n96zCEb4N6kMuTTSxM\nSfUTApsTeMriBPmqj6TzRSwz8ZPDpEJW80Qn1thd7cTFqjGwHvXPZIyOu1DT\nRzI6Ma+ropTXz0AyABnT6GGw00OPshv6G/U+cyHYWn/SzlglHNizeGkgevHM\nR627S4CEiG99x1LApS8zXCp/AvtSP/GO0Nx8Ln8Cm0SAyEc/joAdHue53rue\n+2zHgM3bg6seTXtaiR1Ja0pWt+POPaUpYrS2UdwWhPx6yqvNNymUGZ5MzIN5\nz6Iy\r\n=oLOO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f2de51610533bd781edd8339c8555a3c03546e3a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.fde2c1f9d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.fde2c1f9d.0_1595986461523_0.2728922582404467","host":"s3://npm-registry-packages"}},"8.0.0-canary.6b3876d5d.0":{"name":"@material/dom","version":"8.0.0-canary.6b3876d5d.0","license":"MIT","_id":"@material/dom@8.0.0-canary.6b3876d5d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6c8780d0070c4c5ceee40d5d3551b40b676bb9cd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.6b3876d5d.0.tgz","fileCount":28,"integrity":"sha512-K85Egy9DLPefMQ9Y85kMgWt6zjVprLvOX6x4n8eNhz/gtDfox02gHAFcHVu74tYLjHiHBUhjfHcAVIeDNN26Jg==","signatures":[{"sig":"MEQCIFEx4ETJ7fZ0pr9TdOxQ2l97AalBezrjaXPRiYqrE0WAAiBOLFfi7VniWWotp25zjTAVH/V45XUtFkfSJP56TCfB/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfINL9CRA9TVsSAnZWagAAp7EP/37lAiwt2lygE3pke57J\n5eZoV8ItUaJcZsrV9hxZUC5KPV/vZQTi/IyA2r+dXtf1yUnFQXHPqQkDTLeD\nOZZh6Iu8nf71sZ2smDPIdZ3o37EuFmTvEgiocUP5dnWB0pr8xP0n9DxwqYz5\nsGm1VhZ1wgqygv+XwndKBe27EFAUJa33oydteQWhpRRcdL2qFTyXCctvrYUd\nwTpV2xJlS/VN0D32pjLNMeVXuLkv+IuPc9X7RoJ6AtWdOqh39mPnvOhTJYfk\nx7craC3E1jEWM4jEtioHTzHgR9s+nsjkiy2jHwzmyrrjB9J0c/intueyaIak\nrv38cHGDHGrKYOAywnJ2w9e/t4H3LnijTqstQHK2/Mj0Q5P/36sjWSj8k2ft\nOIyQFsCKT3AzjZuMwCO/Bqf/O0O9h2XvtTLajfTit7bfPaZsKrES/CISssuI\nVOFBKxA7SbcNtA3AuolqRupnuUwnrUQbJ4sgCzFgdd6cG6laFNjXnrvSZAgN\nGUKx0Nq9WTYRE6MAedBsRMYmh5pqFC4u3qEH1PHIz3vbUrPMux35qJFpCFnX\nzGvPVOEUfXxZvQWS5/emUhmtig3eXt5PB8BjAzxqIJVi9apeRJ0u74RQxZQM\nJW44CxpzZbjBOsq44vgkIVunnjhLLFXYo+i4YheWzTha7fnYTzO6eihQSahb\nTkLw\r\n=NgjY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3559342f661baeb39f2e70f1172040aba07dbc1d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.6b3876d5d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.6b3876d5d.0_1595986685509_0.14334366199280524","host":"s3://npm-registry-packages"}},"8.0.0-canary.30ce17873.0":{"name":"@material/dom","version":"8.0.0-canary.30ce17873.0","license":"MIT","_id":"@material/dom@8.0.0-canary.30ce17873.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"29e2d3506765d74396b8e49f286c85d7b140952e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.30ce17873.0.tgz","fileCount":28,"integrity":"sha512-bmpkPJ9cV6nvaEbPAfN0p4WFkUGglmx+CsUDYCXtuQWGP302wnbPiJKMoqB09FYfVMwZ27e61YMHXflfj1Oeow==","signatures":[{"sig":"MEUCIQDxHupDgWTkOxgNYvd3de0VT49M2bIsbI6uG/VNsOmQ8gIgOF80MJzXxqg60atCLnN7jUW95ENZ5z/a18GRjAt4Kyg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIa5aCRA9TVsSAnZWagAAICoQAJvNke8YTCpmC5rl3/9z\nqmt3IZ0f3AmPhRsit34/49Da7JsomGMRoRW0O9Njlb2nG0PEJVkvrmGLwKt6\nGkbKpoN7qm8RMg3tfJiXCpvHmyUGFS4OFAJlTgD/ZPFLtRmH75mb0nvWtohK\nQoa4WoFZzIN88qEE99QS8DKBjXqKx1wr4ie1Hj8RDXf0p4wUcAxUQ2R+hWK4\nABfxT3CJjUn2uxzAoWHNRHb4WUyQfWPiBKyFVmKP65w7B+41ck3ciHXn4KiZ\nA8iBRis7tY3P1wZ9s9Mlc7mb12MC9INc8MxzG5H9Yij6VsISPWsyCi1V4BOY\naMKPs7HApMlooK0YiXVcmAONb6vW4L3szsQhLtCNeG7FSISZ6IeoJqb52C8S\nkIiN/5mibtRJthbDsOBiS3T37I9BqmYs1+9+kHcV7kdozmN+bIkllPokoEpr\n6xXr7pPUTzinkoXVkAwDV1TQ9sJ8iYteNxX5qQ0AnyGRw9C37mt2c3WWKeBD\njVTYy+bbe5I2kddFi3tovL/Dm8rfzy2PQVlpC6DW010IQJz3ZehELUxQoGWA\njdgtuZXqesYH99wz03j8Hs67RSEtjkFWF5ec071r47YOo8/aKPkc7W/zmsRn\n+bz3ohYPXyJoT5w6PyUse6pIQAVL20TcSNoeAOIrP5jAZalCTjHY6RYiTPac\nrELm\r\n=LVuj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"88fa0309b6185f09fffdbd61d0c3e16f53c2530d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.30ce17873.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.30ce17873.0_1596042841575_0.8432879490008569","host":"s3://npm-registry-packages"}},"8.0.0-canary.f6bb43bf0.0":{"name":"@material/dom","version":"8.0.0-canary.f6bb43bf0.0","license":"MIT","_id":"@material/dom@8.0.0-canary.f6bb43bf0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cdfa131b5cb9244092e62894434af4073889f452","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.f6bb43bf0.0.tgz","fileCount":28,"integrity":"sha512-7RaOrAmld34zvGSKUQ6RebBw0NBw/4xIkPEq4J1XAFwc1AuSujbnru8aJzyjhc7oPP01/HxyaCbfOYHfYQJQCA==","signatures":[{"sig":"MEUCIA6nNT4FlxPv1FyP6iRZFKEyhhHbeK1qdSp37u43nDR8AiEA8OmNoNk+MqFkbB8iQo4JL/aKXOJ3JI+Al783sqBSPNI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIb7hCRA9TVsSAnZWagAAVgUQAKSwfsAwLC8SwyNsimbI\nm8y/7cPzq0TTUQvGFq5AsPZajti4i29pWi4h18Lrs+q3DV135dWCgCsnNY9s\n7VGREYHsoU0Nq/kHy9mTpJ3HlATCu1upGrrjF+dyB2ltG9dqYmvYSip/AOIK\n4+mS9fO7X8kWA2qzxGQTZLPJBsIXQyDMre5F2edQAvrVSDMHC2FOj5VQ6aYM\nMeC/jpe8lVbp9kuU6ujLNzuEzGNM3Kl56MET9ky5AOoXMI4O6gfae8HJvkJ8\nXndQ5IwSp+02On0R/8sK5KjvsBoWdg3FTRDfAVcYbjA/G8+Byl8/iweEe9Ma\n8dprrSNMsMc3GV86JdKpFjfy8wW87IuVvtrSAJ26zzfeLuKPbueKg4zTHhy/\nXuN/+mqXovMQz4S6YsfsBtZKZU0Vv/FPQLjb2Qr2ywTNK/7PRbvO+9ohgN1z\nifJC+Ic8zKGSg+HR/PM2fucw4fFVzxp2umKQ2Dnc4DrPAsu53kYDkP1zG6mI\nPeBVm22mqm7r/6/8Hc7BhaB484Ry7hEGZT6Y8BGuESe5SAxNZw0jdKSxg3I3\nDK0x5xKZc7uqyLsvglC1DFqKKfCfoCFPLPHP6a4JTW1my6Xm2Ar5ZDpMAXcC\ne0KW9bmiqVW8QMBzJk1YJAp4V6nJSQgez7cho0JBo3Xm5S+9CKbcNsiOpm0Z\nr3LV\r\n=8jKL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d511f86ad9ca4460730b732c04ab497fd558d515","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.f6bb43bf0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.f6bb43bf0.0_1596047073216_0.7090145567893411","host":"s3://npm-registry-packages"}},"8.0.0-canary.6af75f6ab.0":{"name":"@material/dom","version":"8.0.0-canary.6af75f6ab.0","license":"MIT","_id":"@material/dom@8.0.0-canary.6af75f6ab.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"55aca41e6ee5734c450096eae0d5c492b1eac2dd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.6af75f6ab.0.tgz","fileCount":28,"integrity":"sha512-PvRWA82bWEy35ynOhrnAnwQosgLItYgOZdsnJobboujhU4GyIR4q6Iu6QHGjqS/0WXVHtvd17jwJTkItEhnRDg==","signatures":[{"sig":"MEUCIQDIXKPshgij1HVJDtioMk21ibZYSy721qoEe3JKX/kOAQIgcvCbU4FZaVcKd1a04nr2RP1E2H5le8gIt+hS6C24tRM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIg2sCRA9TVsSAnZWagAA/YYP/jfB0X9xINb5/o/B6y7l\nlv2iz/5yZB2/2rqVIbIQnscjMAwItUJIYzFhdxQYAeA8dV4yeKtaLodwhA6S\n94uW3EyQc+9C+KQFkY05kc/b5TJrHej+V8NzbSCpNX+HQMMWQHkq5Y3sC0+C\nZjcf8i8WFmtqKOQAPQ9xbqINyMbcO9rfAECAJQL2+b4CpvFUvbZqHTpkih1A\nh31gDnY7tVMsNoOhea9KCez5JfC4TmVRN3ilC7sTWqb+ueTUD621G7aXqyKU\nBeUzKXrw0y3c/Ziot+usw0YCGXMmF6L09WXqZQSF7y0vuX3vcDmy6cQCQAgq\nIjW36n/rmpSalSyDML+Zl2Ch+sl7vafkrFhiNYhGZwMdmQRetHWtewzezEiT\n5vse2m/2MaOzDkBawP+clBFBbVtZw3n9yYLo5uo3yn+jGGGo0bz6/RKdwrpG\nj0/1oSboI5gA9fobpCPT+2CX+HOQSuIyQdkw0Be/cYmrW6/0K/KMC328omn+\n2A8dsZp2JK6R82jDKFmlqfro12tWAR5T60LYo1WpQRortGdY5PoNu8UCemsk\nBPM4PQIkoenHFbgw7nmczpiFemM7QFZHNhSxN7ZXTJfj0s3/IOP9PmiwTKQY\nXHpvJZE6emlEYaOFEbb3ZXHD3yov/wIXNLXtNR91o/URppbOxuzGXCzUVCHt\nWKTg\r\n=OLar\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"44ee60f895715b8f7c0a7da67637babfd33452cf","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.6af75f6ab.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.6af75f6ab.0_1596067244085_0.7803648688533351","host":"s3://npm-registry-packages"}},"8.0.0-canary.42d7a65aa.0":{"name":"@material/dom","version":"8.0.0-canary.42d7a65aa.0","license":"MIT","_id":"@material/dom@8.0.0-canary.42d7a65aa.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ffc45ad593d04b6ce612f93b504bbf11d0b8857c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.42d7a65aa.0.tgz","fileCount":29,"integrity":"sha512-cWsTSalLUZVbZhsRipyxW+T14H5NJjZiCHhSviSY8PgTnd1k7YFRidye1APWbnYEwRdQRUD6KpOuqBXwO/12+w==","signatures":[{"sig":"MEYCIQC8oqfvbKAf8Sc8D31BDhpo5r3UeAdGu+N7R8FrsY7QaQIhAPeEnb6twNvOocJdM1rY/cot/6Kybui4M1qP9ytmlvxU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIg+/CRA9TVsSAnZWagAAiSAP/0lAoiNd4AUBNQG8IbAc\n72F4S0KMKsoRq9mngKrkV51z+ZK+9ZDYqmrk26Oc0aunEb4JwTTWQdojja7j\nC3+iHdT/sUenli7uL1aqddCBAygVMTSdDivMEzzMH6IOFaFStE94lShYLVsh\nAWtH8KQpRZ9wEvYtMFs2ErSqKm2YajHSZqiWqzV+zfYwbync6l63mvPkwRzF\nLGonIUQynvLNJtRlnIev2BjoTmN/1WycsF/tyA6BfDVQY5NPFJ/HiW/7bzli\nk5RqkJbN53drPefLsizipNfGVujfwGQS+62fMSWTklzV2MuMnFyinzH378JB\nipRnx7HgxeurU55YJEoSPuu0OmqhZeFyk2gG0wt+4VJvuccKG5OIh7QVdJfP\nqc90/jIOz3H7eeOCA2gzhKCm+Ehvd7MwuDpZdinHL4cCOtk4EbN4nwj69iR0\nFZ6Wlrbx3zvdYOBWm6md6ZWSCHzCbVvqCz/D65k+6m4pHuMz0fSTg2fYQsUL\nsVh7gsikBKR90r4GHKj8nFQReG1tiEXQJMVk37s3RZdRjFWdh/3QVKDAi5Cf\nEoHlJG0YSMXMmbiwMqYzYmTjdcrHnWRzektu443Nv7aKwwvR+hNT9omT+EGA\njI3EmY2nYN1I//iUMSfggIJmp1mPrHUPzju6FFhj1CX3kWd2wEv8QIFA1q1r\n7lgC\r\n=HgUy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b6645573c0460e7bc8187d1a21ef306b674e1017","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.42d7a65aa.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.42d7a65aa.0_1596067775496_0.1762381458795783","host":"s3://npm-registry-packages"}},"8.0.0-canary.85abdabb7.0":{"name":"@material/dom","version":"8.0.0-canary.85abdabb7.0","license":"MIT","_id":"@material/dom@8.0.0-canary.85abdabb7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4cd36b2e708ab9e2ddedb9da7676175f62cf1a8f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.85abdabb7.0.tgz","fileCount":29,"integrity":"sha512-hjoos9ltUs6A9MwRelFJ1ASxsthPtE95VtjosY9rA2OYaPOtD1FVPnCU1D2DiWLYIx6zNONpe6ouTbYKefSDMQ==","signatures":[{"sig":"MEYCIQC8Ye78Lz8+o9x9ugnwWgioRx2f5agu8fSNCg41PiI7kQIhAKkgJO9z/dSGC+Q+4IefraTDqA9kRC8sAqoytmCvL8ix","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIhDwCRA9TVsSAnZWagAAyosQAJ+XymRrpPecd3Zz9WBc\np6MHgGyyTBvX2+/vZvSgmZBU4zPUv9Dz5v/BAdFcNyWShqQb+TzuZbzf7gUJ\ndKN5D5QuLb8XoDEVe2C1wAX0XakKNc5ZPDUU96aZPQWNvlPu/PMvze7ybIXH\n6ynaCBxRPH+RVMaPGU3i3Cbq//mT5gm4dQ/0NizRYu51eH57IW8pCMo0AboV\nL1l1hsM32urbhwiYnvJsSbe0FqMgzIEpGLJTwpo6ozVKqQgeD/xaeJg1JXe+\nS9uaSIoeONpSJs01Mk5k1qcxIiBOaIAWng1eMM8MHxW6BhRkSLQEDpoSvXjr\n8N5uWAJeH4dCUewlFvGcsgNGuyyQKO8mE8w2iVKvbP4Yw9Gbcs3EHgR5/TVA\nK3HeLtAIzY8yR2zkyqN1AzEYz2+YJxXxtJ5eWWjbLj7e6AvPaWvB43O/BIkA\n7Sx3t32widVrN7APXQZ+6ZqOGQxN+30ghiqMOSA4h2yVd7YH5rHZBYq0ixBh\ntakfeyyu9mUe1xvxZB1WBMw/n2tTp6m85L2hHMCoIJrJFTx+vSVeX8Zgu/qW\nbTAmjNlp/1qgjyB4USe8gS4fDeZtrkwIsfk8O56Vb+S5igb2XJhOvoEKjjSn\nE0dv31gEHoh8aVCNAmo/r9gSAMt7n4xgF63sz0tQUfuHyUwIr6HSx/BTa/+d\nxo1i\r\n=qzpF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4686052ff6039efa085c0d360393374ff4b2143c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.85abdabb7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.85abdabb7.0_1596068080501_0.16603332806547866","host":"s3://npm-registry-packages"}},"8.0.0-canary.49fb20ca3.0":{"name":"@material/dom","version":"8.0.0-canary.49fb20ca3.0","license":"MIT","_id":"@material/dom@8.0.0-canary.49fb20ca3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4c7dd6c238d5d31e7c305c48ecf5fd0c4638e295","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.49fb20ca3.0.tgz","fileCount":29,"integrity":"sha512-PiqG1E3q2CnpYdp0ELVe6+yeL4dH8PI/VWU1aDLekH2i+IRvoNVMjhswuI34mRM+JcV27fG3EVMaAwcRe2o65Q==","signatures":[{"sig":"MEUCIBgMqWaLZf4e27QPUEayAQxRQN2Q2kNzSHJy0rBIcFmeAiEAkQZkRRAxLZp78dIFfxIpzPJ8aqP7//U4fYJ8sDor1WA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIiHiCRA9TVsSAnZWagAA/90QAJrM7HRXWOVdS5wl/gYA\n9W9TqyUBGmNkoCl8dJaOqPGfGaSWRZS1xkvvM6JgC5dkdaX0pJ/oi4ES81ic\nNGjohhkilIztQiHvkMYDeUsrcI5oQAAd4Mgf/DU1uiLjsAj9Y6Ph/7+j1BIs\n5J0LjcU12kWXRtIuk+Q5Rxty6++H5js6QqxW77EKEyqyQFBxeIYPSTt+8Zy9\nEma4nbf5YlT09YC5lPUGy5yXm0fDu/Oe32hk0bargIYA0M4CLfeKsxgrwltK\n6Ib/WV9PqP7syiHjUqA/Dpf51SIp8YcimSTZgoOolRSpgQmwChnUTvd9PEO8\nY90mo6MVrTCUmeH9/SQ+KYtzr9OdvmpVZdd/5JdbwYn5Bl6OGpULDrzlEfpf\nRM3+QQ9ZwWzFw2uzga4UwUs+jLIBkLL1TIXwDSiaUDUUPrMS+uImLLeT7jFO\nSJgrBTsMZrVGe0AnuxQXH8349oETTV0L5vuaw6XC3KdLgVAo8hFC6z0NSEP/\nDa+uWVmO7IrzzMdXtZPKyCFDD3UJuyvTdHSegEEQrEgP97py3kDOIwIGju35\nOP180aeIJpKYTV5CoxI6G2p1bUQtvVYOXVBNw0/rcCENDPD4hys2oGv3jyf0\nblEC2lMi6E179n00oOZmsoqC6RsWJRol3vDMzX40dUyS2fg6IK2qU6CROZcv\nNWPl\r\n=Je3Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9c66ae7fdf6570d9cf334102b5004c5a04b628fa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.21.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.21.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.49fb20ca3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.49fb20ca3.0_1596072417581_0.5057050006384791","host":"s3://npm-registry-packages"}},"8.0.0-canary.962d4abbb.0":{"name":"@material/dom","version":"8.0.0-canary.962d4abbb.0","license":"MIT","_id":"@material/dom@8.0.0-canary.962d4abbb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d0e7a7faf4c2b4d571a570f961073a1e9583a1c8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.962d4abbb.0.tgz","fileCount":29,"integrity":"sha512-XCUJf/pwbynHwZ3ZDOlyhoQm17xF7cFkCYR6ROEoC09h6E+5IX37clYuZ+90Nbyzl3E+BQ2FMB3UM0n9sdDrFQ==","signatures":[{"sig":"MEUCIQDYzlODX3RJWUeSBaopZ5k5z2v276XJmVB1UnWYz/qzogIgZVLHdY4B3q4JofnYXKdCnvAIvB75gChrwAWcOCQVPkI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIvDACRA9TVsSAnZWagAAE7UP/jCoOc885zJlcmVj9Arp\nPC41erc+llo9DFAhrhySdQ1MEuHMq5kwux6+xbJNXohkN4bCl5CprrVv+cwr\ntIgtiYYsodBYspbWZX/lH7gaqnsz64B22SePRkYLpnB9/3lH3YvFLjprhffi\nmXqgo+D2YUG0JsD3Gz0sTIaD/cUQl5+XuO/ozG+0mjDShgE2IgBbCLYkSFAf\nvrTistdgAL8XfwUvKV+WqLMlmGYti/bzjPBO6j811yS2aIe1vlkZeU/bFDXY\nPiDPFTepquGGj5g+PLztsr94b3ROFzETVj/KGE7KDKFdpeqZBQtHq0xG23zp\n5BGE3lh2XjcGEC7vanjkHdltJlN3MPTJrsELdP6X6tR0aJWoYa7SsLFR46T/\n1WZOYMtD+sLLsNblDmz02Q6co/gs+w2nRSUNSWIo6JyOc+DGtkKcpq/Ody76\n0/xVW61JhD7enef2Xi55pPrVyqIzMX70wq67Cy6NKC1+pYbYxQOuLaaXOaBh\ngOb5BrWa5adwEFUzAAB2csRlwveAFfQL+s2llTb48QcPm09IHsyolHQ3UCTT\n/OHaur9csoOZ/ZbqLFgGDXVgPtd0g7NAdjiwXgvBQ8VeacLeLYapoywhZOI+\ncDfXBb0p4C2Z+mc3J6e+P75q9EFUg2SYHoJ/AhpNZ3PRvkaJUtxU9hyYqG5i\nPHQP\r\n=ZGKT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d373d2867180ff5f61fc4d7afb88a8825cb5cc9b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.962d4abbb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.962d4abbb.0_1596125376348_0.33256051318599034","host":"s3://npm-registry-packages"}},"8.0.0-canary.2fcee40cb.0":{"name":"@material/dom","version":"8.0.0-canary.2fcee40cb.0","license":"MIT","_id":"@material/dom@8.0.0-canary.2fcee40cb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d448a630f6a25b30901951e3ccd8485d922ed025","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.2fcee40cb.0.tgz","fileCount":29,"integrity":"sha512-lZsIbGyFfWPBafneKH1YA4PBRQxl4OpMgP5SceOn5JMwgAt6fs8+MLiROg98nV8tN1w27i4QegYsEA2MEJrt7w==","signatures":[{"sig":"MEQCIGcjsZ93AcrMkf/1pRqutqjpTjdV4I6hu0end7W2iTbeAiBCE8vsj4xWRZ38R+7VML6p4db3RdnCrJvMzka42LMymA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIwF3CRA9TVsSAnZWagAAxEUP/1UrVYz4VW8LcF7wuxo9\n815QalQdjGPKwlSIVv6MH3+qpc9AZc1HdkiKKpkfWfopSWhddDOFTGmPmfdE\naQg+a3Q1PplMRjnnxJmHANmVUtdwUFaey9ZCdUQ0y993zhp1bHhs+BKbIqy2\n15lRtgJD+lVSwL9l3w08vcEkomlLWPjBFtBONF7CzuF51E69aHaMehzYhjCS\nfFT2zERSTwG8o/1wbtBVzJxcyONQ/ZHDMUj+854gXD3ezqwtkPpR+pAlCrWx\nrOAdCS0a5fsE2lrqEOuSrtktI1EijQYEYh+QIaQQoC9hMpUzLAtCRs5JShhm\nC7/ksw1wmU11kNCpDFndxpJyde3j5BGy8yDhAGzeoxQyDO2GlCySZ6tXAYP8\n9WEfPN9v+TukMETaQdOekt/DTkQnf4SrNfUjDJCSF8zBlq9fkOSHEvL8Yxrg\n8M5Iu6INOiHYFQn5cS2lDMnu4Vmzr07f3+bhLoKUnG7AWILHBWxsPQ+DxKFK\naEoBmHqVUQqiW3u1Jf4PsOmhWx7XbY/o/xZktXDiZctugOclnVkvQWkdib21\n8aP3chkfDvQuC6XH2MssyIeSLS22yqgn6Y/LSO6LPSxFnJUdgtK23h3Wifk6\n/IJ/Fz3b+5JumQV8NfJ8rMWgq02bZqNU2XNlxmcnql7ItpU5xXa9ALftKOzA\namvP\r\n=d+8D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f769a8a60e9cefb9e0e6306a96914e8e4b4c0c90","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.2fcee40cb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.2fcee40cb.0_1596129654607_0.8137268726064217","host":"s3://npm-registry-packages"}},"8.0.0-canary.bd5987f5a.0":{"name":"@material/dom","version":"8.0.0-canary.bd5987f5a.0","license":"MIT","_id":"@material/dom@8.0.0-canary.bd5987f5a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c5169903f812027dd65e69f556fd723a110e8d77","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.bd5987f5a.0.tgz","fileCount":29,"integrity":"sha512-/1j2lkbeawrtLXKX3W0LL6IjJaPhFmp7irVRnFzfN4+4Yg/yF7jDgL0kY2f9jymqxrb4SvepDX39MRiJJpCqNQ==","signatures":[{"sig":"MEUCIQCFF27JjtqzhBZYE+20g1F4PfXIUks956R9NkCTEG2VfwIgT+MilwtyqIFs/fkTeN5cvbtv03+u+CC8tjdkwqcS3b8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIwc7CRA9TVsSAnZWagAAqY0P/A6S3/TWNvs+TTyztZcE\n3Y4eQjXPeCz/CQUBNPP6KyDT3fHk97rqpCCqLgCAGrmFJed/DjamZraOAvyy\nK1gRv9y6v9nMs1Y48I0ON4jMbjny44WgjWy3XxhoPnKXFYYeotAMP0CM53fP\nICb9ZpYdtcmO/WyAvQUei07afkHFM3XYi7PTQ+ph8X65/yRjMOJSHNJxj6Ps\npMrcQAMlC0sQPqCf7tcIYUZ63J/LpSuKxp22aE3LKnrcnh20ZpC8DFrvWfZK\nPRY0Ax6WaDTp2kuqLEIHp2QHh09o/PZbe1MSgEBLO7Buw4UVGeFgP0RhyxR1\nftgSBNh0MxHZlPKMQZ3T3ogBSFbpxWZsnFhFBDgB5mkLMrK1Kt0bG00R1qNX\n8Ycd6TKGPlLwCQOXifHErtxpPe5p5NQ9II36jhPYQpbXmqKpnRETRX8lhVPT\nj67x1C79Smp7Qaes3T6gx4sNL+BBdzp+4nLbLu/ZJ2uKN/6G1B6KX3+1ZfLQ\njlISvdcdiJELfJQGbikmYTG8V8n13kAFnjZytbdJyiW5UpNiyMKualRBo8pg\n39R7QorVv2L47l3R4IfylLEKT0z8On6Pc9kd3EwuVlwVH7gBpMkUWajclzTH\ndgeVPvF1/kYF4/c8LMIUcMfe+Z8IWDJbDojiH7Ov7eSk6mwCPq5dZvjsQ3mX\nLZpI\r\n=7Uo/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7825c698a6686a8ea967272c1f150363b3845900","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.bd5987f5a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.bd5987f5a.0_1596131130932_0.2747160622673013","host":"s3://npm-registry-packages"}},"8.0.0-canary.005e86a9b.0":{"name":"@material/dom","version":"8.0.0-canary.005e86a9b.0","license":"MIT","_id":"@material/dom@8.0.0-canary.005e86a9b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a51893f1417c635e4b858ae8b6ed27ec01a1b87d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.005e86a9b.0.tgz","fileCount":29,"integrity":"sha512-y5yXvGujb5Rgk4KgZuqT1UHpZKoXAdIqJrtFWJNxhlWNGDOp1Qh4Vd4gTnRQ5C0LcE96bKNU65nbJSpRnPH5yA==","signatures":[{"sig":"MEQCIBc553EQcjAIHnwZmWUOzpKyOFw7JecrNYpZNssgP7HeAiAncRqz6erVvVSWU+L8VdEJOANyk9tdhd61/H4HdRH25w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIwprCRA9TVsSAnZWagAACV0P/A008e3MtCJ2blxDN0g8\nrvVcSb2mavRYNCmcJ0auhcT9FUQVMtb9oMORonCuKooTGHBVay8bdU4UEDDq\nne3QYZMpAOj1oCa9R9vcLxdWxX20qndAr21Mf4e5/tsMrKsowyVhkz+rRlv3\nxm0WVHn7mYb1eUMkPR9yH8nHbE9JkIi36WnMaTR0Qe2qwvQ4r5sTHBfCHgpP\nUHeoH/1a9cJQUFtMWLwh2903HFgflRf1GhNlrLY9Zbw/bJa3Cuj4iiPeCRaE\nOyuPyxwEgKbDN63ZKducLqyT/vqmNF53z5cEql5tpCw3PJGO6oB2BSJ9+ORj\nTwA7MJ4a5SME6SkFcHwvyPtLhXYFtheiv0shgEcTm+NccIRIxmzl5WLdWE2L\nK4ujxt3ozwk+ZLAy9t4HIgMeExl2DRHrnSAP9kFA4gbysKxS1o2K326YniGX\nYMgBzUlGB5MriEqXja2KlUVMdFPvanbl2bwRVqGCtyKiuurz+O8XBqCJe8/d\nPp2AC91t3mF6q2qU/8j2Aeajhu2obw+LICG31WYsPeUU+x07QLeYPT51dpyK\nKllVSqHwS7DR9orrjlbQLTfST6b4E3dLnxdTKIzXypvW+qjDrGHA4BR/avS0\n4VUdjKzy1tJpupMVtAxUH6mcg6XuQ7SCzxz2tU5xsQraTXGVw1HiY1REjjpI\nujIA\r\n=knaa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1c429f861ddbb35ec8588ea55cb1845296ab0218","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.005e86a9b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.005e86a9b.0_1596131947026_0.642734519797709","host":"s3://npm-registry-packages"}},"8.0.0-canary.e309c7c68.0":{"name":"@material/dom","version":"8.0.0-canary.e309c7c68.0","license":"MIT","_id":"@material/dom@8.0.0-canary.e309c7c68.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3bfbf8310bb1daf2c5b206e468b72e74b5ffe6f2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.e309c7c68.0.tgz","fileCount":29,"integrity":"sha512-sGDlRNVd08yS4sggjxnwYU160jIWqfgRG3Bgab6jOsjoxMzJIILwaiIoNnfj5Op09A/F/0klqf/JMsLc6EeTNQ==","signatures":[{"sig":"MEUCIQDUb0zGgiMqxRrycB9aVEIJemHdMRFKNfPd/YbUoFYtCQIgaMTLxXyxD/8z3bQrx7wIEEohhQoQ5d13PWN4z/Kreo8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIwx7CRA9TVsSAnZWagAA/qEQAI3PNclSm85CjYEtGnBP\nGxS/x2llXsLRK2iv4fzn3lMPyLrXSEuvX4F4ii+zg1oSFDKowNDPSEQaRgOP\n5tfoTn+NbK76SjVs83iFBoNXIOanY5cybVGs/2QvbX7eMj/nRDz6oXZieWiQ\n2mmAHC1jWYgGs5tM/G/5VaJfPqmS0rxVUNhUv8Zq8PDdTSXRVr8xALOOjCVh\ntKjvE6cS5G7YfBoYQPUuT6vdZL96Ltavtfa19uzK1veWbt+m5xvK7mmuOQYW\nXvWRPXv94rcKRRj4f+zoIJM8wpFX6IjN2lT37A6oVjel2Z61UI4LBVyMXATU\n7cHTo8tVLRZEbiMVJmMEhy31Te/3S1CyYCkld2f7ZKJOU2O1e8wwAXYnkegU\nG4C4PxODYq95Kr5HO5mkcf5BypKdLmyUVKNWQont73+aXvvrXJ9vLsF98na8\nRQODnCzdsqYuXPufLGMRg0/Fftj57agSmCcAVRgtnxLXZJI8xYUmNGJL9h7W\nLxXOlFYKx/0xXG8rZxCxo8L3vqSnudkyuUodBBAc3uuG5wV21gR6WDrSq/F4\ndR2F2aot/A0xkRu/GN8fG0J4EvkZAg88S5sF2yTEuPh7spdAiRI6yvQdjaLP\n7dSer3ckt+Zq7K0HPURlMn4NwjauGXpgZ/OB00OWVo2wIkNXpQQZBr33Mh7K\nta7r\r\n=MLRy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3ea460933f859061781daca3ae127802388c28bb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.e309c7c68.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.e309c7c68.0_1596132475336_0.1661497359327051","host":"s3://npm-registry-packages"}},"8.0.0-canary.935a51cc0.0":{"name":"@material/dom","version":"8.0.0-canary.935a51cc0.0","license":"MIT","_id":"@material/dom@8.0.0-canary.935a51cc0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"43430f2cc653e26c0e53f3550d73d699a514fee9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.935a51cc0.0.tgz","fileCount":29,"integrity":"sha512-hY3MdY0q120VQcuGbB9n8V/GR9KTcj0pLYCWplHntzmKaFXkbqjoN9NHS7IFDhaqox7PIgLQdMJmoJmhuFBBug==","signatures":[{"sig":"MEQCIAH2LG2hIPDKoiCELKUWq4xuMdTcq/WX5SeQYxBIvS9LAiBFj2K6vAww5R6TamvwrOsvv3605VvLBjTQtf2CXLQuAw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIw89CRA9TVsSAnZWagAAEMoQAJvXs0gusnMmrC1cLEgr\ny2r0sKiM3BiBXz/5lQMyrubhL7JuFKJJl7hT7tn+g+0ZSx84i/N1UHrPsUbX\nI6a/Wa0babYf5FmyV/gB5PGumPOHQzfdME+xQgPkxpxwPI+1mxw7ginGZTnX\ndDYCCpF9SGWvFNQpTICYhBztZdZ7kDNN1wAPrCxNEAsEVS5wbAnWclKMpKp/\nku/U1CfD8ASLgpTJCheMeanPnw2Q7q1tOstz6/XtAYchfbrIICuSXhOSRIpY\nQC1lzO7YdqM6dLQTcxPEJXDdBVB2ecdFq6NbDmaeStpByijgEd9sBgz5KbiW\naDEw7RN0KpSBNgmG7MLv/iV5657KFrjmzJs7/HL5DXnFl6/f0awAbX6L6aHA\nwxdpToaZ1bXL7Bkqyecrsh3kJ90EC60lUCrHwpxcaTUPALe2EQPyonbY79I0\n0Olu7UhRt8+SJu6xLBWzLVwrNZejXplPsTPC7Z7/IZS0ZiTE561H5AiXFCOK\nM946Ab0oTb6GIj4aoDk/h7Eu9Maf6ypQdBBqWxU03QwtfA5+YLEZpzwL6947\nAchwUi3dUnCT6sWI4ORNZmyc8a0tS42QigL4fuxnYwCBwEWK7xLeA6ctnIAX\nelSJOxkzvPFA+e/nD3uAz+jVRWpIEY1Wvxbife3wp4qdeL4t8cMRARc7hdKZ\nxpi2\r\n=OBTN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"79622070723d97d5c4052839435f92189e8fb6e6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.935a51cc0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.935a51cc0.0_1596133181143_0.4369079059103549","host":"s3://npm-registry-packages"}},"8.0.0-canary.74839da7b.0":{"name":"@material/dom","version":"8.0.0-canary.74839da7b.0","license":"MIT","_id":"@material/dom@8.0.0-canary.74839da7b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"42c116c608e347d29df4659363fce680c439f05d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.74839da7b.0.tgz","fileCount":29,"integrity":"sha512-/amTqgnrDyeKwCHaXe7wxE0WrDSQ2ZHn34DH/Zba5S4926nyy8y35mQ9komHIap+RGa0Em1z3pdGJDgeU0/ekA==","signatures":[{"sig":"MEYCIQCj/AgiKsTgy4iBPAvP9DgdHdeaaFBwg0hTuhQca+El3gIhAO3Ru9v6VqNdvUpR5qoVA0nicHmYB3cUNAbYX6Eb3cDU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIxHOCRA9TVsSAnZWagAAvTsP/1CKiw/c6PoIIOx3S7Fe\nMv35C0v5YV3iuRWxadLH3cBP7kEIl0KJbePbu2vH+g1Xalyi9hrqyYuYhbvf\nExwHLY8FOXgafNqHypUX7iuXl/UZThEempTmQWUQUz7nwTxweBpxqvMI9h5Y\nSP9T0oSRNLoaHwKxMZsEHO4tDILsGVjEwJZXn6Rx4EuADBYykzA3Yfepd5XB\nlH4dEcYApgROqsMGplt2zdGQeHzrSgJkjgvdkRQV6wfjP6lyFDUoZZoXsAzo\n/zHGpN92mw4EYjCvJRV8fjgkkudUOLzmOyn6EKF/qm0ZB6MFKj6VFcWlgrwf\nowZRyJxGnJKJcdqHxbhy1+p13JAM7gK1CsTx1642mt4b3lYjml/STqlILkfi\nLhWhq/RvnhrHTfK75q3x5XtnnfpmrXM6GS44JJQT4La7x187truvvctsEccp\nKOfHT56PbUpm6vDTGWZloOCa9jC0dghyghQYXFB/LMOxYquuGFvLDDnkmPMI\nOQIp3cBg/aSzc4uCdisf/qtznMqwQoWl/yEC6SdsH0YevwsEjWclY7dY+9/C\ndGWcjP7MPh6/e+qPcS2prifO2at71IWH3C1XHoKX2524XnrYUucYjIjB6ikJ\n4J3YZ8oeKzzypemKU9wxhyPxbaNaQxRKKvQxFAyZ5XtcyxP5N/p/q4kCZPay\nrvKM\r\n=oM+L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ad186768bb65467a86f70e827e74fee089e25811","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.74839da7b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.74839da7b.0_1596133838242_0.5877825478828591","host":"s3://npm-registry-packages"}},"8.0.0-canary.f041a48c9.0":{"name":"@material/dom","version":"8.0.0-canary.f041a48c9.0","license":"MIT","_id":"@material/dom@8.0.0-canary.f041a48c9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b50e0aabc57c8b219bbebee8968cd3eb665ef93d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.f041a48c9.0.tgz","fileCount":29,"integrity":"sha512-YIvGEUw7bNSKRF1Ei0eb6NKUOlfCdr1zqt595InI4vzEUG+Os4NbAB9uagZMesp7m7xZohvvnF3cCh4Qb/OGKg==","signatures":[{"sig":"MEQCIEb9i09Nw2bCwzjsyObR+lzgkDPNBkyLrdNub9qApFBuAiBKFvD+7anLPd5+OdbAs1eHat8QXbLzephTI34gRKfCOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfI1CkCRA9TVsSAnZWagAAa98P/Az5Cqo6czzBQ1xHc+aB\n57y6vcFc40HHxsAvDE9CvtFmsajbjbKEfy/qS0kBB3pZEUHuyw0a26BvgeJL\noeMoZJXz7O/8GyDRA6bsUMBZt3DSbEDzmlClJg7RKkzxTueZG7QJA9OcwRlS\nWgWSHF3Ose1EWww6U216NgzEc65+jXcOGL7FB2Y9GL/SEo9cV19ZUt74sOlV\ns6aJ4XzCvL9lzoqq1dIk788DC2Mn6JUviFjao7oYg7OSuBirg9mKyTFBKiSw\nY0Krj46KgrD0quW/MH3Cp2LixgU2zpSGY21m72aAHi4D2N0kncmLvcdLWlGU\nZitZPLptko4jxRl4YoJgo/LlR3qwloVxh27eRaesv8rB9Auf1Fpn8UA4LH8p\nEKWkgDSk2fX+0RWprVA2GHJk+F2osHEqrSMLaIoT4jWtHgZKv+m3Hpyq0oDw\neQZSEZyAc4qAUDZGGMRM/TqOWhxEcdVtR9lRfBwL4gJ0sLbR8okJn3VK8GHt\nyGCjpN752h/BqgJba8aWH98ZlzM2T5U+iAWpECsyAS6Nd7GN1svx4yMDsS0K\n9iCgrcdOnrIMv0UdKFUkV1own92rsIKdGelRL9aA15rtJ6GgYs9zPTPeDA6K\nI5qQdmLGESrT+/6VY8Hg9/Bo9+fgRPqg85qD1hvs9EljC0InKoLgcjmnXNZt\nNw6z\r\n=m+nW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e37611a41628785b7c1266cd53abdd9da0208c00","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.f041a48c9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.f041a48c9.0_1596149923876_0.42209363377278963","host":"s3://npm-registry-packages"}},"8.0.0-canary.fbb1381e1.0":{"name":"@material/dom","version":"8.0.0-canary.fbb1381e1.0","license":"MIT","_id":"@material/dom@8.0.0-canary.fbb1381e1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"50446813c7b94fd8867a943ec8ed3fb1f171ba3a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.fbb1381e1.0.tgz","fileCount":29,"integrity":"sha512-rIT3RUxltYJrfA2u8IajBuoGvcLJtvK/GsHigQJ+GMW18MrHBTkI/wQ2oFt/I/MF24qWXnAwbbRibXaybC4FVw==","signatures":[{"sig":"MEQCIEfIqXus2jQ91jV+0L5NAvXSalpbK7ow85as8LzHA2d5AiBeQ7u3Ocr9ve/4OfAStzWgIqpUEG51xW2+bhU6v108vw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJD2XCRA9TVsSAnZWagAAGDQP/1KgQiujQxZbgYooO7XE\nZfXAggfjB6KF+w/vygulA5Zxr1aixf2+ipit9KrjSzgWPIunaIfa9/JvUbrP\nmunoq5A6wnwlLfo6Cc1gynpHFJj+sNpbi48uNjaBtif9hL4vEFmQbzXsmQwD\nREkwnZ01zKOoFxV0S8b8I0GLXIDtjEdkRrC6ij0Gsu036bmpmzAWfx9YzrMz\nAI4xnG4GLmj5weg+OeS+D8D2/jJ9V083T0/e4UEzCk8mW8EfXgAgrWHn23qh\nqOWQGv31LmVorGQLpWqXvpcFkBokCXhbGnRxIRT81GKDHqMKSekpI4NuN50c\nROfNMl6OpACVO01CY+Ph/ohfeqrJcmmrIBDKc3N7lW6VJBCaZ09/psb3DXb1\nkLhREXRfwkB5cvYqgxcUvb+tdo9D8ZKz+YbCKaYY191dlLDjkS2tFzdM+9zV\nyPdbmNdFwKu01Fn2UYWbhO84c+5uXgdvF4TjrDk1sK/ZAsAW9M+7pr0vutPY\nz2LdjySeTD2We+oHilSvCCPvr+7mL342f7EvTv96/Ht3bFm4pTwFY7qJYBl2\nr6fxsf/CFlN8QSeWDgT/DvuxQ/zn9t6OTxkj+TUgzF2vndrxo9sToYopGMKc\n5Yrx9umJri4Y+RJp5GQhRnDW9WbyMQtIOzoZPgZjJwjLUUqtRahnpFU1/axt\nUsvn\r\n=nJd8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7c42a890f9b5f1bce3c7986f37f806066e6e30bc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.fbb1381e1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.fbb1381e1.0_1596210582486_0.8746612576812207","host":"s3://npm-registry-packages"}},"8.0.0-canary.7f61d5785.0":{"name":"@material/dom","version":"8.0.0-canary.7f61d5785.0","license":"MIT","_id":"@material/dom@8.0.0-canary.7f61d5785.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bbbb1063fc3735039f78ae1cca3c350a8f2797de","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.7f61d5785.0.tgz","fileCount":29,"integrity":"sha512-OtUAKp6J/CvA9srE/fSa0SaEzoIgq2tkdU+wkABGZUFTCyjvRlPHgrKYZrzUEQ/mSQk9GOiHfAuaigZQTG0ePQ==","signatures":[{"sig":"MEQCIEhSZ1dvr9Ke8St01B6RRfDzhkqmcIq+8y50sq4nNIZFAiBOshh1iOUCRfRkvKS+e3UCUsav9RINqNCUAtsH6C7GqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJFNPCRA9TVsSAnZWagAAZk8QAJIF3hkKJCSaxXT7gVKJ\nSGEE+IKGiqTLA6cAr0xiUNepeEq/yWBx3Fg/tQ6L/fdARsXDAVwwdsu+QhKM\nP3yL2JQrywn2Mgc/BV3+CW950d/PxIahJd6LOWV6yyVUatS0X0SGe1f3gELi\nI8mvjZ7Hd8vbYt80rLeFi5Ez+UISKZs2XehZW4EE2aYJ8s3h5y1+1M3PUwOn\n1gciZ+ZHNgw9QV8igCvp/U5+gfYY4uHfTbrblUFMOqt/L5EyrkgDRg3enDfu\n5E3id9IWxd5bbqloFF/dc4iTCnJVjbynkOYH56FTegJp6KMv32XQPS8POv/p\n9hXt31nh3pSVI/EliRyQ2w6qLCbsSyL+GH5P4Xj3SpAC9ra3aYnxy/+uE1Qh\nFzka4GYh7i8BoBd/hflEoeWfCNFcS8lhuO3Kida2cte5oX1WypOwhyEDMlCt\nEHvmT6AAY3ukcYCCN1L2V0ViGS3eUezVXTV1qZbv/PR3Zv1GbButjdZbqqXk\n1o/TSsYXZd5xZAqzOWPEuHHcWaXlVjd1/8jAwqygaYUJVdWB7Zsl4C1Bt5xU\n8XLIk/ywVaWT7Thre5i479Oyw7JdZ+QAu2Gj0q8+750J2Ymxqy945MONCngd\nx1EWNS754GnmoaHWwLO/AWFaAlzhwq+hIme66nTU50Nj4qTK+x04VPAruL7J\nJNgF\r\n=31bl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"beb77eaf7ccf3f03c6d830f96485010ea9e3d47d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.7f61d5785.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.7f61d5785.0_1596216142839_0.9591792839398126","host":"s3://npm-registry-packages"}},"8.0.0-canary.e1bc84d10.0":{"name":"@material/dom","version":"8.0.0-canary.e1bc84d10.0","license":"MIT","_id":"@material/dom@8.0.0-canary.e1bc84d10.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2750c4705669ed8d8fd7c10766c7071f86b04e26","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.e1bc84d10.0.tgz","fileCount":29,"integrity":"sha512-w/Wmq6d7+9oXEYzN8ku0yYfKI2cuxckLCrMiBmtyT2Q1wHvMyiFd2JzG0bfT9dv7gO+havPRLc5ptCafN7tsOQ==","signatures":[{"sig":"MEUCIDQ0A0Bq4YQUkkuOMe/xP20quplcscyY1mAC7rhVD8m/AiEA5SSRVq9b0f+PSamCPxlMQbTXDClsiEW7VNL0RgxDDkY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKE5LCRA9TVsSAnZWagAAR8QP/jm/bkIZmsN3VznFwhvI\n3mohN8+WknKgG9ICwzDFMXomsaZsM3peogwmJfKZ+vrh57kzqhyhUuLP8FY5\nLSVz9xQYXgp9XTfinDWFTV5UGwcADtMLuqyAa8D+66NNzRSO30OyqISIzHZ5\n6pac4tj5Ti/+x4q3i+4hPiYgF6ZwNmhmblIziz/HUS7Qpp7cqGcoOFWOzDFa\nbpFQKaxWGkY6QTWcA/7TOXVyRTOXCIbtZz5yC5oc7+wjKAvH7gSq39AHtwND\njRs0FajoVoq0nV8vOSqR3oncKKYS+1XT6M4AdIkjufRXHtPiEW/ijt3t7WOe\nQXsJXGcXWDoCIp9DQvwwpBelAs1lgh4z0y0aJhoIrnZPL/p+y9zHKFt2GTFj\n0nQk+y5r9Px0Jyi/zxxmc1NZey05jqMcntzFQ+mpyYyXOLoiSqpbnyutAxgU\n64VWnSv4AdR2DEtTXvEPPH/Yv0S48LAvdSymue0M7UildGqB/rMAZZvFX/MH\nXFRVODc3JJkZw77TbzweI0HthFApyoVmmUwaFZYKvJ5y5FwD5vWzamUnwt1K\niHe+spPzm7odqxo9NeCM2ox3oXel+ZSqr7Q7PFQgwFw5xxUeYdhJgbY+XGr0\npsiVww154HfBZOT9F8C2zT4PCCRDZtsAGghhs/z7cnbHJZo607h8FFwjtcZ/\nYRf3\r\n=uiG6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4752dcadba6adfeb006ee3689e295db016f4bea3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.e1bc84d10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.e1bc84d10.0_1596477002681_0.6774065977569756","host":"s3://npm-registry-packages"}},"8.0.0-canary.096a7a066.0":{"name":"@material/dom","version":"8.0.0-canary.096a7a066.0","license":"MIT","_id":"@material/dom@8.0.0-canary.096a7a066.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5976a60cd570fea4b078e0e9f303fad3823d2938","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.096a7a066.0.tgz","fileCount":29,"integrity":"sha512-JfMeg+lORzHouIWBaL8HbfNutH6mAMUHv649TJEZSMIp7lkrBUXnXdJNP1CybqHKqVbNlMAIb41PBJm93tpxUw==","signatures":[{"sig":"MEQCIA7RGkbBWdgHcJjyOs4+ZfJ3Tk4NX/5Sg043wPRVlIOrAiBFFWctV6uya6QwseQ7Fko3+72QV0EyVvImHN17LL/qjA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKE70CRA9TVsSAnZWagAApDEP/1kut8bI0ixo5S3ByvHz\n87v/y5BMTdk6wi2KOugdZBY9Y/2pKP4IofH6ltGhVtUPiMgcKcgP5DdF4Vgf\nP9YIj67rFEFQ4sCi5fDuGdPrlxYrVZTUtPSJxNv76+tSZVTQehLN+wJNuGUT\nWpPtyvK0dFznwV7BBD2j/R1Oz4QB1xlBHsIaaWA66V3mEZcqc1CAB0rGYMFt\nx9aOZoJcvlqvMB3gNsnfOquZ8pajiewmhgoAcGD/nICiQbDGHoOCig5BR2MB\nKnzy+8BGDi+KhrhWpyZqqwmnOGEoZQrI/JW/zZn31RGKyTn0AKGSX1fo73QJ\n9UCQZ/TEkdfy0CS10jkrhdtV3By/M+M/6DDtgy12dpEjo6fWnlTeomePDYFQ\nyNs1kVFKjhhnK1njCH3bGD+hYT2fZfuyWv+1duYCAFi2ASdrcT67iKPzeX9H\nD7/9PYNhPBJeImX8sMJttRlj9UONxdMrgm/j9Fyspzv3KlLmHaMco5qE0SAU\nxkKBVNLe7cjQZcdWIEdI6rZ7NbRV43g4VNzOENxs2WDPVfYM/l4zgn5j8XRP\nFK5YDRW3Nujp1j5mGNvdY3egCDKeA+0lwNsbABHFz7dQDQdeq3Xw6QgU4AyV\nwyNATixITgIv6zd9a7wDtQZimgm85w18kFkO+t4XRE+0zBfVxSZjrRJWYBX6\nxY/j\r\n=46sX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c1f4491c464cef40f62d03f687af7b443805fb7e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.096a7a066.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.096a7a066.0_1596477172310_0.6650639458220067","host":"s3://npm-registry-packages"}},"8.0.0-canary.aa3a3e5a4.0":{"name":"@material/dom","version":"8.0.0-canary.aa3a3e5a4.0","license":"MIT","_id":"@material/dom@8.0.0-canary.aa3a3e5a4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"946035b86d0e27617848310f7b1f4ab8a4425545","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.aa3a3e5a4.0.tgz","fileCount":29,"integrity":"sha512-6NS5c+72RD/TmuRnttIUxxEBnmQd/T7MhPIKgwNeG0fGUzU2N0TLc5Q5xokbXdxbe9RflXyp8gfeNN2a07OjYQ==","signatures":[{"sig":"MEQCIDtsd1kG4gV9nuv5U5ZWlGfCh8wWmSi3PAJeLxq/IZMtAiBa4smjDGU/gaYU8EA/yLGEjzaV8DpM1YVK4HUqOHop/g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKE79CRA9TVsSAnZWagAA8v4QAIwegls0k9tThm1Gv3fH\n19JSpXqCV7RqI12D0d2Ffw1MlvSVOP24IBbi9bYjkgsyjIha4u0LjkAOIwYi\nY+3l/d0jzBSZhKiPQd+hrD9zCsnHEhXaLyD0aQXHem2KzP+cCJ0xREGZzvtJ\njMjCwpmKONlj1DxUHld8hpw0reShNVbdSMdWsuTCki7er7znfGYZs5Jy05dL\nfrUuzOAQBWtN1+9woz5XzLVEtCJEAf3xV8xLa60rB8W5WMf/a37rP/Kn8XJz\nDwDB4YTZdGnwNqtsSmvMGyOjU4lvq9RyymQfsN1R6FTs++A9KSXPpImUWXC5\ntIMq1DQmd/7TcpbTDHkfBb8VCphoTERdHa+jFNxdrUCNw8X9s5uoTy9l5C6S\nnKUHVz0NMjhsk21Qs26ycmAp4m8GqC8SfiaB9iqJUlGQ5ZA9y6sF7+fjdPjm\nfqUFxz4ZIBfYHfbPAYDM2NzA8rnOi0ArLAhqxILUaH2GAaPjatbeyemeSG/T\nDIY1xazfmMXN72VW3ZQg0S0aB2MwrBnSjBL0Dc3DovZNt2MJeIFK1jXohrWJ\nnJ2P42jL8eAn1jq/bCjyYHWTAWJscTBIB060tCDukUkOgt+/9UwFcTqRsViL\nKtCyxi6gq5Yoz3sizag3npSkYuJ8Dzrbv1q7nqlRgtg5DDbJ+Vr6qzMrSowh\nDjhX\r\n=fY7h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8e25515e9c171e19310cbb58630a760408b78c80","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.aa3a3e5a4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.aa3a3e5a4.0_1596477181130_0.5436835083042877","host":"s3://npm-registry-packages"}},"8.0.0-canary.5903d39af.0":{"name":"@material/dom","version":"8.0.0-canary.5903d39af.0","license":"MIT","_id":"@material/dom@8.0.0-canary.5903d39af.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a5167109620efe7cc9480b7cbe4be7d67ebc4f84","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.5903d39af.0.tgz","fileCount":29,"integrity":"sha512-JZGZrWYvVDGzHuTlz2B2Y6eyfHMafLsraAwGeSL2pygxUjgn2l1+h18YxmbqFbBDcU8DAYMCMIcJotG/4jZu7g==","signatures":[{"sig":"MEUCIBBwMwCRZ5E1/Bq8aBl5+hmwsrr5udIluQygiq/8Q6dpAiEA3EAesRMZWNlsdLkXMIXoGyemNVsUZ1ewOzVC/B2ZzcA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKE8WCRA9TVsSAnZWagAAWE4P/1ctmpZemyo7AhOMViJn\nloXkxudbpGrLHpYuldcTcwmzQMWKuSHwbfcGM0mspznvP5v9eC/PmSvvrkAn\noJ1+EWA4/nvn7uTxIy6liMVI/P4f92yvZ8rpr1nID4kgjRz8M4CABEqzCKWC\nxgbvJE1a7iEg/hpsydXXjwLb8hNJjvepb5XlSpJUIg809k8qLXcFBzw/Dyo2\nbQg63KLYsv1Hj5abywA85lKeHaaosMr6A8nupu4Z6RYkLw9Fl5xkH82Kv4S4\nnaPIx8kw8CycEH30MoIR24H+AOeNUuWuqlxfw8WVriWT7unaAtAcohr+VBSA\nJCQgihvDoo3a5DbsbGvmVOk5JIwvYitvZMqfJ/KvvViYj4+PnDL7KwfOnagE\nCEvyD/ZOFEtZZOSa7pWrElFtuSz+yUXLI9BROvPrxGWJ06hmnAuFuMx5D95U\n6pAHIH2RHK79TVAcPcoZpN7/cwX5aTFu1JU/uHPyZY0TCGrENqxyTlvd61Hk\nt8MIxf7Z3Hm9ZRN7eE4DTz8IBzruwAVDWiStfetNyaq5hwFQuWjhkE02hzSZ\np/Fd0oxq25tN/GU+5hocY15sr2az9A72qiwVe24mJrvSKtTZf7qw/Um7XKKg\ng3fgjq0q3HUuXDwEsJZ14IWCwPN3L5myNMqBn3gqxjxX2rp0SQPU0lAlVVs6\noZoX\r\n=sAcB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8a4f2eea8ac8483e7e0a1c93b141ea9dfaebaf4f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.5903d39af.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.5903d39af.0_1596477206481_0.4691497543033376","host":"s3://npm-registry-packages"}},"8.0.0-canary.72258f898.0":{"name":"@material/dom","version":"8.0.0-canary.72258f898.0","license":"MIT","_id":"@material/dom@8.0.0-canary.72258f898.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0bb824e653ff04cd0672863fa908891204c98573","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.72258f898.0.tgz","fileCount":29,"integrity":"sha512-ExNMvqSEY8tFvAnwACz0a6nOM/tHSC7lb576bHUKQe5r4PC2wIwIGh8tTworSGsN+a1lNTyKzQZpXZGoicdnaQ==","signatures":[{"sig":"MEUCIBlfwkFVK9cflkUTLnHOsEnGOKuXLu8n6+dIFY6WHmkmAiEAh27iJT+0j03/tn5BgSzkYYIIn4S1HxEEedFeXMJI73E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKLb2CRA9TVsSAnZWagAA6UoP/1DHc9J3EIZxRE+zooFy\nbxQnH381hSklDECDSWfrCA1KL8J68OP9rOdrJDiXZS5Ur9chIhMuMLfh+Xyq\nTsPIy+nei6C7BiR/kcAWRrcf/DO0s5UPOD34a8FyncN4MhQ4ba+mpjpFqVXu\nR6iXhjxC/ulXll/Q3u06Z151R4/pk9/uA1aaB4pZ/O/Feu7CZFC/yaoXzLh+\nCc7RSOYJsZjyuxuhvv0Oh02McoCt++PZ4Tu2c+mLXSoBAMjvLcu9t8lERaUd\nmatrkB7E/AoFanjM+MDj21Q/GU2MkJZb9t4b62ghoDe7H+xRnTXccY1v6lV5\nJ5eS1TkC8ZzY3v9n9gq8aIVfezKGGMTm0VstpRsfNIzPOiUdOB/Wz0m2dgjH\n0wBmpAe4eW1Jpc7Nkm1BgDrwSLYmSZ7CM7V5K799HJn68IFGFhyKNincdcpX\nv8D5gm79gjdeC3Tif8aR4/XtjjojrngOXCtQpdLyoL/D49dg7MG7Vz/DfVVN\nGK8NnkaF8q2N0gzxHAO3KD/swv2s6s90+Yee6fuDq9t+HBjrryDcGbfbLgW4\n+fDSpWYUy2rUZiCPhGOxjCxC6efbSvmYStBO2AO3FYQdxffkxUMx/d0zwJNE\nXKXt772eQJJ1gKxV86GgEbVR238yD4uT03LiaZQig6t0zaEOlp/MfJAYrDCa\nywJg\r\n=oHTA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ff2c64799ee2d684ba36b9cebd15fbe0d0ed17df","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.72258f898.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.72258f898.0_1596503797501_0.2619601245306058","host":"s3://npm-registry-packages"}},"8.0.0-canary.1b44b43c8.0":{"name":"@material/dom","version":"8.0.0-canary.1b44b43c8.0","license":"MIT","_id":"@material/dom@8.0.0-canary.1b44b43c8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dbc2e29f6c85ffbfab5059215e38b72d6053e175","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.1b44b43c8.0.tgz","fileCount":29,"integrity":"sha512-+WonYZfuVLvtWGa5Wh1AlCdeOyxVJ0PErC/rMuEaPtkbHaTNk4QJlJKKAsrD3fDEFjl41gMne39fETyp9VSh7g==","signatures":[{"sig":"MEQCIGSYvssjhkHE/4Rx202LlP9jmsM4oOCRNCQKcTRsmNacAiANgw9NZ31uX1QeNAcsK8i2l1c9NFCwWtkHryA1ycr2JA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKZEgCRA9TVsSAnZWagAAaz8P/jGLs9LuZNCP95C8FaQ/\nNAEBgnT2I/82wNuO0sxXCDbJGX/PylmYtlT1OKEmw5ngFMLcH5Vz5S5yAU8z\nGunbKlkPXA33kTNLayvg1uZ81Bq1kLL6nGQOVhlOmyEPzU7IfHVc/ohqO+f+\n6Ct6Y0vzqenMLCK8ymWp6+ycmuOXRIu4xIW3biYVYuCuKhC8aIMu1NQkGX1R\nhgzvSkdCVTPyjHuH5J1ky9QDkl7907T0TdOvj7DELY5r73oz5XUQdRTaelw5\n3pJJMdlRuybFYsqXYlbjFmbsFKjSz+FVF8Gq5+boTBXH/0xg9/epBNfyYyWh\nFVdBOPz9Kxi2tCKul4Q4v0/Hk5tDWzBXHL4pN4MN2bR6scPVk0l/1sDS4tAS\nkwpP43soIfguTsHNCVgahkrsxPW5LKtZTpTU/NuV2o1nBNKU3WAVriBanQOO\nvIIE+xMGL1lt9YagRIq+KikIL+iGhCMZtyg1/2zJJ32t4+mO1jAnVFJAnXzQ\nnAQSahvcNELZ6lI2FC/rZFicNNk7gkDRaIdlaYxlSCyFLOpuA0umdetRU3bY\nqQj8xqe0nDxFZPGM2HcLSkLzIhgCHZfmLhS9V25vYD6NqQGo41H2eWeSo9Gf\nmwxVbwNFjzl33Ey0/JcGnJGcJd39eCzV6ivDn08JGCe51LtgyzplL+Sre1Zk\nkqIO\r\n=14au\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"69ee70c646249b45b57e59e958f1ca6d8332dec7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.1b44b43c8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.1b44b43c8.0_1596559647884_0.1887148456111667","host":"s3://npm-registry-packages"}},"8.0.0-canary.e9d2e2f96.0":{"name":"@material/dom","version":"8.0.0-canary.e9d2e2f96.0","license":"MIT","_id":"@material/dom@8.0.0-canary.e9d2e2f96.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e2f123aadaa50c0338d8b627455f19ec4ccc7d15","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.e9d2e2f96.0.tgz","fileCount":29,"integrity":"sha512-a43WXzas3OoMVnIaSAsDVW3dwrq5sMS35vVFuW76Sf2SgtncQfFyndG1tVOula1R/kgM4o5qaoIV/VMqUmP19Q==","signatures":[{"sig":"MEYCIQDKZRdwVyIX+Ux1y3Zp/B4iMfIpj480cvfw51R1RPSyswIhAKXZomVaWUXulWw2VoNzXPIlPZKSvsiZ7+koygoYWo7e","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKcPGCRA9TVsSAnZWagAAwVEQAKT9n3Uv/m6V5Od9Tbqg\nlQ7fbfsnYSkT12ZmHmi+PBKZp80GatqU0G0idfPzQPP7uwBDGIDOr4YV8Jn7\nfHX0520a7LazitcGzy6nWMgAwKKo36u7OxkJLzMa/fcedPzX7/ujCFEyLNBv\n06+1rbfM05xNc8OErpes5GyzgbDVP+V74rrAySIMwplj08ZbgjPWUGYOtewo\nqey/HdT7eKd1RdRhY5zbw7nZl9G6VIyJBH0Qn59Xmtx8jM+eVi8jkkXvf2nk\nEVlt3Y8YJJAqFWRYaYMTg7v0OgJ5BZTHdW2BSvu+8M7sPVTVQI+Y3zGykPeU\nwC8lndTOV7FJe8KkCztrivGtF1uSFrFzSb9VHMxCB3cA4ULzvUf2RaOIy4p7\nKeL4vMlmDWG53n3Uvzl29co/h6OHb1SzYCixOeReJwPuaPwNFO5ZZ2epVJ3q\nc5UfX9IB4wmSOg8qO0KpLUF166ozmhELt5W3knBGYTuJHxTN+dhJ2Dl1PPh6\nbKUTQQPXCueqm7t9O26xicP6zCpFbzHnPb7WSY++LhXaDHtqiHZZIvF4ZlkK\nH2mP2PBgPh+DN4IjMevncqh9c/vMERoEJOmCoTS3l+xpUQ2vsxzNpU893StH\n9FvQp1GsWVu5n72V/6kQJbouBekcGQ9LDsECL4EkoH942aThaZPXZKgwwdci\nPu5a\r\n=LngT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f6bf51788bc1f39067fcceced79dcc12b2c59caa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.e9d2e2f96.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.e9d2e2f96.0_1596572614318_0.8855357792080008","host":"s3://npm-registry-packages"}},"8.0.0-canary.b9dff0a19.0":{"name":"@material/dom","version":"8.0.0-canary.b9dff0a19.0","license":"MIT","_id":"@material/dom@8.0.0-canary.b9dff0a19.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"282e9a15b497cfe1dec78d891721b18ce62a8a1f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.b9dff0a19.0.tgz","fileCount":29,"integrity":"sha512-tdpA5gk3VbBN8uY8NdJMA4CVvGxzsHNYVLnyUrCGn0Yl5cfDZrN+FU0B0/wJiEval+HRgN9X5a8tjEvTtSgaTg==","signatures":[{"sig":"MEQCICYwLwlPmhwJT6ymobonXCzHuIcevGxEe7XnZGWcw+wOAiBng+w9HAQjAzCucjb3qNjhR5ahg6A/pgRQscCkex35Sg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKivyCRA9TVsSAnZWagAAAf8P/ii3q9n2De3gt8ePUkBv\nXY6Aci9GgQSKS8E3WoGOoyo2NIYtNzpMQbzqeYAPYFJwNqZjvG/5PSnC1CQD\n7xeYgw+pKYYvwmnDL3ThdAU4rx4vb5gfPOlmKWZRp+zzmlE6tbYv0VRxmBcb\nkvjpQssEiSVmfUdUtdEHa+zc2jDSjneBSZQiJVM6BpVdxyAJeO87dsArb71+\nI9Hp7Qxr/397+x9mGOztuilLyUfavaMDHVXhqpMFlAyCNDp1JUaZ+3i1Maff\nERnF41V0AyP0u0PUuWLxVNirao7dPiWogw+g71g9tyDmJ4+p9rW49BiBYnw3\nPH5VdNHLT/sxRArSAH1sioA1m4SVtDQeMcYN64f89/cI1Jy8EB020pTDUJ48\nQ07+EyvTffZNvMcDQ60cU+bqjvbLadU7CxAGA2Z+F7RNIDPD4lD9Zo8LbQls\nB7RzfEVgOkPVJeqTNw9Q2tWfzfC/jsJhohDo27w/NkGWQ613pzaaw1zucYyZ\nempo+JHihgo+YtYSGu83j49f5qH6mSljQxJZZfOBiS7lVsYgzGlPQ5jgQUJe\nThOmTWhe9kSjh18IiOMr18K21sdmbHJ/D8WgXwB49oFaz42/WFQQ6jgcNq81\nBAKM2grawSfMm0ORjJ5TGQuzjcmmxCF34F0gDYsmo4Og8jfQ9IO+xhySr/pn\nRMyk\r\n=CAtS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dec2f9fa4c83e98bee860646fc2a65b134a7900d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.b9dff0a19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.b9dff0a19.0_1596599282043_0.34378794421140113","host":"s3://npm-registry-packages"}},"8.0.0-canary.2bd09a706.0":{"name":"@material/dom","version":"8.0.0-canary.2bd09a706.0","license":"MIT","_id":"@material/dom@8.0.0-canary.2bd09a706.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"595f728b5c7704ca7e74a10a0b611f8a1bc93611","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.2bd09a706.0.tgz","fileCount":29,"integrity":"sha512-7UK4Md7vP1mI52wxbY3hOUI/fMdgD6j3pYdY65o6sYk4KHRou6vXLGz9zkXJq0+T0DAPR2lX+aqp9JKDAzss8g==","signatures":[{"sig":"MEUCIQDY/RNpzpd9LJfKj+WaR86RGyl+UDglLpc0GvyHqJEJQwIgauZkZ3vxE3wBC0GvveVS3x7kM6duzmQoXijwl+2ZRSs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKi0lCRA9TVsSAnZWagAA5XEP/AleeDXZhYd6YXbUvsEA\n6OLwHE0Xfngfdiauf/1S5N+FLC47gz2pIiUrm9viLWSqv9zK8d8KjWonU2LA\nkh6fykTQ3ogqCO2JE3ZSeyGGyQ1KNhmvespTUHm8tP5pD3OjwOstayIaBEJR\nhBJRQuwQUcEmh7iie8hUG50Ci5wWG16U0ZEYy9ZJF7gf31YACMCRo0PGfKcL\na52M/nmKLGrw39JxzLajwT8atxrTknOSWgpsp9SdoyAW0bNWJcVIo+7YDh7M\ngoEbrU7H1HyZ2Cd7ilp7YuL3R12frNDMBRduHHrp/AMj+RqekyBYJ69ZLlMj\n2CWIKASzng4br9PkKIt1O+6VGDG7rWZHeKt2O55bZ5b5sfZ041ENZ1vroYg1\nmX+Lpm9wIuKfB/oDItkvHArXhklucpcIYUMf44qbob0u28DJvZSbhS+3+/CV\nijFC38IvMoS4QNQ65JNDH4fvkaKYGrB0g0kKGj4n/IN9xOJcrz0L5reUOyDc\nM8qLl9Mg2xj6hj6hvZJIJ88eD5T+rvMXPDegXkijWGPj82PxzvvZndZ47Y7I\n0HSH1g6LglHTHOJuP14WWEeFX62K3lBUqut5lm05bAGHoFQNOpqzdYZuh9qo\nlK+cI1yVWGgByRHEsBN6qmqAFqY5w4lXlBwLk+uvy1M+78cFMCA0FdsjOdvY\nSVWC\r\n=ihgd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c8b061f3fa8ffaf5214e79fe44f6c575216a1808","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.2bd09a706.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.2bd09a706.0_1596599588736_0.44831340741907644","host":"s3://npm-registry-packages"}},"8.0.0-canary.e0560522f.0":{"name":"@material/dom","version":"8.0.0-canary.e0560522f.0","license":"MIT","_id":"@material/dom@8.0.0-canary.e0560522f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"76a2fd0d2244f83868526a60c2cad5cb2ce707fb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.e0560522f.0.tgz","fileCount":29,"integrity":"sha512-DfziA0uVemLxOL1Ol40EZN82ERN2eXg3OmCkfHKzUD7Ho2Y8h9b6gzH7tjBPENDoRFITZw7sP5nkqNRS6Az42w==","signatures":[{"sig":"MEUCIEh0+KrtCSdMDrv+kz+yDOgXer1v/8Q+3xmhdXWJWFVDAiEA1YrWRxGI1pzRDwjPHlZLrL8nrhv44WWI6tEwqmGAMeE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKuoDCRA9TVsSAnZWagAALXoP/2pSPvQ5C0ofa7DiL6tr\n1xM6uqyQyZqFh8WZ5164Ucfs251tir2w8ZxrIYmyqpJYTnxx/KgEQU8U704k\niEzS+qapoSZng1Ke2vyw4Bree/MleKCFPt3QNJvYP9NLHvOIE2sD73tgASbT\nlPWzR4vXJ0S7osVjLVQJVq5AwiAST5voIqgyuCxSH1olYwVeJvI4PliS3t2l\nbaP5si6vfB0SQ9Vtnys3F0+GbZyx8lEDMndE5TJjxPgcAnYifppPOCuBmH+T\nzqnpILRbI2hGBmFzEMNJp0BA0/QzErp+L2N+F2RDE842ODCFKsB4uwQTWrCS\n5IvLwmbcwS1KM6xBH5TPL/OWm01ZSXe4/HIv7yS8F64zGXHsBjSHw3ItFluq\neoUOxnepK5UluuBocIsRuQp6y5493YAr150L3potuP/80wh8lAQdsuFuOMqW\n5zdEZAxLfIdKS84+Z1+nsqVIgNvROvU0KR2vwV9mJYb9XYec8B5rHKGAcsnp\nsFEhFNKsMbIr1VvSZZ4clk/KAAQrgyGd1wTrSOKywjNrofGdsDqoFWN1QOu8\nD4LHgouwcpNqbYRegGyK/ipHXEDM2+WMfNBuxkITX2w8YT42Q7Y/Chh5LbiL\nGyMgHQGePkmQ+FBczGcsOjHvZkxBOQ3UTyBj0ydDjV2Awlm2DDBAUWSco95q\nKYvv\r\n=x/9Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f4f71f168da3435c5dd1bb74e7ae0c54fcc45746","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.e0560522f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.e0560522f.0_1596647938863_0.054574688145146544","host":"s3://npm-registry-packages"}},"8.0.0-canary.08ca4d0ec.0":{"name":"@material/dom","version":"8.0.0-canary.08ca4d0ec.0","license":"MIT","_id":"@material/dom@8.0.0-canary.08ca4d0ec.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dbcc7b0aaaf8ce5507a828235fb270bfb5a5ae91","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.08ca4d0ec.0.tgz","fileCount":29,"integrity":"sha512-Id/QlMWD4zyiJgqfEDqGI2QoAz661jKbFYxMMUHGtfGtr84NiQqs1+Kj37qL0wF84GJjsZmm6m9LXSVVqidX7Q==","signatures":[{"sig":"MEYCIQCEyeo4gN34Unjkhwcd52mYZ26E+MurUjqWZU6g4MMi7wIhALJsMr5TmBvONMheZf0hl8WaoqfLKfPNABSrkhBXTnac","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKu6lCRA9TVsSAnZWagAA+ykQAIGyoId+8gE4fv2peHtT\noh3oBRcaenODOPiTGrQmvKA6LHJ/e1/uU+dtdSpH4DrkfLftpkG/gsk9dxlT\nlzBttBIvVq0FjoIo5epm+K2iK+d0J6Lat5o38Ir6ahXiELy1czHstubymOy0\nhXb3MM0bsq7HDwojCA1dypwXlJOsBN5q2RH6F1vrKxE6wsKCT5kKVkZt8UKG\nLeRSTQsabAfMoxFnXGtHJhPiiG/r802akDKpST31+gNy19W44IuSRR86IDf3\nyGvVK5UDBJv1MVcdptuPj8PaXjXsFkbuu24EQXDVHOsxOz3GSkMTATNDy9GU\nJ7UyyoN6TWlot+aGZfOHO1EbW6SnsegQG948ukF+U9UfS2/mfZ9gKRu8eVmd\nmMXV/TZQjG18OJ59IaZDx1IaYU1QKQsI2kNG6CP+NRVyoomhTZ1CMKDnM6Y0\nrEkPetjO5l0CWImacxB7wqz8bHHrqdsmAtQJk6s7yUGJjJR1Ghd38dspqL31\nHJSJCNLHjFWtrvx6LaEo9qe2vsphNqcrKUooOqOxXSzD1ETwTl9qhbKFGVvz\nmDbpr3NXvqbQIOWRg+hLyEjLd7lxbKqxFS1BbBifgXp9UVI2lWJKskfQYWqx\nJSzFSsrQiFjS+SkOKkgiRYMqH59k3XkaVuvTRWNeAqVreew6kcftkdI70aV2\nAJf+\r\n=0cyY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e525a44ae67401224e06885b43f10017ae70f9af","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.08ca4d0ec.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.08ca4d0ec.0_1596649124741_0.06620213683580367","host":"s3://npm-registry-packages"}},"8.0.0-canary.08090126b.0":{"name":"@material/dom","version":"8.0.0-canary.08090126b.0","license":"MIT","_id":"@material/dom@8.0.0-canary.08090126b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8c0e00684c0f9a435719d634f43306d355d1a68d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.08090126b.0.tgz","fileCount":29,"integrity":"sha512-1OFrU9C8Xeaf1ZZ1Or6zNBWcXAYZkKnK5UW/NzCtc0lg9lgsZ/qLLVBKhEol0eI59H+IbOfrguiQqM0p94Dd6A==","signatures":[{"sig":"MEUCIQCToYJSK9dPkJOeJarI19yanPvJsk2YWkP1jhLnw8TZRQIgCsFNy7QPdpwP9GoLlbDj1aULzSMapWk6RxZD1NPlspM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLFquCRA9TVsSAnZWagAAASIP/RHpspFG6Vni/bl+7wBI\ngYrkj5eTFkHgjmxt3ZATUoXwYdgO1wB+6CZiewlcefyL0g/sG2KzzSyPvfS3\nAeaahPca6OjFWBCGthWRPmkg4M3A8m7XkPp21fgG5ZFHrINOJD/396obU04Q\n/AtwTCbg6cVJV3RvQxM1F4R//R2MBb7eS/zOe8zNgVKfIMigFTegtwEDTzRv\n+ASOFshaDst/+ea7S2q1Q3XZnPuzrJH8VLoc8M1ofZNB2zNlFplhKf2IlGTn\n9tW6X3BuRGq3Nz0qd+JxP0uoZZk/eVS89Jf8PS9sUGc3+9gWSR0mvDhz9Lhw\nDeMPavyRt+Lw7XhyCYwQA6y4P2ArjV1izezR9csMM7v8n4nF+Ra8ipDlsSgO\nr/5fMX5YyTIDLyQwd7zKp98rg/r0XQadjhNR9aegjvWSLAWgK9wscpFgLNlO\nenIR9KInji6mmdgYdzWULIblWG5CluBuH+xEgGUeRe7dHxdbAUI46o1vrwu1\nJWRw1N0mYVpZULvHNIMawAhRiy4pRFVZQZ2ubRt2m26tZEQGKlzWG1RE+rMX\nqEKbATtN2qjI9WqE4zfuZCi3FCLs3rqaBspU2WGHvAxcF5bffONrOcpefKc2\nqnPTQfjtT1hD1woTQHhxOUp+57gHlTGkXdFGIKP2GYwUqm1LchYk3UwHxr0o\nlDGD\r\n=XUxx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"92703c0a9dad96887725176e28a4ac83640a3b34","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.08090126b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.08090126b.0_1596742318310_0.053040960265234416","host":"s3://npm-registry-packages"}},"8.0.0-canary.e8bf5b2ac.0":{"name":"@material/dom","version":"8.0.0-canary.e8bf5b2ac.0","license":"MIT","_id":"@material/dom@8.0.0-canary.e8bf5b2ac.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"33597a148689ce62b41c7eccb53e548ebfcf5a23","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.e8bf5b2ac.0.tgz","fileCount":29,"integrity":"sha512-XXnZ5HQJD1S3yYXQr/qEOUaEyvB2sv/CoUNCjZPT/h1sEzI52NDM5mz+Jh81Z4TB/XqDgHJD4VWB5CrbCRVE0w==","signatures":[{"sig":"MEUCIEuSqNm9BTTrjusojOcNNOodLuMxm3xsv1ZbyCuaME+hAiEA1Qt0XlFVbshTB8eYAOBUN/uR6TP7kal0TtaWZM9oP7Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLHrdCRA9TVsSAnZWagAA3ZIP/0+jg6oPFLnF3KUb5vMI\nW/ma94/LmKvRPNPaQlX6NFdD8f1JYEkihFobtSXGWtBtq83QhJ9rVjkaIeBJ\nH411uhIjUsNyB/yWXE3fc+5SwPHeX3304jkURUTTlvhdDbz+EYDNAdLkn4jt\nGGbCLVoZT1yDFTXWJ4Y4NFP0o2IWdRB7pXRiOpAEP2Vz5J7rOy/S/S+2PH7s\nsjw2/Rm3bfnEKTf1PcQbFDpvIVU6hA2RmUl0X7Hlk9pExXrQytaM/0lpjLas\nPflRd6JUL6ysmq92cJaglbFotio8g+q3yGRTf4ZTAxzpjonPBIprJLuZ13sS\n+mgbkPbYF50yPKMlQwa58RLhKm3nINTXmBXWrnZfT41dIkFkcMUlU64AXd1y\nwHQwBaWEnOkg8Zsy/71vNK1mL/1VaAYoHpNkH4ja59ojJY9pe6TzYzOQo7Uf\nO5VtUbJxhaUr8oOK1FmMTAymh1SG/CghnmH++4kkXkWIxdG0ke6Bo/dRmirh\ntk+LKg/raAHtyG6LuZDMGrQRmayalZ6+uxhGd28Q1QHPJawrJGbxY1wbX0Ue\nmlFRnneIwV236zcl6JD1d81T6z6xsTbmXXhMkPhYmNTt6pGNmmzr+324fqlM\nz3EU61cIv9XF9eimf4UQkJyGbWcxmOPh8L/lCm0rD1jeFs6p9V7ej2YVHxX5\nr35C\r\n=QAsO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d5fe47cd91dcff7cada8ca9b587eb8a924a211d3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.e8bf5b2ac.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.e8bf5b2ac.0_1596750557424_0.9187255678685753","host":"s3://npm-registry-packages"}},"8.0.0-canary.e3b746208.0":{"name":"@material/dom","version":"8.0.0-canary.e3b746208.0","license":"MIT","_id":"@material/dom@8.0.0-canary.e3b746208.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fd84b0619a21280d083c8e770c70869ffa5b7f9b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.e3b746208.0.tgz","fileCount":29,"integrity":"sha512-ERWtYqLYEQGGy5FjRe7FHBxrNr/iaDzjkPjXHZhDMQaFPxi2sqm4q07UBsjmuFV0o0+Djj3oS+a3nfjIr0Lydg==","signatures":[{"sig":"MEYCIQC/lOFhsLziy00M4HMwmCy8t3j1xP6Rc53AVaHNwRMIFAIhAJ6cyrRTiuTV2tBppAOQS40dWtZ83DPo+R+G7XF3TduB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLIN4CRA9TVsSAnZWagAAF0AP/ihtA6WnJZyvnIfXEnN3\no2NbCXBbrVARJfFWPP2En5Un0i1cKtf1xSwh+04hzyjJ2aEHByZl00Oua1un\nzcy+LQwkCiat2uZPBEjNp7xsEOpqYgxy7uBp0+uuTrMAZBIF0lwBs6Ug8s8U\nZMshkMpnRCeaPlHV6mANzDnyYerQirDSV+q+zIeOD1p9Beuln7yC7Uid1PW+\nZxxV1RMxwkt7Liu0RZg+szbcflXazQrCFFaltfmmd7GYl1Eee+kjvoCVQjtQ\ng0AFyjj+yX4IlvN2CIqELk9d0KDdir3lWQCvJpGqFUvXv4ZiXEnxMqEv4l7f\n8Runx4X2mIqdSP3qaapq1L+fuzCALtaz43pC2aw1xpCvyYrPWjKK+HeI3QTo\nsmuPHQ03gMy3QNDdc5abmp/qyTF3KedAFe4GamNg6ToDGjt3LHdnbo82Hv35\n/gii4d6MYMnIZR02dWiRDcbOdt/5PCcnHrg718MQgfS14Jom9SxvXKFAyLCJ\nk+dr3ZhHi+cXSxwE/5ptrplqDvDmfIonSzfu2zEWZQCCGVW7L4Ag7qYLjYay\nppEtBmi/37ZDLPwmcXBimfHCcbZu6xk5X7iVKftlO2Y27+UtFjlcMXss4pJO\nMRAWmm5nB/k1TO9SYwzgCwwaJ0D0k1bN4uQSCmFTxQ8izITnTW58sJIGbTi2\nAIPY\r\n=XiKo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"565f03445fdfa2cc653bce8f5c730176a406e5d5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.e3b746208.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.e3b746208.0_1596752760210_0.5461715398016957","host":"s3://npm-registry-packages"}},"8.0.0-canary.96a640534.0":{"name":"@material/dom","version":"8.0.0-canary.96a640534.0","license":"MIT","_id":"@material/dom@8.0.0-canary.96a640534.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9f2082871df1cd158bd90410ebbde5ce72887b7b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.96a640534.0.tgz","fileCount":29,"integrity":"sha512-tm+hg0N6Le3PX9KdAbLdaFNMG7vpTKyMkbNs1H/aQ5F7UIs9pm8wZVlv0L7K8lql92SJTrnbQUaJEvQOHmQIeg==","signatures":[{"sig":"MEQCIHiZpmWAkw9lwQYs/D048S9rMtxBlEc7ehCycZVcp2JYAiBjBBn7Q42SChmwCS8bodeWmys1mZkT4VH+zQXgWXF6VA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLIbxCRA9TVsSAnZWagAAWhwP/Az4v8DVwCbLLulDxkPP\nKFmyQbY9XKBxc7oOynjcA/y0O4gbhg7T1hFEurXw8WG+XYAacEOp4/E1HETi\npv0425vY0s0O86Ca9uq/jSwtCqDKnO9pucMEEiPN2pVVnvgn9+CQloN6qvtJ\nCIkbunMAkA4fVsB7HcTok/NoS3p2njVgrnuvQ/h1e6nAT0GZuQgL9fgtJnfB\nb+c9ReZdGv02gwIur2OJPd1GoZtEFniowKYCcQUkYIgeKDiEGfoDnrjPuK3h\nnOr5GJu7ruyaDDFzpUlve9ZhcaSgpROuZqItCpT4+658wL9bqpKHspO0DexC\nfsYIXoaIcKKVUauWiCwFkl9yCyHf967QGjdINRivos7hlVnxWfhSqaOIxcFa\n7SPz2hx2jFK+qo+UYlQO9RLCAkmicAbw084LAVHwwGcikL3o2bn3eCJZjhjw\nsxsqdtQt3D5xLZIGY6Tfg9dRGQ3XQSUX7XZlXZJ9K2Jstar6tX+Aui71uxC6\n/8pkNdHCY9kMOAPqsIAkIfZd+gX8twLbB0Uf6XhPr/uyIQJTkWWstMbC67xT\n6TSWs+C51h+IULGYJKVYWReaPC5svVLjm6R+febi6zUkBTXXYjoyi6qL5inP\nNrbgLqspmu8O52EoypX1MaW+iMSXoR0O0U4RBVqZ3ZJZnVbpP80VBS4q66v/\n00PO\r\n=UQwu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3363a6ead1437d646dec8eb21cb2d5c5323e8986","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.96a640534.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.96a640534.0_1596753649385_0.13057376774253626","host":"s3://npm-registry-packages"}},"8.0.0-canary.9f9aac825.0":{"name":"@material/dom","version":"8.0.0-canary.9f9aac825.0","license":"MIT","_id":"@material/dom@8.0.0-canary.9f9aac825.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"08f4c73d03f0c0df4398411e5af81ed4b8126801","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.9f9aac825.0.tgz","fileCount":29,"integrity":"sha512-Sw+krpZG0osoyFmw5qtne6SXaHYDVlETa5wFRRdJYhhPDUggxL+WNdlf0rqzzzwSlGjb0rOoBgnuE/+WZOPxfw==","signatures":[{"sig":"MEQCIBG1XR+6zmfSVeJpytwi+jgOIl+Xh+8DxlAgRafBQTh1AiBdYHjF2t5QkRgDVjlYtGK8mZ1rSqXGrHrj7erGGewqyA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLb6hCRA9TVsSAnZWagAAO+YP/0F7eSb/QtHH2TedGJ5L\nhjHdNRE6XPjnf0uQ9rXjvK0CL/EXsijypidi5ZSUl3O97RMJxc1LnSKBC9lh\n9KqfhWRVUZOUrFHRSAOrRhc+Ngvqhc8TVs1bvWyzvORzxogzTvZFWxtw94tR\neQqtAdrRUbpu+l0ScyEZjLr+QYceA1EitfFHxZexi8YY883bsF42SaFEpNmc\ng2iDZ95pvrLXTRCJoatO9fpyWaHQzJ/oVLAkfixAhYVd9Kg12eGXbL6ou2Q7\nbXmqAgaE5aH5k1GXsDoM2902BzpsfPy+rTXMiKkCuRbz1ICcCEzdUEhIJ0D8\nMGEQvah1LzDDXbPHr+rgPVz+pnyu5+VLyABxCt0V0e/iCRFIJsNfY9VKwc2z\neYYwieYbWKt9dPblDz9rkXIjai6e7dpZS71t3znxHj3pGK8t67Qx6yHIfZX6\nFT8Bq369QWLCEQMI0X/ycivD+lZw1OXNTscPi6NBk7VPJP3uVuVd4bAi6jaV\nFUt04BkooR5YK1Kz2QlYhBEehGLt2c42UlQ7Y4DhPJwH9g+JapmJeNHTFHqP\nhwSS3EOlrrGwLRMZQqaRifPQPF68oHpfn8C6VpgvX+EpqK1hg7swnPKD2LmX\nv084kkibpmryGPPtZowQZePJhFs97G8D9q8fbqhe1fbaNh2xHgQC6KTWsIaK\nOpzL\r\n=kabg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b417a722353dd60a63448761d24a06d325b83f7c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.9f9aac825.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.9f9aac825.0_1596833441233_0.6567494444672706","host":"s3://npm-registry-packages"}},"8.0.0-canary.fc65fd00b.0":{"name":"@material/dom","version":"8.0.0-canary.fc65fd00b.0","license":"MIT","_id":"@material/dom@8.0.0-canary.fc65fd00b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e40cf24779b7b5c8f78f4829ee6aa815063cb6d6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.fc65fd00b.0.tgz","fileCount":29,"integrity":"sha512-exQYIxWThtnbLbfZdBZL44hTuqR9HtaYVVT0Fz1LYtq9sw5RSKYVW0B/89WADcH+e2Ytz4kVleEYPA0gC+AcMg==","signatures":[{"sig":"MEUCIE/FfK6Iit0DnZ65JjvfPIygqIZAE/WOncKAcxjS/3RXAiEAtYCFuzTdiSSP4+L8E+px/IClIO6QLwAz6kO+HoCFR/c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMWWLCRA9TVsSAnZWagAABYEP/3k1fUxERhPCTymoH0vc\n6n5NEr6ww7g1iFVTpdnwnxW02JIv6gd7Zhgk2hjYoW42E8SQ1w6FK+a43mcW\neGWC0k5li1jG/ZDde87DwYnSsMhRWb3I1ae5nnmrDXSj39og0h4mMHGq/vbP\nAzH+PtCyLYSifVoJWgM/3NwbwDZVayo/5SaxPbPMSrsmwM0d+8ht9ab1vhHt\n1tsx5Grjq0Pa0hLNzgYcYh7Ov3dGC8qg7HK26XzhYdaCITWpQQSJgjsfzKQS\n39beJVyl1O+JhushAw6IHcPcmdA86qGEGXOvi4MWA+Jd75yBS0QgoD7B9ghX\nvIgzqnaUTKmvsTjRc951mdWW/OdwPgyGpU3eDFX+oXaAT6B8nBjjWjPgSgm0\njGiAyGwqmRirZu7QXO+cMljA2xG+O1kfqcfkuY3nRTvrOuhiHx2V3vl3G6bF\nuGmpXfJ1hd07lcU8NqLoiz+kY8gOiXUSJDqu+eLjD8d13Z+HVvpTNKnt8aUj\nJsd1LmExapjq97LTaofTPvJ1yaa7iCV5eK+AugAvP7r89wPnl6Rd8IDRWji7\nWuFCEStuq2P8xZb6iEUyWTPMranPR+ReEGB5eII8mftr+zFsDw6eY8sEXnxh\n1NW/LZ/puUIi6caDC6nLsTnHHik41utKeU/nR7xyF4Q4v9VDf4cGUW77fPD3\nQbsZ\r\n=/MVZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fa39d9d1e753796086537bc71b6fa2d2aa21a3c5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.fc65fd00b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.fc65fd00b.0_1597072779463_0.5781121391639938","host":"s3://npm-registry-packages"}},"8.0.0-canary.02e372c5f.0":{"name":"@material/dom","version":"8.0.0-canary.02e372c5f.0","license":"MIT","_id":"@material/dom@8.0.0-canary.02e372c5f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"81b47b719d7a631a5becc9d909902ddee5b124d4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.02e372c5f.0.tgz","fileCount":29,"integrity":"sha512-8q853q/UtyRkgihrZ8MHTujmqWjlCGfz4zsiyUsA4dvcqUhbnT/0sIiYtMGpgsK6Pn8ydyvBJGDjSf6QAuriQQ==","signatures":[{"sig":"MEUCIQDKeCc5IrItzLEUsvOyD2+dPfW6W42/tP2FAFhao78g+gIgEMVWHmaUjy6s/+u1GebnJgHNhK/L6VmpYHDzFtO5MII=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMWwgCRA9TVsSAnZWagAA13gP/RBFSmPUSpUdRMBC9VU1\nPy+v+uLHfs+e+3/Lj2jEZFR2L1eW0z7qulvlPXaOaG0D5JeZ2nTzUdYKGs62\nOYnvfxEgruWOhtVbAB9t3a6K1PIHCiFCO1cX/y0/enJIV0ZUSC+XLZuog//E\n5oegOgbkv+a/T0ksZM6DgKPzGftRcBdHza1lEQMzHcChcCYvxWlTzywzskZH\n4B6ntH4PrrYgSFgaARNGAQRTDxsimNgVYg6GFI/o3Y7yPVmdETL6FB9rLmUr\nxPdxSZbR7WhhXDetCOpe1QT7jPLxBnkzcKr5iUoaZ32v4stBFgk13X91sMGD\nEBUB7RWEJU9uJZx1z8rel8YJCXiXNXkugy74owReYsjrIU7m18biFN2zi5Vl\nGW1jMNRNqfZAEeZxvQFPg7osTl2Kl/LB08RWj1mzUbfwFrwpG1Fp5zoF9oHc\nQZpgDkQYYEYsMORmtlhdm0AYOlQu6nmnXujUXXlz8jjC5SwxoMcVIjUVdzeZ\nAa3gFPSZNWWThXQHzCx99M7obSvn/GHtMmMACD8EWGGpXA0k+GscF+LFJ0MO\nhCe7Ym46KzJBV5pUNz3VIaVoiQMzJBpaKZWOvk+SPXDhH2y6IbvEFHGopAmx\nfoq0FK7u+3voeDO7IKODzqO2cykWEj0J/HgIR+rM92l2jN0YJdMvuDCKEMRT\n2pSX\r\n=awPQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b765f8699fe12742bc2032a8df7cc23807ec94b9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.02e372c5f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.02e372c5f.0_1597074464260_0.45094551397155525","host":"s3://npm-registry-packages"}},"8.0.0-canary.66669e3b6.0":{"name":"@material/dom","version":"8.0.0-canary.66669e3b6.0","license":"MIT","_id":"@material/dom@8.0.0-canary.66669e3b6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ca4b1e920a11eb80d811dc981fc817d5548bd7db","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.66669e3b6.0.tgz","fileCount":29,"integrity":"sha512-zCtBpWzufmZVB6ommC4VE99QV/vonenfxTJiEuHP6Nqtf6z1VCkkf85DSSMcigpXgGcM/8/s1PFWAA60KNGk1Q==","signatures":[{"sig":"MEYCIQCOAVCCz2//XMruJreAtJ4jtz8IF4/QV4qfdsK5dXqAswIhANqRctulwMdOfzi+W1nt4/UZlBvd4tBK31U8ZVqxdInD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMW0YCRA9TVsSAnZWagAApHgP/2ZrK6nUnmJdj9YOxZu5\n5dmMJpdWyWjjZZINynDs7ROEj1/+NtqCVe/2VVq3dy/Hd3mVr6TR7n26w9GY\nAPljVEmo/ordX1IKadefSwxcZxBSuSk6cBQtmoXAMEtHny68N03bka5TSHxY\nI1ZRsqqDgHs89BiWW+J+7CoabOkB0v40wpIQpn+zjGr9X1JaddQx1ochbQFe\nhdVHIfLopZOZtCSbE+5ALrwcjUHKFOQwsiSNFj1XsL3OnKob6dc6A2VCCrCB\n0OkVHGBQMQrfLd6mfEqQlDMWcc34oe2xrnxi7Iq5H8Nqeaojrb0/o7s5T5Hr\n7ZbErErrkvldoavtgLlPwrZtlLR42DtAYc4ffGFLM+hbKlP8w2gIxBrvgVlC\n9HMA60G6BBzrfFgtm1w09Zk5f5dT/CUcm2TAzla4/jYl0Xe4yWx7CcOFj4px\n1qvZMRroY/MSZzduwIWa4YVQobsNPXTx15blK7Ip6DLJjClihvy5HkWxb4wq\n8MXcAi9Fv9icYfrJHWfUywwWKV+I8cbLS4de02VDaYi0CGknw8q6Cf/yXGlK\nkDTEvtIZftxZgtlDHWdtAzPWUdmR6WOzUC80/r0c+gBlmyRpXLMxpSnW57ne\nQ5OE8Sp4ffR5S6JtvAc/+akowK8uctWIr50gNfioSrKB/gBE+mevhWQIUDge\nBScm\r\n=C1qQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"96a6a7d492075777ad5f7692328b3bd50153bd16","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.66669e3b6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.66669e3b6.0_1597074712242_0.7831237485078599","host":"s3://npm-registry-packages"}},"8.0.0-canary.6d1ea9761.0":{"name":"@material/dom","version":"8.0.0-canary.6d1ea9761.0","license":"MIT","_id":"@material/dom@8.0.0-canary.6d1ea9761.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5a554e07fb0d03e638d5184948d92d747b88c8d4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.6d1ea9761.0.tgz","fileCount":29,"integrity":"sha512-tqQQh9HqmNHV+3GNxCSloHnmQCtrcJGBuYxj4MZzj8YZCPo34lN5usRuLgda4lued2BqZ0W1aveDS4nNMwgTIQ==","signatures":[{"sig":"MEUCIEpCWkAuSp22W7V1wksNQenNU9KdzVBUyI1602nVnEw/AiEA8ozW4mJwv7zUmnNikBq0Dhl7sNqKkAAvIh2w3nVvcQw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMqtxCRA9TVsSAnZWagAAHOAQAJIh6gqxA3txkf7nUkCM\nMIf+jfc849LOcTb/jhx29jaZtjynxbEhsUoUJzltyhnNpoEox79FEv5uyZGB\ngJDTnis/ZcynkUoj+oPsKRIIikstsaTZE+GRhwzpQarP+ikUZ7264hkfIg4F\ngsp81kwRdQ75uEljQilQVV7/7eRQK4rnYAgNeyrIXhqi2lJYOmbBgXUmDdv2\nQK/L6keoI2Eg3O47Emy2ocWMMwzLpAUlfv4J1/nigUDDwFusU2zNgE5kdD5g\nrLUC8DJTw8i4Ybg5uanvi1cG2urLGEpv+AyD/dOs23YXlFPpu+6eO7krMZCn\nOawMDSaA6yL4Gb+2IfLufpBNLRnARkVtCsa1OLX4+ItXFhtP1Q3U89U3WXCu\naOpLZFsU7oZe2hVvU01ycfDrXYlor5jUH8wQM1fXmwVCR1C8Vyiq9dL5MO1O\n3CZRh5ji691s7mW24zpm4JoeRcO90xblh+aYdyoOohJGDiFoZ7g1yWE2A18t\nWmHKuYYlpJffnfJaQOfOC2iwojlMQGtwM8rxJvA9Pbqvo4eReFvPiXwB3YHe\nufjze75RRAbFeLiMgY4p45ZioKB3m+IBP7QQYH2mg6mBHMBmCHxD2/qim7s9\nZk0xePuK5dTBsjkZYm5nS+1BQZ+MbLApJ7rub5mUeAOZ8WFXi79IjJ0WiPwv\nQOFL\r\n=IDxR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2539ff1cdb03aaa0365880e59b2705e6f6ff4229","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.6d1ea9761.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.6d1ea9761.0_1597156208922_0.2730201966406893","host":"s3://npm-registry-packages"}},"8.0.0-canary.79414bf9f.0":{"name":"@material/dom","version":"8.0.0-canary.79414bf9f.0","license":"MIT","_id":"@material/dom@8.0.0-canary.79414bf9f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"34cd316e9e8d98145058d87f967c143f3bda1c0d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.79414bf9f.0.tgz","fileCount":29,"integrity":"sha512-zoOgr6DvNsyQ9tE2k63t9tJtzCvbT6zx+ZC84S9B/Ec1QETB7yrhOJFGFFCaiwXUBvZMJbqjekj0q80g/viX9Q==","signatures":[{"sig":"MEYCIQD3SjdAKB2Nh7cSGpRpC/XHPhxowj7+YRNfio4C7s3xWgIhAMMHMsQEWUwzbgd6twRAlwsWwjng+ESvLBL/PKRYHH4G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMurpCRA9TVsSAnZWagAAiVkQAI3kSu6TX4MHT1YrYXL5\nRtdl4/r5XYAHRhpuzdlIhp14ODOZXSAOMXuUZVMEBCjMIYfjI5xnwgcl3bmQ\nJFuu7oZ2uRLqlHZssCXi+VsKCLDB1opqtSqvKwRw7la7WDZbYRSlt0YS0+1t\nPPiKghZMd//2vNO0RS837aYznj6nizYermk9VXXMIr/g9f4rWNcXy6g7FsfA\nnNzS3FWaGatpPW36RkRZGhl1YrmkWf4gi0CYL6HADQJV+Q3sKRlW4ZkQ6h2y\nJ6MM6wI29kc2JYB1p8YsOQewiDGQ560IPTGMDo/akdoq4wVS/qEs9KxOKjgO\nAeLa17axC4ZgogH+Pc+H20bmsAq9Vh6Yrpgyfq6HxdaVcuwhHVm6G7zPp5nO\nFRADh+dxRIsGsRD4z3mKvLmAPW7ZR3Zkgzm0+5DTjEmsQn7Zq1LfLE33NaKD\niXhysDqV/bdAeX4/9jX5vwqdPmSy1v/Dj7L/9wOxYAyfnBlc5udqdWsbPy7N\nkj5VgvaK4uTEWLD5JsWKVTItM1GdIewAhyt2knkYQqFF3bgYQfVEV2IUmIFn\npIDW4ZC5mjAimUb/Oyv9fTa79olGi9S1DyMW1TGFjuVE2pT4jUYmaq8wZpcR\nYtrKKM55l0rchkOQBOBrgMoh3DOIkBVbFwTeEMMOLcsvy2xDhv8NslA3YRJo\n1r1u\r\n=jN65\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3101c6ef84c1ef8d9afdb44b6b6b3067c2f5723c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.79414bf9f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.79414bf9f.0_1597172457522_0.7330519443525614","host":"s3://npm-registry-packages"}},"8.0.0-canary.85a5272df.0":{"name":"@material/dom","version":"8.0.0-canary.85a5272df.0","license":"MIT","_id":"@material/dom@8.0.0-canary.85a5272df.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2eba1dcff24015d064bf2c24c2d1a90d7c2f59de","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.85a5272df.0.tgz","fileCount":29,"integrity":"sha512-0IclV60FiEZPwvXuzn0evgkkXd5h06cU5sB5p6b7scan/uubjCw62vFppryyEfA9s+pA0R6oyal31wfPR39hXQ==","signatures":[{"sig":"MEUCIQC7y78E+UonUPSlnMn1FXR7OTKWC4x7pkz6BPNTMgrOUAIgFHRT+mAmFFD41RloRhALrusnBVPxrMs08EepfBNH20s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMvp/CRA9TVsSAnZWagAAXioP/j3tBTVI1kSQE+Df1p3o\n7CuQLfpGkNjhIVxHj1JX1ZBYgT61zMQuBgLxy1i6O7+QdYHzeQlJb9cZ+lYv\nWU/oYohR218swHXxNpjoXfrrjydYfgPZXmWSQEW+bqOhYCBD29Jiiolb3HBp\nR2tmQt6TkrehmLAopFL9nXpBrstFQGdnHxlRQDISuIg+U4g+BGSEy55bFvY5\nEYBZ7w7NZ7HfJfXz63TqhMmLaolnecnlR5O+QyIAenTK8AXGbM0xKufNGBnf\nMVK/Bjzw2HVf5x9MZuwQbpVb1qAIRocS5Zkik6x8/i/dvuP5Q9WofJ1qy3aU\ntTnBmGyz5KNKQWXWwTZXRF/pA4/GnISG16/qLiUG0CiOF9z4L7CW8rZV2KfC\nnTW2L/R3mv0oFGkTzI+qy4PYlrphF/BKRF5XgQ5BCCObW1z0+I3F+lX0eDDu\nk6u0JP9ywp6/StEwvXdenBOxsxvtiJFdO4JwwvaTUmsKwqxiw7mQ1qrVAxyA\nlkC8mybOc/IVRE2kT0UeLyDcOYvu9dp+BOj7PHZQ8KT+04UHPrSzuyi3dJuh\n9oahO7Wp7VKANjoI5UEGw8HsNd/AS+2cfXofa/zDplowhSCp6AKYrur3xRiz\n59lMJu/tZAm7GrRTmHv6pPaIoJveKNgs1Pqq/oXeXxduEfgGgIDFmkxHaz0Q\nZHGx\r\n=/2ck\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"070016d39c8d62feb1148d71182053d37bc35fc6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.85a5272df.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.85a5272df.0_1597176446496_0.8980081093136643","host":"s3://npm-registry-packages"}},"8.0.0-canary.fda053eb8.0":{"name":"@material/dom","version":"8.0.0-canary.fda053eb8.0","license":"MIT","_id":"@material/dom@8.0.0-canary.fda053eb8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9c118f68fca45b919302e90912c095a774c51dcc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.fda053eb8.0.tgz","fileCount":29,"integrity":"sha512-MfY7U6uulqWMNwbX2RP6RkjEF7w6W+8od/p+sIdnVlnY1V+wk4+y/UihVWMPjzGN03kettUysw6PtdvpYAsx3w==","signatures":[{"sig":"MEUCIBY1VSq5h1X7nR9d2TN3HPdUfemphbPDt71OFwuZ+eGzAiEAi034YytF96H3k5NCMxBzBf2wjtMIXjoxJx6N1Wv1FfI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNEsMCRA9TVsSAnZWagAA/4MQAJ8LBahsPe1iE1klWqM6\nyBqJbgmUYkq4z7XWbd89osuHepKTdR+PswtLXlrdjn35Kp/2jPI6AvftZEDT\nMgNmN/tYcsrEjURXUGZLlLxmHF4JvQvvblt8Euf+F7GAL7pLUCtD7o4igRxP\nb7sfQUiavkxNs/p8a46adAl/YQe4ir3RRdh8Jf80i3wnjLbPVDqdZq+soXKu\nbxNnmM5Is17fLQK1PmVJ9CQ5XFRNhy9wSbpsHg0Qpse7kTciO+2He+lMZz2v\nlndpfG5I3c1CVo0TvNQ40RM3nUj/LfryHUMdWPPxfJagG/IwfNQERMe3m/CR\nsiati/uF2w5V70GmRBdPe7AZeCFUuX/E5IqORfVOVDJmwVfOa53N7fDdyeLb\nDlM9KdFlF6pEZrtaYRgae4StGZQCM9GX3MonXNigfULkn8VOJtFS4KRT9lkx\nm7wXr9csYvSyZCoiO6bsiSuCwGruGW+zz/lLlJ6ofzFiHOE8DkmilsLd9AA7\nTk6ZYOctcpeAoTCT8QaYT0LnEiklSkGz6ZHjvBtDIQNjptPEmwigOiRq7U8S\njdeUnhQ27N9k1eSC9H5vjOzFSGkzDg3Np2IO7CIUPelQFLLDmSw/HU0l3Mdu\nZ2tuhcCbiajWh8quVIGNKHvfcBb6R3fg93GswgI+Z9THX3sZ5pY2iO06wMku\n9aBr\r\n=5kY0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b92b594784940e2fbd248c33d60198f7f2e0ff71","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.fda053eb8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.fda053eb8.0_1597262603489_0.7590346794611433","host":"s3://npm-registry-packages"}},"8.0.0-canary.760873445.0":{"name":"@material/dom","version":"8.0.0-canary.760873445.0","license":"MIT","_id":"@material/dom@8.0.0-canary.760873445.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"523a967ade77e454a7d76603991e50d2fc4cb114","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.760873445.0.tgz","fileCount":29,"integrity":"sha512-oObmEuT97AZY+oGd3cDk1Ys9VVQ6z9u/Ju0T2ZvDMA9sn1qgiQy7CCHNMgrk5nvVtGchmRilYn4c6qKtRkYmVA==","signatures":[{"sig":"MEUCIDaS1cebuW/8Z3qBnhP6EFVVcM5fws7cof3S+y9NVkarAiEA/3afMRfSALThyDvI6SKAVA1OBy+GrXH0q4dt2dvrvCM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNGJGCRA9TVsSAnZWagAAZ4EQAJC6wyFdfGWYI/oecGHq\ndGvJIM6zQCULMc59wTcg15qks8TtGlyfF7KxMU37sW6v1/ZTpLkKCk2WuBfg\nJ98DoGIEMCMCgZqkk1191KLvR7545pjsGhK4liS0zuS4RsvrW2qJ9rBJqo2A\netIwCECpbEGVDEWas5B6VpHx7+FS+r4CQsIcTXqb8/HNWVJ16Xm9nrqTVVsl\nRhgA+kvzsC5Xh/145OcXUr8EHsZrl4Fqj1BMo+ICWRnMGw+Q67MzLOJJK3Sx\n6A0GCM9NMnLo/cf9wGF9SEJ2ABguaosIi9Ocugu8ku1tr90GybDVm3sdRCQC\nFVpN7bSuBR5LJGSpgcd1KLP8SWUYzdNGaQIY/fA1H8rlkBIqwiq9V0F13ZKs\nFcq3mGuMhRqAx+CGxwzNTUeNPPMVDlPjHQ2MVuR6DH1ANyW/vLp3OOoxgBL5\nHoSpiKu8b4Jzxjbnl+2wU9CsQETJ5F5IrKi0dP0aDLVs5ZC3U8z2sq05owhu\n++iiTAZmKMXlZdMEa+ZRqsKE3pCpf0iq+EmsqD3Ptch9Qyxyx//QZOu3wXLv\nWHembi4TanZz5nwgC0kkXTU6sdS1tf3qgv6rjvChRhmGoZCTDqE4op+Bg7Xs\nsDUzmh08TLHtHUnGBV1hXwmbqRz/qZT9/KRh8be0AkOh+OrUky9gGeUSmRQk\n/cou\r\n=3NT8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a830629b92051950e9e15bdd288ad87238b7103e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.760873445.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.760873445.0_1597268549882_0.3791364703946103","host":"s3://npm-registry-packages"}},"8.0.0-canary.2f4711a30.0":{"name":"@material/dom","version":"8.0.0-canary.2f4711a30.0","license":"MIT","_id":"@material/dom@8.0.0-canary.2f4711a30.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"212668f6b85216b325feece2a88523d30330643f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.2f4711a30.0.tgz","fileCount":29,"integrity":"sha512-ieZlldVqoJqta8JdN/At0sVgi5lg7Zpip0KpSKUKHdcTTF2rFGpg35n5THR10h3zU9X7tEFuE0xzU6e0zlRe9w==","signatures":[{"sig":"MEUCIBq5I6HJdco4079eGfBDIbtq4AD8M6mFEEvdy/mge6+KAiEA8J1+9Dilyd4rYhXuAvhgFv/k1blYTrVd64AO1gyt7I8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNGSeCRA9TVsSAnZWagAAeuoP/0lzIMIGWOQyhXiYoOIH\n694QTFLPBMMmdqQTdx2NZ9x5Pzta7bJhTVcIPGB7lai5muDP1lHa9gonO0pM\nFQNCsDUUtt10OICNMVmlgaBY9zowSWulJs4dmUdCwXzjh/jtwwPFPo8BQ9/e\nKW2H2aPxnLVgsso3nn1oywqXuHTEnelfBoWVO1wZwpQhK1SLCyg7jEAvULSH\nQ9IvKbb6sAtR29f6122XFHtNMkJ0DXBSE596+oBXNssoCV1kMXL2/Gd7gozw\nyQb+k7I1sPsGcp5+MUSSOXhzLEtSVZYs39E4Z5Z46G0nxPZkjJQO0lFs30v7\nVPicNCxffZhBamguU327tzG2Cm7IoKUUtUUQxYD43rcl+rsJiOHlGD16RbTa\n99EsK1Qu2Z9UeDphSWgLeHqILn37hA5M1GnuABHbGbjvw1/jPBERflPRHBIC\nFWrie4UeCw4jv+hv3WQ6mNYuZ4uDe3PHh2239XwRF/Xfjk6fHeUNto0WYsu3\nVpiwgi6bsVl01ehwWkKYxQZvs8xTNgdU5FusF3biAbjIB+FxkrH/HHePMAlA\nRfqFjxxQ2rpItPE5ICabaJbNlJUWN6uQuy9TKEJWHZfFJy+Ew+PbfKI999zK\n/rgAbWlhsZvyrK9UzjH8qIQKU3YsTMSj2dJIXa622mOsCp00wsfUlay13Oi+\n2N/L\r\n=vzC0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1347e5c15ba848f3525dcbd08fd0b11061e94116","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.2f4711a30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.2f4711a30.0_1597269150044_0.6544778909299203","host":"s3://npm-registry-packages"}},"8.0.0-canary.2d72f3659.0":{"name":"@material/dom","version":"8.0.0-canary.2d72f3659.0","license":"MIT","_id":"@material/dom@8.0.0-canary.2d72f3659.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c4f25f33f1f6119a9825f338d09ebcf059cfc1fe","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.2d72f3659.0.tgz","fileCount":29,"integrity":"sha512-EiLaOgD/7KW4X2AwzpVBrrv7xiauIVeeit/Vcflt6/PMLz7yTqoXxeH91Iey4LweXT649QBevhhKacWHsKHpOQ==","signatures":[{"sig":"MEUCIQDgXiW6Gpll29K1SwegXsibBgGt3uzXU+/kTjMuLZcvMgIgQG00LNgZVUMWjT48XRA7yvAaGmtpZkN3OfSlz7AdEbw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNGZdCRA9TVsSAnZWagAA3rsQAJfApuDVkrUim8SVkmVS\nNL8QnvHvZoq/c5DOf1XknY5TO7phRT8fvOJUzdBR3y1iebXryUAUxg5TpjOk\n2Faw/FU7j+psAU0Bcl4a852U5qELagRJI/6csBnGh1/yOSyuqrhgEpGd+aq9\nuO8ya2v5HiYfGUrBFQ2gTt0PDX3ystP/lxtpNyEru+elva3AZPyzSR/zNO5K\n7oU1HsYW2Ua8Glnpd5BtWD8SC0ZBn3ohAsLhdLtUzPAo4xudhU5AL0Rn0yyq\nRqnMkw5AQTpwUCEeDJ+aYpfkyRF5Xl/sK++3ISKlMtE/AhmhzcQxup7pfeTC\nt3IykbCWkCovEsVx2AFS7VEHuaiNjqSC8OxJogu4KxeyRswzyG6pln+zB4Df\n9YGZLZVyyPmlRrZAIhlzH/C425CTDr2UPify+iJplX7LyvLemYI0zbtABLJ+\njU6XGO35JkEnU3rJd6heIhSDLGRegxqtfADE3YpIUzupnzyUt7KWEgwEDPls\n1ue2WNP3OUSnfTr07atWgE/wi+qnCbZtGcbkhatLyOToFruU+2epuq5xNw0l\nqh2k2uaBTxL6RW0ZKEhZawYIDPytY1Ek5sj//krhfChK55KEhf2mYE3nPK/f\nL6E65PKREQ/YOFL2oRhUsbbnKOoDtjLz23BQet9x4BLpdy/Dz5zRB7lr8Eqe\n4Qxp\r\n=uig/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"de40c24a4d850a3bd4269dcebba821d972e01c19","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.2d72f3659.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.2d72f3659.0_1597269596333_0.5036401341703207","host":"s3://npm-registry-packages"}},"8.0.0-canary.1fee70a5e.0":{"name":"@material/dom","version":"8.0.0-canary.1fee70a5e.0","license":"MIT","_id":"@material/dom@8.0.0-canary.1fee70a5e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b786cbd1e2707e37f804b8ef8d6cdc9ed67ca33b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.1fee70a5e.0.tgz","fileCount":29,"integrity":"sha512-LkhyvkGXt0FzQ+A2xewQv1uztWnSv267nFyErplmFSCF1EY0xYGBh6CmPpAc9Or2laDmbvJNu5QxJi9aHyC52A==","signatures":[{"sig":"MEUCIHd0LzsBS9Z2QH01N3lDUrgqin/V/52RmEzNov5y80xmAiEA246L7Chxp6zeB6i8UIZ8AjNkIYjUREZCFeILKemOlWU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNHr+CRA9TVsSAnZWagAA4PcP/RaqMlQyBy1iDSYKuY9Q\nayxzJBA1nlfOfBhk2BzIYA8RGKGHRUKG3wEjAO2+1/66IVC/SG79qeCkHLTT\nAN1zgSw24tbhsx0EI1BI3D8QNLD0bWHb39kBwLTSDJ8HstjDmzku5wdTrLXb\nFTOG25/Otclkd48jDWFdcOLxH9wZCZXaxDoUxppHWYd73oFSIy1zRkpdsoHq\n/1g+gBDc9Gen/rqHiXnKDucCqXPNk1E4X1R1Er8e6VErPeZCuo8Y3umF5oUi\nkx+kCffrXhYE7xYmjFLEoFVesq7xIhHMiFx6jcP8vvYDsaGWeDFApz8OaZi1\n6XefMUyRE3TBfUkxHnp/VaBPgJBCp90C3F+A6i19zo6QV7glxGuOrq5gIHwU\nCnTwqv5/LAmLpvlJClYOPHaozjfz5fyGZsHQhuZ/Z05ZOUK/+tBkupDZx65e\nSxr+FzUYFcqFauo51N6rhowv6sZBpOriq086B98hiHSyq3h8lX5Dp/Uq2rBJ\nQw/Orz4MEEY1sr6vK9VDywbeSpIixArvsIs/vVZCK+TmT+IZH3U3913aAg97\nM3IjmUopk/WmILEQXf52HSQpieScwGzLvehI7RCs368tK+hovimIN2znbc5F\nKiu7BGlsXbFmMCHiorMaBZJTAXTqVvw6S1SFsmenLLGWJ46tc6nL7sgbI2sf\nvE10\r\n=rjVw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2e5eed4b73395e9cae47d93ed6f34f0dc0467c28","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.1fee70a5e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.1fee70a5e.0_1597274877661_0.8880221485300799","host":"s3://npm-registry-packages"}},"8.0.0-canary.023f3fa34.0":{"name":"@material/dom","version":"8.0.0-canary.023f3fa34.0","license":"MIT","_id":"@material/dom@8.0.0-canary.023f3fa34.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"29a460451360896e6ac9b954aee9cd97bc874a65","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.023f3fa34.0.tgz","fileCount":29,"integrity":"sha512-84me4JbkY07fkPku+WAU3iAWK8CuVfgcj9tCMVF3S4PD90Cpr2v79FTyoYQiU7UGwO5N4gDVI9wLxfOFkhJofw==","signatures":[{"sig":"MEYCIQDqPUthvB8moltKDFB4M2ziuIVip3ducqHwkrfp7mIA8AIhALr7JELPszyzae9w/ki8MWBHErMozja4oXdrcQjMidZ+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNJNICRA9TVsSAnZWagAAngcP/AuAvPsp91dSjpcvKwBu\nr+uIk361vuU9QYI7CDRMgBmhM2VKYkXU7e0GP7cnENunbPYvRdcZgnzsaGrz\n4o5NLK8vObRWq/lyVYPhXIjKYNbhK7MkSdBfOBiYD/NvkbdKwH5KwR7M/B5v\nkCJL9T2LoADP8F9XHziJ1ydZnuyZhRYVRIHl0vohEU6UnOW8uQxM5Y4+58EH\nA8N4sKu+E3JOUhlmvwWhyoOrPBqsEhtzburnYJCCZ38m7MhIIgh6MOe3402u\n0iIOTIoJKecHxHN9gyFzGO+zX4hAu4bo4vocpxi/PBTJf6AMjk3TUxjRV/UX\nybGHuQ7eZ7DqnD2LwThrf7R1+YN2AwsqAi0dyy7myG8kaAuHm8UNt/krvkkL\n69IcshWBLTBh6nNdABf6SZV69yvvMqTnd5aD2bmcwXpFPxZwN3ThG9FUEkwq\nyGWXLjkXRJhtwvjb5mrIap31PUlGqHSE8Cy9jiCGWsKijWdPCQx/+hI2KnfZ\ntyQVkjYXbl6vIvpiGRO8q9LJ/hZSxd/CXPH04U3WBEVFlMrtAfvmqBLpdBy8\nWuLNj51b0ge0171AsRz0kgLcTzxr9k84vl2vxa7KnaH9mjr6r30It6BxRoLa\nP2gztQSR3ibA2wgmct3MleDMVUWgOxcdlYgraJg/jlB3vEEkAVMH70TkjROZ\nEpoN\r\n=Mw6i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1a6538d0b407fd8e7a7de8e39b4ed51bcefc560c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.023f3fa34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.023f3fa34.0_1597281095576_0.9593147408746221","host":"s3://npm-registry-packages"}},"8.0.0-canary.80f3a9e5d.0":{"name":"@material/dom","version":"8.0.0-canary.80f3a9e5d.0","license":"MIT","_id":"@material/dom@8.0.0-canary.80f3a9e5d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"29e58eea6103d6f60f7670583ec79ff581ce6c49","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.80f3a9e5d.0.tgz","fileCount":29,"integrity":"sha512-uVbPXqyW703jPTRzg7S0wKLkvtMb+Y5LowxVnPezU1rX9agHg3gTak3it0uvKDIBYh9STeP5FP+Zyh2VG6ak5Q==","signatures":[{"sig":"MEUCIES+E8/U/am9efF5VmKJVSkkgdFvhNNwCcyVGgInkGsNAiEA3o84epYCwch3qWKIlj32CR0xuRBAsLvskBebYShTQDE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNJcyCRA9TVsSAnZWagAAPV0QAIXrmY12owORNCuckiAL\n465MIfqWUUHD5Zzrc3E6yVLncrG9TItVDuAkkPiFjIwHc0GIw79aIYYO7Obl\nKiA79bXJrz6ZqHh9EQr1SFr7Tf5/ywdA9GlOSMpkrHYXvTbDSIaAlvNTXMj+\nwoP2oSYAnjqB36QX2hdTWIwpbvVk7qBUM3rsrqy2+boacMWAeRHuu1fDUyF1\nFtrbKCI4GuCWwyXnWq9H4pSLeI8a25P6UHJ0+TqQ8Uk59UVCkOgXBM1BsyQh\niQB6XXwIYTpuefTsy7QkHcmYAhrCJ4ncrSq9LpAmLkv3gIFpvfGUTXMFs11f\nYg4fXOMCNDwGiapZKFnwK4djcOmN1Za8XKFTDv4MSpQvcyrI5wkl54jMAZgY\nQnZCxNl82XaoOgrF+8M5Oloqk1bckkrZe0qeYl6s4mVl1/bATfa6/Oqwz5Ft\nLrbM2hZDBKbb/F5Dgp26hQgkwue/N+j8CuH/+7Qz6QdqSYesURxuSL1RRqku\nkDWOj5c4zLDPsT4ChZ7Q4H5+Sw6KcgAGTlkShcy9itXT4Iegr6Jn8gvmM4wK\n3qvBHcOzKeeldaWP+1InbmvgIPEJ66gAB9+SbqUdNJ/813R5JPYn0ZqgBk0a\nclh0CT+eONtIQ3eWcP0f/nkwhYBM0TqDyuFH7sbgA0P+RBcG85FV53CbWlFh\nJDFy\r\n=oItq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e47018f239b51581a67186dcbea3f4167f5ea3f2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.80f3a9e5d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.80f3a9e5d.0_1597282097740_0.27636355443126304","host":"s3://npm-registry-packages"}},"8.0.0-canary.a1dcfe97c.0":{"name":"@material/dom","version":"8.0.0-canary.a1dcfe97c.0","license":"MIT","_id":"@material/dom@8.0.0-canary.a1dcfe97c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"95d15501d43765cfa518f0e2318c00465fa4384a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.a1dcfe97c.0.tgz","fileCount":29,"integrity":"sha512-k3avxfmUj2kDL4LquRXtzPfmXnsUFr73BrrAPv/9SkzSl+JcHDpyVIqfDZQje2LzLvZV9XF2EeQCpNLzRpY8Iw==","signatures":[{"sig":"MEUCIQDWrbgZRC8aE0Lfex3BStXU4QABZM5LrEg1eVjFa+cAVAIgYgANS7o+5gZga//jOmBCeV9XENWx4FMpQ55CsElquYc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNP58CRA9TVsSAnZWagAAFe4P/itA0RfZTkR39L3KqXfw\n0kzvCsU8T5y3Xjd1xJDMhUiR9Huinn2sFDefOQ+VeuAbeJt+LKA5DgM6yTwq\n96tjd3HN/+6XfevaEHx11yRGw2mMWMWfFzU3U95TxnafN4fBNG9KsGAvAQGA\nbvluJTnO6H2uJeGUC+qGnifhpfGw4aizPCKDHCHh0RDO+UC9TVLpDLTATxwu\nlZkBOc9oqMvyZsozIOjsgXB7ifc22gjZg7lUC/9P24o9Hts4k4yQhGGRJm0u\nPlKTJ3d5q8/Yu2LCsHL3tbu3vWNUILbX1moixcItTE7SxceqbuuqwCEvip+R\n4YSgUfXZZGzfz8tV1riMQcWq3J3s77pgLIWvehSTt3sob6zSh+YnAH+p7UQd\nrigqlEym5AzMagHJBNZKutczhd09dQUqICd4MZZ2yoyRG0xFlp6SyNUvNuev\nMCcvTteNhlFtxvZTLVjhlDx8NQoSclF0YeOtuunSJgbad8X3P0nnvzRoLGSO\nend5z0tDBuw2BKVBjdsumzUfwvLHOSmLDffvQrzkckmWKzpk3bAOiFoAO9fx\nr7ovUXxjGj/8oNgXww2ZkvmEaTV7lLGKZmzEOVqMk+cRszX2qcoW5sdGOMrq\nyHmDMntkqw2RONRIzEockluYyY+uhQKe6/oEga2SN/mgBaQPyBI5+Gw6A5AW\n9r4U\r\n=+Xqn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8ec1483dd23463f0239974be9a65ec22a6b54715","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.a1dcfe97c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.a1dcfe97c.0_1597308539622_0.11731529741396862","host":"s3://npm-registry-packages"}},"8.0.0-canary.af332d5be.0":{"name":"@material/dom","version":"8.0.0-canary.af332d5be.0","license":"MIT","_id":"@material/dom@8.0.0-canary.af332d5be.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d783b2417dfd38a96382eca52dbd8861667b6e6c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.af332d5be.0.tgz","fileCount":29,"integrity":"sha512-EFUuEFGvhiZa6aEqBFFvSIacRiC3Guad2oGGT1qb7vC1ieNTeq43vdZtNF/LlWuw+bvJ7dpq4VNAKQOHiQqCKQ==","signatures":[{"sig":"MEUCIQC1XhC9l5f5jATWwp6IMEA+8rxtcqwQWsK7Uwc2/OnznAIgKPXZWCEsqIsfQiHV7gbOPdeoow8w1kyTIrRY9ikkQm8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNa21CRA9TVsSAnZWagAAYt4P/2GJnlXrQoz53FNA41Fp\n4Ly1EJTm5V5+qAQ142iwObRgHOi5gBh9WWuqBrUZpVCahg2/fN4VO/dqodvd\nBpBn5je9hHQ9eGHZLgDLXPotE3HwtwkSDri6k+dA8wz55Fb5JoV1l2mGwvWE\nUCl4UnnDOU728izprslv0tfCChNwEuOjb+thZXx95clDt9dlnar85HmKBRfp\nwGI9Aiuu6S0Yhm8Ca71NAKPqgZNlArMR5JgffDlxywRrzUau0Ci338fA04aa\nXDc6wUGWvly1qv0DG9AJMmflvRVZJuTguinM1i6y8Gt/Fg1kpaSrlOqoEWBD\nYS70LMbCJrktD5r55LEHPQy/JyrumcLmivpZ6QnKo+JOu6rkTCQmlDfWMczw\n0kbAqZweBj+eQwrCEsYL+au2hCDqX86evwTyfjvRADnMD1jYxzvhokmQxjYt\nP2ZWS0II+o0jNczrco/nU4yrmjFaRZomICdjlyEkJRx9DWw1wATtgl+Hc7nl\nPNfJGwkoPLLMnjdiPL0TkTChm8WjabUuJ/f8P9d5EruBFpvKiUL5Fi7x8Vj6\nFpWnmMlubO0w4eYn7VIQ1L0BbiK6fPnT7U0q88VrHRPE8oaFdEenaIV7d/Fl\nYtJBgdKfLQ8Dh/l9BsC1CqFgqhF8A5B4pN10XxLWvN9ikl7byCx3nfdQK4n3\nwinB\r\n=Pc1T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ecb675d071cb76738aea95a2d43ef88a134275be","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.af332d5be.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.af332d5be.0_1597353396359_0.4999275259405038","host":"s3://npm-registry-packages"}},"8.0.0-canary.7dd4567c4.0":{"name":"@material/dom","version":"8.0.0-canary.7dd4567c4.0","license":"MIT","_id":"@material/dom@8.0.0-canary.7dd4567c4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8577efc006d4b9deab27d2a32f1a3eef46ef495b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.7dd4567c4.0.tgz","fileCount":29,"integrity":"sha512-qmigAMTan7dnt4sSwLtMEF46je1KhAOiLsES2XaG53cIxyYiv51V7KqmMnHTdyK8MAzXB7tO3KsnjPAneDjdCw==","signatures":[{"sig":"MEYCIQDoSmX4anhgEAe0pglV9122fbIfpE3BgBhelsf6zhjQsQIhAIw5sTe6HfkEvjtoztGr/8y2jce7x3VcJ2Nq2jGNfWLy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNd/BCRA9TVsSAnZWagAAK7cP/2cg/g+lUNcVIv5zyGLG\nhq2c/qkyWit8+FG0FK81yj6cX+mX7RVM+zHXByMuCA2eZCb+3nVHfjNWhndy\njEP7q1KrLY3vGoXAAyd6cz3jJzd1GrzHAaY392cUCNcL7WW1F+GJIxqJkwvA\ng0KV7O9kYIzvfiqLFxrIgGdXt3zFjJaD9P/0SKWq0v2eVil28MMDT8R9xqqk\n0GFlBKbvFO7YPp0WWycw5PhDxAsDFfYzmuwmMvbwtP3lmkVgkQRlK6h7YR+C\nOm/xzTOwAd22fnBefFtubUXyKInidqf9FSmGat1lLmsMbR5aR8PdXXRH042s\nRHuDpWJyyiENHCHSZWv12ro9+Mgk6rYA0ks2NdiXay98OEMROKRQ0LgO+S8x\nLgM7QiESXzhUXIdW7hqR6iEV3xWMSW1Rmg0IARGPsL9xGQtMKkjN5cW3AUKO\nJy5JBAnSP4L9LXSkzqxEtrBWUUvSofZvC9WOa7IzKVS3tZRMBlsJxEjYEVu/\nFBXX1u80RGqbVUiqQFqFdbzJNmbMnW3X2TgHELHIcCOkwFyMUA6A3xeYnHTC\nmAvAM16917tGtMjL3M4IDhaiwuy4jWOykPMPTnHiNYaGkCQwsI8hQRzAnAuo\noyVeMWM+k17EjIIU7LLoNa00EE6SQNtMY/ll7k6E+TyNrGg6+fsSCZwP6reU\nPLBm\r\n=ce3y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"515ae143d426f0329f0a745e0ad35113761376e1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.7dd4567c4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.7dd4567c4.0_1597366208660_0.3076896505393949","host":"s3://npm-registry-packages"}},"8.0.0-canary.ff870005a.0":{"name":"@material/dom","version":"8.0.0-canary.ff870005a.0","license":"MIT","_id":"@material/dom@8.0.0-canary.ff870005a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6b5ac4cb3a6a469ce27c1b63973d68d712ec8edf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.ff870005a.0.tgz","fileCount":29,"integrity":"sha512-TfE1H3FeE4eVKqJ3YkZYuDFQjchuB89rPN7AG8Bu9a2Q9ipP+rdgIQSaejtYIamWHQLkQpdtVN7c7Qt61milCA==","signatures":[{"sig":"MEQCIDafCIwuSPWFIv7QHgn3+6cKD+xI5CkiALk8ndqLFo0SAiAl1PESQ13MJUfVYj8/D2c3uHGQr7VqL/1uNiT5yrv5ew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNeWyCRA9TVsSAnZWagAAlXEP/Rdkt5FuVWKje56uLI73\n9J5Ma+dytDuUpN1SPPYu0RRUcLywTPvkfOCZWS7U6lqmAxnnA9xeDrfCCjoF\nSPDBsiaZ9ZLSvFdNfCKNTaluTQjAKZ28cX3+nWE+SLVQgZmCP4/xnRj99Fhz\nYvRyjjXmZa9bC/Z44oGz+KdiPCBVChVHmtPbLVdAp7In9QEX2GE6EqXVU5Ti\ncBs4msKrBxMMZCqpgkCeZpAh5deovd7nlRWALUokwu9pvZZo4TPr61MDKXXo\nCIxCidnINZ1hT37u12ZQjZJi5GnM1Q9trlwy6rLBOzcoww5plJY+rvzfDqFR\n2KBPwQCWyufHcrVn7Ui7pUtmGidi2M9rdi+pbdlG4EpgHovW1FH4/+Lbl2JW\n1kwO9JvsInA3Q2UdwFu1kI5bUEUq0gRxR0+mkQBVlqnH43nOceQZWXKQmCzQ\nA3OT4VTNDkhKI/uHuT7PgxP6yIfJvJerxJ2ed00vv5G3iimq90PoVofjPnm9\nEI4xX1HCIqMg1xM2idqGhDOQBKKZQKYz7VOBLR3te95BRW6jb8NzuXwH4xN1\nuf7RaqhGGWd4dJXb2g2IKXf0zTzOx+x6CYzBKXrqNGplidPNMg8WsDrwee0E\n7C100VXOL8sxYUKK01UqO/UBdLX8wUkAgzanmYG2nwkTSRL9zlFwMi0iAu0z\n7qev\r\n=Cvgs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"885c1d5e1cf217db1bcb8176917a25d6c74575a5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.ff870005a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.ff870005a.0_1597367727958_0.6110232052288282","host":"s3://npm-registry-packages"}},"8.0.0-canary.150f427a0.0":{"name":"@material/dom","version":"8.0.0-canary.150f427a0.0","license":"MIT","_id":"@material/dom@8.0.0-canary.150f427a0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b61174b16a8241b258dfcf3025c51aea83f3e5ed","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.150f427a0.0.tgz","fileCount":29,"integrity":"sha512-4ImBY1twoXUdmbKNt4I4+izEgw/tIGRyPxlH0S27Lg6capexhLIJxiNmXK1RQhAdhwx9pq0Be0GsaduBf1tc6w==","signatures":[{"sig":"MEQCIHTqlUZPujY7kRrLhfXtNxqev4Eyw+L5DUKKpIeboBwWAiBp+2Q5pj+WTCTeBwzhan122MuegTT6dSvPB2gKi7B0lQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNpGPCRA9TVsSAnZWagAAI8EQAKAPAep5GDcYK76VuVSa\nTxRTMORHEMYa++dYaTy33CKctr7C1Hn5t9qNJILqUk6dAPxvzVZWAqkj9y65\n3Sh2AAiskIqYUK6N/XHH7ILc63gZpv7wx+XLzyNRx3sa67LhbGSJjE6JugQa\nvHmH3AcT5Or7Kkwq5VZdisLuNT4/EbGSdocziucAkqfgIZivBXnL90pq+rCl\n2S6+VFTOZQGw3sBcN45vtq+GDwo7B4kaCLu6rCBpakmw2apBlrKAwetgF8S0\nbaKfAxfkuDq+lfRZHn6kMMMvFDNt/Qk3nUXo1M9AdnyPoUlCgAtX/73W3L8q\nTZPObiy3g6wOFV54QbfWhdrCKCqAmUk4Yij58nQRy3NHOdtB81psHzwW9dRM\nQmZw8Ys1+XAIBA6ObTpe0WNYYD0nvqYzGU68xTH7/27cqaaBatjRlp68CM0g\nPqBAHq9qRt1Nz2DMqgvvREZvbOkMYoCKqxrKSWYZkPsprKut3hFQgppIwy0C\neK0m0/qg76Wkc3FVMQYfIOR7mMxPe3Nyhtbu2SHH3oFQPKS4BH5HiZL4HHX/\n2GVaMFnPn2mR/o40mnHE24IRtzrouBmShCIa8CLyVEwMYfoLjgZJOSyjoFAN\nlAXLjcc37oRXFtEaLCrEga0TzweVm+lMMw8v08nCzqknrIGD+Jlh1jaOXrNT\nViRI\r\n=+/Oy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9250d38c39aaaa2210225133bd9fa4da3739df3e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.150f427a0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.150f427a0.0_1597411721753_0.8796851671527499","host":"s3://npm-registry-packages"}},"8.0.0-canary.bcc58290a.0":{"name":"@material/dom","version":"8.0.0-canary.bcc58290a.0","license":"MIT","_id":"@material/dom@8.0.0-canary.bcc58290a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1a178091fe98fb2396f9176342c451f967a6bf47","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.bcc58290a.0.tgz","fileCount":29,"integrity":"sha512-L4YATnrybHAFYX+BES+ZwLI8x63K8BEvThq8xTaD3tWcWdGkDyBtcDM7T5eCAMPYm7632JYkoIdVQjbnZyTTOQ==","signatures":[{"sig":"MEUCIQCmeB7lUB9GtV/B2TbUyyK6zxlW1ZL5m+HIscQ1e3FtcAIgAmezs1IH5mW2LKoUpckpVJfO2g6XPiNkb9qwTJKvbwI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNxyLCRA9TVsSAnZWagAAqVAQAIzi1D8JAAv6l8gAHyTj\njvht0z5X7L+ApG5WFzBpc+rLEHlrwzt50YcgK+O/rvd0s+qBBsbSfE5MTwAR\nPErW0PuqI/wH3djN+9GwShQtVZ4c8xIfK1CsgRdPRxyiFYUru/lL5acZiQEW\nLWM/VogC2/GCChSkWu5OEdr5IjRa1Htu0/FwJ7wVIE+OtASFISl9VWmZho9K\n5cOjJUjzgpKw/WIfynfwzCLYY85q/HUTj9QWzIX9YRLVsKeTULJUgZ/ysiJW\nMWpIbfS78Gfnm/v8V/f1QfYTpm778pfKO/9q2VYWIjY90AZbU9Urqj9ip8RX\nx+CYV8o9w19DcNZB5+4o3ERl2XNliqTJif5NQ8UujIPp9I+aoUREVRXMb3Hy\n8P/9itzhNgLxJaelnnn2aISCmzUJa50naK/KbVDbD+VUTkip8/zDecZCkHf+\n45whzMLx3yeG6clGFgTM0AjCTHZMfvSYygUAbcgeRHGdkqc7StxYtBTg7+lK\nxXWZ8/aYUYCpBnDvFUJhT4q87wysvJYEFtS1E8q5qZZTr5i/yTU3vWQ3MNOJ\n24eDcwjgka/xbQS0fMdbb7hx6L9/T5uJZWTIzfAtAmQMl8gtFLor1CH4Z9re\nmJw5JbGmm2fAPmNG5Eo3sHky7rVyNNPuGmx0Xr+t7TPbp92/T1LvWsrGuVI9\nJ8B4\r\n=9cNg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ba12c8e781c26c6169e16b167798237b5ededb54","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.bcc58290a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.bcc58290a.0_1597447306963_0.272905321204836","host":"s3://npm-registry-packages"}},"8.0.0-canary.4f55400bb.0":{"name":"@material/dom","version":"8.0.0-canary.4f55400bb.0","license":"MIT","_id":"@material/dom@8.0.0-canary.4f55400bb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bc5752aa6eff08f7a9e853384dc24863159ec8f8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.4f55400bb.0.tgz","fileCount":29,"integrity":"sha512-rUThujO5FL3ne/UETbVKa3SG+oYrVQVObjpT1hPLYDUu21IaaxGlXI1BiFMh9jIyfDFzf7QvUJGjMrONwCE8sg==","signatures":[{"sig":"MEYCIQCVJMB1eckjP9eQxHZuAQCLNVD6NsdS091Z+d2eNJo/MgIhAIxNRlfQbK3PF++US8Bj6iBfPW5BLZDZzl115BEkwt0f","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOrJXCRA9TVsSAnZWagAAwIsP/AxRBwzSt7bKcFaaZe6d\nz0CWOgCJkOO9GkxY+kUZ63TLYCAaRBnObMrupRUp1SSMKWvhzmWP9De3JkKL\naRflVQtWzH/eKWahrvzMYBPlcL5Bk4/cKmuyjqnVMQMsUV2THftLBTGqkAbK\n3Xeaj1lO1vu5+NXL8HZuPXYEPbfIVJiq4lAGX/rM6SbMx3UgWaGa28uqmhFU\npC6/fkLxAvQAFKdAhhP6W33GucSLK07Hzup1jp+9QTe7CD7jIiOP5CMkhf9e\nugI9CBtjZ18JrwDEZCSqCDNUrd9ykEzvO1wXuPGw6MGzZR/ex6Vgsw0sTWZv\n+k2Nk4j+p1LaO7j5hLA0q9LgojSfWYSTW3vqjUjkvxAbcOr7a1ntXEjJSSTE\n758+3+ISVM9Oq+FwAm+oj+aDOhomgdtUtS6Xs3yzvranuYBKddfjdU8Q39cF\n0b78ORO1eWiFf7zhwgDfznG7LEXorUJ1k38atkKL1kZHW8iDym2rfy+zkaUv\nxGVTFSZy3eyL1oo4UC2JQMbgf4606yXDAlmzqTzXcRgHLRhi2GM6aZwO+Pgq\nmEY0Unw9/zt4PuD8ZA0gUl5gNy/k4WoFhsagC0jaLibVEbRWSzePhWW7E2zm\nCdD7SLObrcEATvmhu9n3tQubMM3MCoEw8ZWsoP5mIBNB1Res/pRp7Af7N+gg\nkIPT\r\n=TPyS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a9eebd86aa2e631b994a71291827e602b842dc36","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.4f55400bb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.4f55400bb.0_1597682262942_0.035736509924849","host":"s3://npm-registry-packages"}},"8.0.0-canary.000d64815.0":{"name":"@material/dom","version":"8.0.0-canary.000d64815.0","license":"MIT","_id":"@material/dom@8.0.0-canary.000d64815.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"61b9669675e54e68ae0611bf622752f00a1f927f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.000d64815.0.tgz","fileCount":29,"integrity":"sha512-Gs8916x7sqoMNcOCqHKdNVnhXFbsbjdC6Vaz0J8bVz96wZBcwzmd2OXpHbr8ZDX26JaIHTf03JH1fnaPQn1wJQ==","signatures":[{"sig":"MEYCIQC7U4BL6DEOfAll6scrFw85HQThs6Mj2Y2LjiF9LAiU/AIhAN45fs4pNLbWPOTKwGBsaF6TgzasOiuK5L94e+80cGu6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOrhmCRA9TVsSAnZWagAA+xAP/jOftLKdgT5yWG0atTNc\nAwBjikwDErrsto5JyJ8JA/Y46P6MWK690EKoN6CXC6lEWS0MnEaI3yY0wHes\nE1K0RwmjY5Cq4hbawwKuwqSaOWJ0/CHaQyFeDbHonRfW+NKA6RDiiGu1ctcg\ngRHUrKk9DKiNsNeSEbU5BDqJMmcskysbtBDodVuSC+tDDm8w0/pGqOykcev7\n6RQ5iRFuPX5IiRqMcK1KXRL1TxxMm+0ChdVwvqZhlCK5GGzeqqeA7Y7C6jHr\n1x9KgsJncfgG2h8udvJwSUwjVLq7x1qR/6Zt1PClR5v4/AERAO/WSUXo4TKY\ntkdM60iSB2rNabQndTitOjTbc2T1x7R1k/OJ0uKY+jP+Ahs9Y/RwkWwobVI1\nwSYKymsd7t8/TvuvQ5xpxQHlhvczCmFiWV8ysdok1FkiETOH6rSc7GVqhNIG\n7sLp0aso9eRWQxXvK5qNwVvy135o3NfrfOl/6Ge2Ntr7G9tVjHBoEfsNk+Rd\ndiG2+JTu45xVH1J3R+i7qtzQc48U4GHl1JrE8maegtIL6tpLUukOHWFHeyR5\nDv8Q+1hjfw1HyeiJKWlpzGG5bvYJ32UyvlE47KMdZl8+c0hvHOhOGggJGD9+\nJLO4/wFOFlpDxoN9WKDVtnsbraH9MqmhdbBpsX4FgSY1za8aS6ZQocBrN1gH\nD7Zp\r\n=QmaX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c8a69943d64e6f468c2edeaf1fc6204d372a9fed","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.000d64815.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.000d64815.0_1597683813482_0.11793405922833711","host":"s3://npm-registry-packages"}},"8.0.0-canary.defa599a8.0":{"name":"@material/dom","version":"8.0.0-canary.defa599a8.0","license":"MIT","_id":"@material/dom@8.0.0-canary.defa599a8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"25177f346a64ab68effb0c1b455c20affd30dd49","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.defa599a8.0.tgz","fileCount":29,"integrity":"sha512-8DYz68eHK7ho+pBjmqmQEBIAgyd9ojJEaRTDHCeWHauc7UIE2hBC5qw0zCxhl4gKyZ9ksOVBRh1lh8vwRfdxDw==","signatures":[{"sig":"MEQCIG09zBWeo82p5GSaeXxpnv7rzLjslogjO2hawMvoNXNcAiAuRBryqWhP93ZbKD0pchWsH5LaC/7ylqfDue7vtSDQgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOukICRA9TVsSAnZWagAApdEP/0VlxQh9yfDlkDUPl38k\nTOxx3PNsKwF80ouXbtJG/6Ne/g4i49RwOFiqc0QTjehfeiZDoKYVRE4q/F72\nYBZTukPhzkFkBDS5phfFX5YhcmNBDDxu7Ng/46jbk3SnjRPIHf0GFIVUa3CZ\n76Jm049AxMoLi1Jyb0hu/o0QgkFBt4g+l0TX3+mQtDrhZGtcgBEEaVjBRv6o\nei8lL23i+6Ka1r3k+BORcMHn17FLAWy2qjb/Ke29F2aSxrn9AgQz1amhErf4\nDGLXBkvdDhfG3T6PQ61TYmLGLfGDPFyhJU+XEKZ8tWtpBuZn7VbFAbe7+1BJ\n699My8xVRip60909HDHPdy7qeDau/+u+IY5lTNOlXJItb4bNiw5kVPSSduq/\nEUvJr+TvkWZkF+sRw7zgLSBiPCmbmcbh2mCKbmAvSmAI5q1xsr3NgjN5u5bp\nZgnYX9GO2WK7Q1vgHOh5zj99eaA4LznDr3fGw/gW/tlKQ4IztgYRvf1MDGFQ\nqOXq8Gypvl3fs+FbtTvQ2SJ9bmlh+e9EVkEtLCt8JzFpdA6Un2Wy8GNMNWRB\nctsMEUEJKoL7PYdfeBc3bGBlAzGRJ2KgOfqawfXOXr/Se1MoaME7KAhVedOO\n2GWER+PKbynslydMxC5xLw5/wOq0UFJ4+AVvzxhl+j+OzWZt/tGC9ZZSDgzx\nwVvA\r\n=qxjm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d3ddc8cf9af988fc4a02f26feee3e4ca0184dbec","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.defa599a8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.defa599a8.0_1597696263698_0.9815762407973216","host":"s3://npm-registry-packages"}},"8.0.0-canary.66b8ed7e6.0":{"name":"@material/dom","version":"8.0.0-canary.66b8ed7e6.0","license":"MIT","_id":"@material/dom@8.0.0-canary.66b8ed7e6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e06bab77a66391f4fb6b938f6ba57760f6165206","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.66b8ed7e6.0.tgz","fileCount":29,"integrity":"sha512-CQc24kwol0erkPAlRmpmDFKj950XiRPIhXkG4BruLw2CUu8tcq27jH9fUZ5ead04q1n5jEWbKewCqs4jkLay+w==","signatures":[{"sig":"MEQCIAUPvKtc1qzm4rrmpwqq0ALk5iM0OOOqntJWPuGyONkoAiBkXVLduDZjF/dX2JmDC3EKeEB0NgoPMJkjksmhQDqcKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPB+TCRA9TVsSAnZWagAAjcIP/A9NKVf7jSrT980lsLk8\nrCswf/vauKT5M3wsrbbIKXqKmBnrc/qp8NZbq0uS85GylriDK0f1ib0y4t76\nDoAlzzyu0WKqFQIG5fh3bgkCpeg5YpIG2lCK4vlys6zzv6uhrfFmofQXeJH5\nG7C8Oj11/q47v1hGjVQYJVhbIHKys+yYrP01ric+r2efm+GQ4dIyxQs13HC1\nZDeHabcMhBcrHHuukBP1ITi76+8WAtJXCYGkG5roCLDe84My54DzCpzP0mh5\n3O8wmf4rNaXCndpPJbiQI0dRLjMF8qQv9T+meR0wtb2+KxfrSqadnIuuyKjl\n5YL/Rg3lL9mesHooPX1cRYVRQI3vFSsEhZuNuE00EWJ4l/JQpCBbriLEKZlc\nPq35LWOokzFORgeo8AhuiDsxGTzBKhcmLpOzvnXZ6Pzk7YkH2pvHR1Uvso9w\nlPg8MJ/Z6KJVzofYR1aFhM5ntra/HBrgczTV2mK6zdqfugteCJRyIYtQIqXg\nezXhuQoz3G6OWroSyV5T3Yof+AXqTzRGjrm5UJhT6v64SU07EpxTi61R4258\nXdYdxpNRztqKWlOFru9Rq0xi9Gd1NDKnN+M6tJkJ/fcBsmlJTdl2jAFt1ogP\nS9O7IpK8V7YSfRWvinLjSS5rO2QwCFkfhVeNkpGVQgz7ypafyEpdModl1lCn\nYOqX\r\n=J+Pc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c23c9dce18363cb6806c169d5a516da2a0fcf89f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.66b8ed7e6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.66b8ed7e6.0_1597775762609_0.15405850848406466","host":"s3://npm-registry-packages"}},"8.0.0-canary.e2b1033df.0":{"name":"@material/dom","version":"8.0.0-canary.e2b1033df.0","license":"MIT","_id":"@material/dom@8.0.0-canary.e2b1033df.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ca1ee2724a78ef7aca5b3ebff819328d07a7e9a0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.e2b1033df.0.tgz","fileCount":29,"integrity":"sha512-ePj3DUYKT1lP5XiYJBRagULhiIth77L0J/BmDKmHuEdWv83T9q6NDPZn1FQeahr01JmJ5y1iO3JS9s/4Rlg7dA==","signatures":[{"sig":"MEUCIADfiXWRDg55OvLNiA5fnF4MDlCEVmbZBfAslvjzvsnCAiEAxMC63kNDsSuMWHjbaNVIoP1ODu/3BW0pcqdE9vDFoqA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPXJHCRA9TVsSAnZWagAAkPEQAIjrMeiv26Aw/zCd6icj\nQ3oc/bFwYT+K0D5TFoDp6xJbja+cN/sKJlRDZRjDYMOvU17dKWsyTQmumjNv\nVOcHDSX173iT0G3K3gMgo3nWkwJkOC2N75/MlaTan6UwXUoD4Hhu0aQmuTxF\nrNrw0n4XOE2ftZrF1EEAkwF3x4DO+/mxXKcgt0xwt28IkZmHRbDkMW1XHU1b\nD3wfsTo+zU0+AbrP1/Shz3HA8QAQ1HUIyOWTtLcYKjZrzT96KUpRX24UK7Vo\nGvEL65aeWPeYlcTJrrkUZO/oXoB83lFrT1OSSlRiPOO8SemAXGR3/zxBaLm6\nSX/m0U0Ru7gxcIrBt7OqUuVrykxg61ys4Gk/FDCxmo1ZOUPPSZTsSJhT/kTA\no7oHPwtXIewOlQQex0kZQl330JrvVGTPF4vS1Jscy0ts5VtdLKP9vRXH98iP\n9IVzJA/mb0PahTfcBQvS+56oDyVNNUfb4iVt4mxJihSMNe9+Ln1YpKX6uSye\ntrnXLWWZZ3hn610JxzxhoCUFI7lCFaTKsQatyz//MKPvmtw0zuhbRq/Q3x61\n1GwD7WTZdjaJ8pnxpLafu7NkvDPf3auZyP6JEWz6UkTBLhKIJup8YlCdWcWt\n0KdTf9Ls9qHkAEdwT/7agmw4J2+iwJy8IbzTahVO30+tOm6CqDxt07Y5oJIu\ndty2\r\n=PFSe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"763ba6b73959bf0639ed8d0c9656a53b18e30c1c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.e2b1033df.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.e2b1033df.0_1597862471096_0.3085814194997101","host":"s3://npm-registry-packages"}},"8.0.0-canary.2e8c3dd2e.0":{"name":"@material/dom","version":"8.0.0-canary.2e8c3dd2e.0","license":"MIT","_id":"@material/dom@8.0.0-canary.2e8c3dd2e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"466735cfbdf587fff57dcc8f4af8dde31326a1d5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.2e8c3dd2e.0.tgz","fileCount":29,"integrity":"sha512-BwOzqaky1EhD/cdw2z09/6O/aAgHEpyOhiwmVDV3bv+62ODuTGjCy1T3oDk4QU2J8KEdBJGgSyyUiDwYczOr5Q==","signatures":[{"sig":"MEUCIAGNfgikSIqqBpjN923NXTmoMWdgEEz17gIuIlY+nsPxAiEA3nbzGcQLDFjG5MO32cFTQTTrgxQ6iJSkTCemTYBImm0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPXwiCRA9TVsSAnZWagAAqfMQAJpjU79ZnhcjmQh4h6uK\nCFYlL5v824QxY/FupxT9khgh2PGJQ5dJ13NGmToZ+yAvtvlfxDFnNt8Weoti\nPaMpGy6IkyjrmNM5WmHBrN0sy+Q5sk2oKZJj50orQJa3VjtQKPGYHs77ty3P\n8rOgEXWDbE3ZpqOAo/rHxsABKfDU/Y5/vQjLZrkbzPhAO+qfXRjNBcoTGXXd\naiL6Tz8k7ry9ArPDk0zVjVQJyp5UoeXh3DByOep2ZHhdaxMnz3F8CkjIP+di\nVyAJUBxyixUrk3H6DsCOI7KkY62pNlwmaJO8SQNnUqBcvPeeaS6QATlx+Ue/\n/pfmAIcZdYZEnkmuAxge1rY9CXtSaXhnkkh+317gVihHMFhOsevYSm5iTmUC\nxoYUE8CNZf9NF5Ns2S9sqUblAo9FQalTYlXauyeBMp804AcO6C8bILQZSaFI\nqs/oDFIs/TYdrPvG8/HNl7C+O0f+vRtwv5XGCsVbj4fr6Cdw8xl20ev0PpxS\nfEruFotUKGoJVJxeYYlH/bo6NRmF4C8GA/aLnk0rEsPtKAbPRYMJ+QbSWWMN\nCLt84Sehpb8y0k/tSz/YA6BQZFOQsM8f7YtoskuColMiG/iYcKjIpBtFy6Ng\nAUxPr2rn/tdCxh/WEmSdDgPe+FblNk9RUwONUK1Xgef2QvK9Cdg8NWl/McWg\nSRwo\r\n=g+VS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"237ca1e061b4efa53d623ea5dc9c9d670d5c9da0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.2e8c3dd2e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.2e8c3dd2e.0_1597864994113_0.904342298045409","host":"s3://npm-registry-packages"}},"8.0.0-canary.b2e80a5d9.0":{"name":"@material/dom","version":"8.0.0-canary.b2e80a5d9.0","license":"MIT","_id":"@material/dom@8.0.0-canary.b2e80a5d9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c4ebdfdea31c54382616df423958bdbaa40dbc0c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.b2e80a5d9.0.tgz","fileCount":29,"integrity":"sha512-tcg72Xo4pMSMR4IPNj5/87zT/DfX8kwYamvfUHA5jtjL6EwmPWwGFnwZjwdiG6u5W7BwTfzhl8M7ELLiEXZ5zg==","signatures":[{"sig":"MEYCIQCnbpXPvpDZzKZP4D13NiOzhxFUj6xRyHCKGLIMVQ6ugQIhAJBtzfHjG6L5MkdzWRB04QfJ3uFZ+RYkq6QrnTgVcul2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPaWcCRA9TVsSAnZWagAAuNIP/3A/ruTYVm6baXeGW+t9\nevTWMDkp7lMRacm5fNo8ghLp/8dG/mjisxSA1GGx6x7VISRpOxxeQL1Qcjmd\n+Jz54Cse+Vxqz8+cSOZGx2Q3yzChUiDAa8pRcnBpyp/PzSx9XGte51x+17bI\nUjwcjiM5YaMqUiZ4befB7iV5t4WzI7dpmNm94veH+LPsNPQtOKb9F+Yn/N0k\n+W1KtZurbmrsAFgDJcvPge9fHoTrHnHKpzY+oz7+Rp6ntQ0UfxTiiJ5PFUlC\nEA9DxdbZGdkqw14gB8CAsyL3Q3pOQaUFPTTI6E2YQ2JcmZj9ZAJG5BDZn+mO\ncjg+XLByKpbOdYML4SiX0LRdC9RonEVJCCquy7izHoVjOeyI1cS8AGDilLtn\nQilHAenk6TyQuTiOmgTiOAw2jLrL3YyzYYH4Tz8O8rj6y12pQyHlvN2HQMr6\nKfVjD/6fzVPiTUgyvnpQF3y75Z0mDKSCsv/zHq53LgcDPq2/5KO3yqFDyAFK\nRAAJzwQt0W+Q6pvjNQKkmj75nKH+ur9b1Nlov7yZXipig93/quSHoi81xj8b\nYYeD311LndQ+e0e+ppbztpC7mi/bp9RaY2uiXEobmSFffED4T1HY4lkxIqOn\nQvBBuSphdzlbtYbAfjCrMj1uE1+ZsrQXyKvVhhf0MxEPy00E9srrN/0BPrNm\nJ7a3\r\n=1X8X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"84085f6b072572fb6b09623a5f0b35bb95db6fca","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.b2e80a5d9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.b2e80a5d9.0_1597875612136_0.1548465356869626","host":"s3://npm-registry-packages"}},"8.0.0-canary.ff88df637.0":{"name":"@material/dom","version":"8.0.0-canary.ff88df637.0","license":"MIT","_id":"@material/dom@8.0.0-canary.ff88df637.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"591ba15f0a958962c6bedfa30f8b052683000539","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.ff88df637.0.tgz","fileCount":29,"integrity":"sha512-e4/yA3Ml5p1DtVhfna61j6bzlZYzWXQMmqYMWLzeYiVkLn4AdPcTerk2FZU2mpDI4I/GaIWcixdOItU/bmzWiw==","signatures":[{"sig":"MEQCIHxDJn0OVB7ORhYXY81M/WDfxHh0mygnPl4zy3HQuDUxAiAPcNgtNcOSrYUs0VFYKmAcd6r5JbFDPKKU8Jftp/QwIw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPahuCRA9TVsSAnZWagAAXSkP/i/8P6oeVnuO51KAGV4w\n1OiM2Tz08YWycx20NvJ3L/kl3+N4dw5IFhAjO3rgwe9Meu3feX9qRKKUplOp\nZrO8/pvjg+VuSg30m/RLs2fqaytM/oMoVemR6KhAYtAH3a1h6ph3M1rF6Kr3\ndUDRCAjTZE0ynPbhal+oT6JvsfQQvQ9h1FU3KZuXGfbL357OYoN2GNshbc4/\n12th5ytfuksHqv5og7ExsKFi1Ef1LBunIWUOaRj8tdY/JvhLVtdCyJhaEdSx\nySpNvsgnU0IDrrWZdaYX7Orph0i1Wq5SGWV42GjA0XUiI0KkDe9PCEJ0LUfk\nG8a3szUV8GspURSyyWqzGtyzDL7YyeIYjuyAwYCbq5NcIv+spu+j2X2a5FOq\n9SyBavbX+e+r92Iz/HF25CZ/wJCvEBmZu4PdSDF8X661PT1qk7llKGa9lfnu\n2OeoOs8M0us/e1oH2uiFwFyuQrsqWvK2v6fECJygUHi9vaiBb8vIgtFakGzA\ns34hWdELBys71CPg8XG8GEPZy7u/PVrrzjlJgwmGDx1fB0ReIGXcYsOzbxMP\nQEOWwZTQTcwtapXHy8FAcaCm0lJZOMW5n+kx1jzuzxJ3AXaBGf2yjHkBO3i+\n9GBhhvb91Ld/eQBrnS1MojLSSSrIn+hRfm8P2irTEupfvKM5QIzHwBJBMzaw\niRw6\r\n=wcN+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"36ba8daf061692c2f915513485e71707d8eae239","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.ff88df637.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.ff88df637.0_1597876334061_0.38201476551703895","host":"s3://npm-registry-packages"}},"8.0.0-canary.32fb314cd.0":{"name":"@material/dom","version":"8.0.0-canary.32fb314cd.0","license":"MIT","_id":"@material/dom@8.0.0-canary.32fb314cd.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"15373c464cd5bc364f1c07e8f9ac62530071e7da","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.32fb314cd.0.tgz","fileCount":29,"integrity":"sha512-bVdjg2WIBYuKoAAtiZ1qZeGkUsWHC3HGZ1PTrem6E8pdzijZXWMnvkD2fDJxTJtRymd1CIUP4zUDqkm5E7O+0A==","signatures":[{"sig":"MEUCIQDBXwzZGwThnjWvnLC2Y1Cp+GGORFZNJxMmkJ7atR22eAIgKtlQH3M4rAqVHn8Lxi3mebOlceMSHeZL0jb2UkPSE18=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPlI8CRA9TVsSAnZWagAA+cIP/3UMwAw4ifE0y0NTYTn0\nCwFEsAQKaeKYIHowbRlA/IbE3ErJize6NX7LVKBiejXMbVlARxNVAdBeMXVj\nf9Q26L5TichfDNjRYSKIHlcT4Li6kd1ytNr6BLzgJmNOj7E5967K0/aF5xhQ\n4CEcMqGu7fX5vSNZBa12196G7Tsp7AyFRkCEggAwH6Q/yH/4VkQzk2Wyt0A9\n6sX/ykJlRNs0KV+SOHqUTPCb34qm5t5AGvFwam61W4gyizaMUUiwl+bsN/zS\na828EnzTONBGz1dThgXgPl9lb681Bl8mH1PEFiWgbvhPD8u1j1HHolei7oov\nAHP7btIdmAV2Vx2R5W8ED34QUjmsPakM3T4nPelK73mpHkMoGe06owP4O2qf\nRwykUl6NQBpRMePRY0QXTCUJASnj9y8Q64/53bOlwiLbbvSCWpm1rq1kwD6S\nwnzN7OmcETlTFFecdD38KNzp/d7OxNdDR1FN/3npzGAjqU9XNGbSilBeV2zU\n2+J+vjrbTEQBcnslsNfVG1J2E+Vq6qlW5f75oYD5lxy7hi4Vc09ThDHEkpfM\n4xPIEy5Jog7np+pxSfw6uJCDAWGqaQk1JN+pmdfLEng9AUraF60vevAH1Z73\nj+PepaY9hkeGnbPvCNpF0hw5PrEu7Z3ASc8NXzKVPE2qMSabi9JxuWQ/FBzH\nWJuC\r\n=WuS2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"61108ecdbe311b101b1b87763e8f3283dbb9dd50","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.32fb314cd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.32fb314cd.0_1597919803988_0.5474190391035441","host":"s3://npm-registry-packages"}},"8.0.0-canary.546277d32.0":{"name":"@material/dom","version":"8.0.0-canary.546277d32.0","license":"MIT","_id":"@material/dom@8.0.0-canary.546277d32.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6335f88233fc96a248ff0693f6b82bdb8ba4b68f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.546277d32.0.tgz","fileCount":29,"integrity":"sha512-iKJOyqnbS5VXoZJ1LVs+32p9OROqjPfnc+DMddoHfXbwhTN5bGgLSAk5w7nCkm1e9nNrTmvyv0p3rQWK4EeW9A==","signatures":[{"sig":"MEYCIQC5EEKFrwFQCOUcY1k56EwFnF5mggVzOLF4oKzMCyTwwgIhALryEFh05hVITSE8BSgEbOV3lSeX/T0qZcyOveq2Df7h","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPqfmCRA9TVsSAnZWagAAGKMQAJ/x/FF/ZLRHyvyfs7/P\na/ly0dcMfEzMisuKPpSBa2BCEJV3TV9E6AyUKdLKBUNr+JNCSWVc1KoI5Tpf\nzhJc2oO6Fc+M/BwHCXf0HUDTy1dWEQcDFdrgJPUy92E3G5L+jq4RxkHWGs96\naeFOEvT4agv6BbX3iQpLf78dOXFI2RxHWuyNiPZD47U6PbnbR3iw+OgnnKNI\nwBlZdiEgOhfCpOemn97dSHoASOJIWAlM1UT+lj4w6roaUhj5K4MUONUeZxbv\nV6Cgc80etnt06g+tqlOmAo/Nopw5tDZNAq493GezIBpEJo6q/vSzAGgTtfeh\nwDfUPNbP2VyjbBeAs1DONDGeS7k5rOM0wHv5v+O0bnzpM11B4vfjlTJ/FyV6\nMHR4LvkKgpMxHg3DwamJYH0VuwWC+qdg+aJx+C6MlAaDyy577u796Zlpxfl2\neDJD0/zBt5nvNB6hNfyUiMBE6XL6H6BWfFG2sHFJjMaKi7LHvohI9gdkRqNK\n/0JKpZNjPlwEjP6O+NxFpwTQgnUj30ZxZ5oKT0qndiOo36BqrGE4e2wTVENH\nt6zQCOyKhjxzYguxG2k+RlQZHOGC9rD54Tu7srRWb9j8jd+mc6hkf7nIKO6a\nGliKjAnDoFuUx2s9khiKuyD/KIql+dSjeVfJUXW2v+oBa3UPFB4mmw7f0R75\n8zhO\r\n=NIoW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1d97622107fec59bf3261ad4f1f3bbe21fb1ff62","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.546277d32.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.546277d32.0_1597941733848_0.09985962462432463","host":"s3://npm-registry-packages"}},"8.0.0-canary.da72839f4.0":{"name":"@material/dom","version":"8.0.0-canary.da72839f4.0","license":"MIT","_id":"@material/dom@8.0.0-canary.da72839f4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f005bcb748d4c0144210cf4ba8a30146f67f705a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.da72839f4.0.tgz","fileCount":29,"integrity":"sha512-bg/hACqyuPD7Ew364Fex3mlSSUX0Ij5oAMU1AIw8phaHT6FObiT87AtrKTCL+bSTNND3K62SUZJEqwlU40pTBg==","signatures":[{"sig":"MEUCIQCQ82fKxGAmMSe2KwIxq8McdHLCQs11RDXFStp4SxhTXwIgbm4kj3IMf5F/QmfqZXLYKBWIRPkIPnuy3tbkiCYgWeo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPrnrCRA9TVsSAnZWagAAf6IP/RC/psn218RaXuonzxrM\ni0JIC0jRzlbafu+wGrKddIeRItvZulLuRh3cAYmulE249pGt7v7TPgx6+jQc\nl1ta3wY6jxcDCiJsOQ48MBiCv3/2L4xxN3miMC16LAgxSVsm1Xmwh+xup9+h\nIqdED9hDh+oun0ZjrRfJcvrkJ3R0aCMKthwAGQOAxegbBzbZ13+uxATofd/k\nzUL9xRe4oGWEh7rRS9+NtEWavSH47VGUJHlepfk8/8RWFP8Nunm9iSkSGWvK\nf+qhaOQPv4CgobealWupz70Cp/XhyuBJO/dQo4baGWUAmn0IgdxNJKjpF5G+\nNzD4hS07kdFf4yJfS3JRl2dpeVN4M1Jotysm/mVZyjcWSQHEt5loJ5MQTLyb\nwF5UiwUvDQssdZYg1QKeeUaQs+LhDjMhjr3mrYSFst3EoM58eFc5MmvW5Mdp\nyE7YSx8J+E2NRH4aUauJCEDU9cbPjtRPbVCq9bYDRiTMSo7JcDypqXzAzPnH\nIem8QPMxOjyGyEywzeNjfkUoToP7/0nzN4ryowO2KQKPfxTdM4bj9CARQh5q\nX7rKEagAtdIWApoE0NGO9u+0xVzFRz4VOm3U/JCq9/rj/l6bsiHQPLhA8xlL\nw+XzUxN56h1W2rdvF2PyiOx1vY18XYq/4KwVxkW/U3yL7UZI1b/7VucLYXuy\nYh9w\r\n=81L3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1b42b69de51cf24aa95c09d0e08ae1e644c71335","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.da72839f4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.da72839f4.0_1597946347388_0.16365103486876764","host":"s3://npm-registry-packages"}},"8.0.0-canary.346069ccb.0":{"name":"@material/dom","version":"8.0.0-canary.346069ccb.0","license":"MIT","_id":"@material/dom@8.0.0-canary.346069ccb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"67d9e8e305ac8470e7ca7576f8fb74e68bcc4215","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.346069ccb.0.tgz","fileCount":29,"integrity":"sha512-nzulaFay1BSBtJWuyK1Gm0Ml3j/bNkuVKRpu4JFUrPAzQHfkD/0O95PFSqKS/j4laOzY3+B831C4yxklKjN9Dw==","signatures":[{"sig":"MEQCIE9Oj2iwsjxxIlifYuFuKIc2CQAR6yMeLf3kWWELsnb6AiBSKYhxNHQaMTBLPTJog12xGTJbfzpcH7+1H4BJyzZigw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPr5BCRA9TVsSAnZWagAAXIMP/R54xy6ZTFjUTS6U1PpU\nFIovHaqu7FD6Pzb0K+lTYN4YyHNhjc1QYHFHpj5bF3qtQNW1GoWFzc2tBRGu\n7H4cw/3LSkI3hSmWZrnEM169CjA8f3/X/Ac1eE9yoKvYA4CHEEwKhVaJE9sH\nqE2tp1XTtcIrSLPBwlCNGXMVKVtLr3RWq+DIkt2Uj+kUhDCnw/lHyy7HSheV\niD7lSEXgT82f0AqeFWU+w4xUVHOm9qdNIfMIpLsH+9VQEBFjmWhW60y72cDv\nqIQU7VZaTq53VPNnMqcBcIx5VbHVHgLijZPpYlhLMPGUptRCV+5wD+MXhDXP\nFpZLw+oBk3seZKTYZcxn+5dF8oEgkGt4akh9ifjZqITh9zN/7e8+DKpPSIUz\nKKn0TI+3Nm2B3igKPClox0pwCcXcomyTrLxB3W5HbCu0c7TC4PxORfIvVh/6\neJHL0jjZtUDLrraE18p8uGdBPXypA2ahNp8u2jNpgRPRVzsi2wgtkJSJpBal\ntDOow/7gYfq1nU2A06OYP95rY9lvxbDIFFXLFY6wglIRjL2Fuo7rZvZUni2D\n9Q3I5wekXizo6BcxYBKu1gX5BDhU8V9D1J9DipGiYRF/TU53AP/SfVpkcdUn\n3B3+dztpkNf/4E+7SgN5ypdg3CV+x4DpiYgJKYP9ZATHntdgSfPO9arDHtJn\nWafa\r\n=yd5L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cf298389e23ace16c7e4682ded1e492e489011be","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.346069ccb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.346069ccb.0_1597947457389_0.6987759997292355","host":"s3://npm-registry-packages"}},"8.0.0-canary.e27c5802f.0":{"name":"@material/dom","version":"8.0.0-canary.e27c5802f.0","license":"MIT","_id":"@material/dom@8.0.0-canary.e27c5802f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5075d4469c696812d611c2de16f4585ae53c62e5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.e27c5802f.0.tgz","fileCount":29,"integrity":"sha512-01nMS/W123L9iCu6SebByasOvtXL0nda1D8Zokdh8Qde7Fh7BeJ+IAroJ7V+SFj6ZuTIdr7wM6WayIgBqGauMA==","signatures":[{"sig":"MEYCIQD1J0t6Pqbrc4nDPIwgdOJHZsdSPGNOWsT3wzKfVSHDvAIhAI+GcwxZoNJQAd/cRQEah+EoNjxc8BUtzdiY8ipbjTBi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPsuQCRA9TVsSAnZWagAA1qcP/RYutDiITgCbvvdJOZ8/\n6NPYRKkEwFBVIr8xUea3ngCEqWZV5F6rhOIIn6534BIOWE0TDulUzi1zzmKy\nGNc0l0tQOnYPM5fDK/0eH65PwCrOsiEIN5NfeC5Z9ilAC4RpxfU+PBP6Vz7I\nlCu2mbKOQnBz19lI3jgV2rJEWTWOhIBq5XAPq7RdBhc2o2podU4ulCik/x00\ndSXe/P8sa2nFLzhV8aX2IZAIj3FA7ykLG9aTmhY95f9sexnPru9V//ue9i3b\nR8lY/9Vbqeek1bLgH+htscVRAVT1kVaoPC5J/BoMbw4GNz+KbDLAax9hO3hZ\nTR0uB29JVn+FP13VMPzawKsRrVagKzcMZs5Fb95oiAKMN/h6Kb9j93qRK1FE\n4U2Ci28f3izOWV97Xqmr0LCRzKtK+BKuEnBNvLCmMQjH85bV7Qr4xePDyt4/\nNnNYTwIUq9iUxrcVgVFIFb52oeppKO6203pYN5AA3awayWYEKqykjVwzKZvb\nFhazagJR1r1Bsrx9arzGkqe0Q9wwOqZ3JwuSzQFlHe3Fehv9X9Du3mmKq6Bj\nBkZJ0gPDRcXK6CHBnegW+aGg26MVoAT0hSR98F+Q3dvS3Pxyg6MlUcbE1Ly9\nksYI5iPD7JOv0TsILwSbq+Bc+a/+2vmQ8BnqnBUlWhDZA9rDwJKRi1myEEd+\nOMnY\r\n=4f+t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2c9246ec446246e8fcad54982848f7cd5839f69f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.e27c5802f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.e27c5802f.0_1597950863835_0.66715288906803","host":"s3://npm-registry-packages"}},"8.0.0-canary.f4532b9c8.0":{"name":"@material/dom","version":"8.0.0-canary.f4532b9c8.0","license":"MIT","_id":"@material/dom@8.0.0-canary.f4532b9c8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"17a34c67f51513d38e71d7bfb0f5ef7d2d481d29","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.f4532b9c8.0.tgz","fileCount":29,"integrity":"sha512-ks4pPmU5RnH3NqoRQCu/ReEaogTa7qQHrJwsm3+oJ8OJvFfWEHUnpKdyse2R4FxpoT3T24q/aru0dLVD9+uWgQ==","signatures":[{"sig":"MEUCIH+nTEc9ej6TNIms+f7FSt8yjxCMUEuAgz71otTAneNdAiEAgjO0rFbSRiEEEOn5Fit9QDHTavZjGP6LfR2m11puWtY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPtWNCRA9TVsSAnZWagAA+DoP/RJsEx4GgQ44ZGi5NNLs\ndS6d3sQ+Adu6Rz+WeNwyISNcvZs3sxU7EIjvskrOLDFTZkH2IIRaBscIx08d\nbU3VDhCkGN8Rz/52oXhOTXelXBImBR8ujpyT4mQWaQiHP49E7pgKLhdHkjan\npt50ZMJduOc5ERoe4rQGDfOYWUfgH/5MILWMJvdLusWX9MlaqjhEAcU3rP7s\nSmkmp86PDd8ixoa2+GWACen+pdV4EYcGr5NxwF6tWR2xJU+fIwU9zii/BU5z\n0IQOwogcvh1d+l0TzzM61PLTG88XRn24NcZV3x0k+c3Ng1dnmX54uE29qAd6\nBFQjDYJ2Zs5C0XE42N8Bg8iDNErAFZJHBXaibEMyBvnlPxBtBwH3hev5QyMW\nto0ri3d9aqw40KN4NhLgJsHRxnFUzep4IfJFDPhN2Iu59MbCCrdfHsXzi9Zx\nqSOE0e8ZYJc8qg76cRnSz8JlCPu1NoHILnbRcHa3kk//OvdEIVTf2qE8yWX3\nEETy/ic0TiYO6ed/8wu76V9HYqrx6FgvUkZdYtQn4OLOteXpuNcbOKfx869y\n9Mwzc7ACC6bRVbrnJOnKKnPBkjIw3K6kBTKW7639vOjL1ZXTWwcGkNlhCJP6\nXA4PxLuullO4oTLsGRS/8m6TODnroIzHqvFj47TBFLyGTHyLEP2R/T3Sbmim\nDtNs\r\n=EvpB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"be56493a06963f21f1f5343fc6db3accdc74216d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.f4532b9c8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.f4532b9c8.0_1597953421210_0.9508773157177852","host":"s3://npm-registry-packages"}},"8.0.0-canary.fbf73c2a6.0":{"name":"@material/dom","version":"8.0.0-canary.fbf73c2a6.0","license":"MIT","_id":"@material/dom@8.0.0-canary.fbf73c2a6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f1a004eab4f76b3dd5094b8fe73a07f4b6db895e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.fbf73c2a6.0.tgz","fileCount":29,"integrity":"sha512-jk3zz7VrrGSwqZzo3pc+UmkGplnM9xrusDNLOfjEd6HBquvX5z67Mm+zZzQQYINcyDysNxY893x8VhuCcHHGgw==","signatures":[{"sig":"MEUCIQCFeFY/AlCaFFIVCZKlZLDI4rxt33lODZDMFsfA18kimAIgJfwNpqxxvVZmTsewsWwxG1RvFWohfvmMR9b+BvgGNjs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPuWeCRA9TVsSAnZWagAAYaUQAJ+9jmKCeFIDq5Dg1ciX\nVSkDFwiK5M9L9h5KJwAcDGLXibWUXOZQgRnx0idg2l356mc4tjAwXtobTl44\nNVGZHHWOXV1pY5AoN//Myfq5fqSAkvF8E3lzZIeOzdFNxpT+0YsKU3zj4uMw\nI1OzIfH9gM0MueoaT9DR8VBsoMjA74N81LbKTcTz31qGYeiQYq6JgH05sckK\n89Bc3z9kiYC/p/hsrt9TFwa6zYd9+k265WmxNSHgd5JTtSbQw64TNJGS5BHW\nCX2Jj+47cqLY1jN+5cvutB6u+yCUZkjylPVGP14aHvGXy1a/7P3d80Hq9Phn\nK/bzVvaXrKyrDGtflKTr5ChMbvss/mfj0RFgexuPtGkvCODy5T0AlfqioJkO\nOwn4kcyJm6EFdzLxEUvkE7B78hdVEYG+WP9zrYSbdRrPuunQ6sXJoMGIvokb\nMyJAKdzE8EYUHaZUipvHl57XNoWDV0I1/SNWE8K5aDei+c0KCg4+YGfA6dkq\nus57wBrzHlB3sGFNDVXc9+xavVY89gbZEJMPQEb4FYXiA78PWgB8iRIVZ4ED\nAOkIqqJxzbKy18HnzoxkhlXLRjsq+0eOcbf6lajqw6fnE46O/wRrfZlFtdWL\n47OEMelQyVYNccsFxDLTFn//CjM+DQPqjHkGk7P5djYZCTdDL7e2koH8k0fs\n2ILx\r\n=E//C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"64db59647b6d726098d0871993ac5c563d92be26","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.fbf73c2a6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.fbf73c2a6.0_1597957533974_0.1368536361083752","host":"s3://npm-registry-packages"}},"8.0.0-canary.cf800124f.0":{"name":"@material/dom","version":"8.0.0-canary.cf800124f.0","license":"MIT","_id":"@material/dom@8.0.0-canary.cf800124f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5b99f3c5d3a585d2d2d828fbc788996ad5a1aa2c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.cf800124f.0.tgz","fileCount":29,"integrity":"sha512-MsgB30i8x5tSWe0oLiUnCaeGGiuRheqAIk/EdEm7NV8byFrDyJOGfMYtufFA5ygw0hYF5vfxfM10+qD1HEtMxQ==","signatures":[{"sig":"MEUCIQDsN9F2qXi96sY19QV+vHzy6asdvJPX4tLT0mQAgRUQ1AIgHCX5EmPpDgHgFcNVjRSxsv52h8CxT36Lxds1sV/HnZI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPvB6CRA9TVsSAnZWagAAkaoQAIkZ4o9foPaPhyWpS7o3\n5TS0ijfZaSL5JLNRD/a4rnCG4OEx/bENJqJjMfxJU4residuwDF7bd5mHeUo\n64vxDD/9HgsHcKR8+OeFIP73S+dJ3hV3fuDgOPJdupR8C9UWu6VQDUOPoeSD\n0ORNgBTKAWiaBv10WAlAww/GskLGe79sK9CeQeGASSM2RGKx8xf6hB9g1P9s\naqeV6kzWl2+rjEuxn7tjNhEP3Qlbx+0qLSfrNlHHj+u3pQAc5i7euFNBU3EC\n6erNyvDeCC9o3Bh+8UBKcNVZEeww6Z++nhVa1+i13qS05HsS1AsR9wF2dmQo\nWpfd4UFuPKHHF0r2TXPSrOwvxMe8sGZvGXGEnZLdIkI1LMZNdtY+Agca7y/F\nn+zfMvdpqugmQRoIF5FxRmEPeirUIz7+ocwUhiVEl1e1ftUGAemX7X7xGtdD\nUGneWgLZ/zeVVjielO2DUYde6D0Dq30RLF+Pc43abk9HhNwVZGq3kYHx+lzD\n7+mxAqdlSqftJh0hc0bBZyrfSY/lMFQdDtv24DwbM7vGYaMVpIxpxb41oTJk\nJxW7g9zU/2TNNev4uMPE+aO+iOM35vabS57W/NQXBbmV2r9JRqZViyLKMCVP\nbtfzNbLQnImcwv6p7RI6v6D6AVrF0wBD3hAr4gVN1ZUpHynx3ppsZFzZ0Ay9\ndQ0r\r\n=92SO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b15bab8ce97a47831c29a3b0acf1c34e0533b8e5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.cf800124f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.cf800124f.0_1597960314478_0.12611129171928326","host":"s3://npm-registry-packages"}},"8.0.0-canary.95e4eeea7.0":{"name":"@material/dom","version":"8.0.0-canary.95e4eeea7.0","license":"MIT","_id":"@material/dom@8.0.0-canary.95e4eeea7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9ec636bc294d1b933e5da5bc391e73458714210f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.95e4eeea7.0.tgz","fileCount":29,"integrity":"sha512-+ed/TrC/nkeGPSn/AM5Lm0C0dQZe4QTlOQqXBShFHb2o/UzM0vZSue8zsqT+UhsEiRDmnLiBgojKw80D2F+76w==","signatures":[{"sig":"MEUCIQCUDOsxr40r2n7UUWoUw6zSAeZgZMRt9YIWfXAHlOchqQIgUkdbyBUM09CG5/dvoUDO3afUBwv0oXHgz2BzsqeyIZM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPwcJCRA9TVsSAnZWagAAincQAIKC4hMO7yCXmdA0h6mZ\n2ztJT1D1StWAGyo9YC6Jf9KqGFRaqI+oTnUgoRwNEpzS/Ge0Y+18SeVf+qRp\n6IWFTIe5Nn03P5UueMKc2Z68OXPZqs/4b5VA3JSJe0FfSWy+LEFYZ+OUF6QC\n/j9kfXU3f7CGfDveRnu584v8Oo7mfT6vdiWSNizFmefjcpXqTf0PU9+0DPRp\nc48RZPx8WbFRPCpg06uiydDNtvZf4XVWmE9xfCYGUf3vX3959+3Fsdk8C1tR\nwdQb3h8vcYemrB1MaOrFsB3LcoM+xl//fDYAN0agoYQRjrgBA/cD7Ze9QtEe\nVywiFm/QDPDjZo6Tmh8Kx6DYPcpR3a/syQ+3g+LC2sGfOnupN2zrKNu5YC6b\nIQa81Gundjm4scWd4LUMkwXfWDA8p3OoTLMyoo9KKEjeNhDI+f55CQesyGsI\nvAtPwt1ykALCtBWmS/bZYlKVSHgNdFxPg8KnuuXx3yisSrM3a0kMZUt2BO+o\nrSG3oiaIZ6PG4+YfIz69bdvVpde9zbZozKxw8ZZSLORCk3QFSagYxkht3vTi\nlfeR8Q8T6Sn1Syz3C8AlmLGzG0kpJj/krTTM5bRIvga5dD4xegsmPrSkd288\nXe/KgqJFryk4RkDvqhzyyFZkirBhNz/xI2SnsdYawfle25Ld8E8LrYQTZU/R\ncWDr\r\n=1wJv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"be1ca8dd4a02de91f796aff6f2a9fa745f02df13","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.95e4eeea7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.95e4eeea7.0_1597966088714_0.3260447637977675","host":"s3://npm-registry-packages"}},"8.0.0-canary.91ab1c62a.0":{"name":"@material/dom","version":"8.0.0-canary.91ab1c62a.0","license":"MIT","_id":"@material/dom@8.0.0-canary.91ab1c62a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"498a2e5d563e15610c2a141e49d6479d1c078199","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.91ab1c62a.0.tgz","fileCount":29,"integrity":"sha512-oL8yWchsBUHx5/y4ZPd/ETDbY21y3zqr6hF6gsh5E2JRSsRG929QQcyUI+gyvFnLa/ZG8jBdbA7kvzY5ardQHA==","signatures":[{"sig":"MEQCIGu52I9M3F1uiOCY7Ld1snqKAk/rjRzF4VcqAl0O+c93AiBIPvyf8Y+k33+YSfe12C3/QCIY3kCO2RIlelnXqGb0Ww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfP+QGCRA9TVsSAnZWagAAuvQP/1nItaLz8XtJTLLThVci\nKQfANRRhh+K6oI4gRF9qGWvZVVQAbOpjXjNgBJv6OvtC7pkdrGppD2qnM1BD\nXz6mgUSxBG16HVBpaeQIt25PnpelYDeh46FXCrjodH5r9qGNbRSkxBSayeYF\n3Ukkbi94BfNsn6CMq+C2y115iiEQaWJUS9lRU1QkGs3pzGzfnitdJNreq7Ub\nUdzMoxVBhY1TkEVp3Ob6WVQADoTU5p8JoPr6LtEYg1WRbIgxwXPs+2bPxboI\nL8SXWQcpHqACccrSDJIiJ8/V056txleplHnO/eSNqjZGfnKqOeNnlnvELsiN\nlaB0aOskigT6uW84ql/Kylqmt+GhrtxRpLIIcM6YFH0JTbG91yzccGLlHDy/\ns/TWnoidraiYKbpiSbjiDajwhrOC/HLH/UcEnheMpSdHlnp2HrQwOt6qEMdB\nEANWXSqjLzpecAiVSs6cMyPPmZDbrDsvRCRr2UMxOkky8ob5QpM8qqsyiJE7\nev9fj72WJ9QbWrAjbwq76iA+LRtB6Om4jIgX/atF47EJzLvUL07pq7pym5KM\nF3F4cH3f907Ysd0VZ+iUsxOOc2V0OZ9iTEnRdjRIp5vQmCz8ITN3Y9eSXFRo\nYgKNIxBp3FpYe8S4VqfUONe9rYR6O7LYkcTKGM818o2Gm1Ez0kDLE7dKaM7S\nRMhs\r\n=NrTI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"389b1e8f2b60ae90730087557ec80e133f0e0129","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.91ab1c62a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.91ab1c62a.0_1598022661999_0.5284540501928652","host":"s3://npm-registry-packages"}},"8.0.0-canary.58eaa9f02.0":{"name":"@material/dom","version":"8.0.0-canary.58eaa9f02.0","license":"MIT","_id":"@material/dom@8.0.0-canary.58eaa9f02.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"75409acbfdb76ef7f1b0dfef7446e9def79588eb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.58eaa9f02.0.tgz","fileCount":29,"integrity":"sha512-19Q3gQqWheUEi49JqLosc0/LCC1YIZ/24JYVHTN1MmYJ7abop7o46JARk/Rjf+7byRtWaGVvoJ139eoWHlW6yg==","signatures":[{"sig":"MEUCIQCF26yzVKzZEtKrXk1PSmoEW55UpV9HYqNMmrFNTCJ7+AIgfzBMF4IJBzxOrZrNN46iHfpV9DNdaUl7h9Lv4Qd2YfI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQCeqCRA9TVsSAnZWagAATPMP/22YojyLscJwcqZUjDC6\nf11CrnsSmjCJ/S5WC9PFPWb8PZC+TEvh+9WyqlhgijHQ5dTilGcFSxGrp3+K\nU4webUrDv8ir0g9jdqMlY4c3hMLwlpSlC4mZYfVp+I3wCG87VpgNMDGd1gTt\nxzoIESX86v6+X7IpKE12RisJyocBFAuu2nTycDQRhEpKCkjXpT+u9Lm6uFsa\nfopNsCRcEdCXCOtycdRkSDap9IUELEKETV9ZZSOYIlHW3qfC+6EgvZir8/SN\n0HXx8h1QNkoj6Lg7z0zxzHms27YTV5Cful7scmKyzKZbIJXUsmOkwsumn6Dp\nN55ZzmfXDYxrmXFBrMOX4V257Y71bmBVAVu9KhlATmcBhUApxe0Nq736GOWx\nXDboeDiQ6du7Kqpu8ts+XNHdEvi+o/ln2X1lufq0viRS7be5KyMiVpv2tUPw\nxDD2OcSp0/VrgS9X/IMoYC2BvDceXnHMDfknEymB0PQTzZB92soInuoZ6tLP\nxOzjDSSncOnJs/6uTIBidywgMe+aievKxEybON4auP93uBMFxc3gDBxeUZEr\nAg0M75FL+MS01DdFg9pZo3vKe5EDOu+rLX7Vhq1/xjWNbqAsviNXQSHnfVWV\nCYaD0Ul5vZXnc5IeNGKH7uSF6r3v1eJyyVn4V2fM/Z6DJM6jahV6FqOQSdKw\n+k7w\r\n=gt4C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9f3944d638392fa39379eeb30bd7348c9578f67b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.58eaa9f02.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.58eaa9f02.0_1598039978443_0.06294083865056077","host":"s3://npm-registry-packages"}},"8.0.0-canary.238216fc4.0":{"name":"@material/dom","version":"8.0.0-canary.238216fc4.0","license":"MIT","_id":"@material/dom@8.0.0-canary.238216fc4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"68f9a3cf6c3e74be6fd95012b60cab411f5bc67f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.238216fc4.0.tgz","fileCount":29,"integrity":"sha512-nbxukOMMfpD+09kYmSAXd3goLh9wUmhVG9xNJqUq8Gzg2dtemxgaf/YnYG90nJHeOvNKeXVhP6TUi3J/TxlVEA==","signatures":[{"sig":"MEYCIQChxoKZ+bB0dEnTWl//tTekLpg9eDGlApJlXkDhh8AU2wIhAJkQKoEeGyuO+i1ft6eQ8Qi4lqb7ShhxoGdPamJynRXL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ99TCRA9TVsSAnZWagAA2loP/3uhCBWmXfp4k0Shhcwm\n0BntK7LaohF8YOkKKV30SV7qX7fDcyQ44uWtUOQes+082034RLie64uTqXAg\ni/XvUUcNWKZu5Bi5CozpziZP5hsfpVLCf9MVRkysyHVBFVZLhllo4AiEgaLX\nn1b8at2OKtDCViID3VuDw+jN3N8W7qWLy9yN+5LTQOMdU2sQDt5620OwkAMh\nE5nFFEbQjkTXbtvVYDYu73ZGtFKhah2rEgypjq2URtlkhTLRvxwDKMQIaM8M\nmPqLtZNEO22gp7SZTAUrkW5wwm8GdVB21H1fj3OYmi1DleINwcLca6f75Hij\nr8BWT91+mynFVBBh+5x7NJio1riN6C12BJUbbhZb6d4RgduIcFlq8wHW3VLG\ndNY8YBiJtqXZGuNP9APdsBOMOiysOobdQn2rCMRbeMJbGLNIy6g0fKNfI1ND\nnsqo7DLkzc4MjQtR/sEv4BIYdv2zhfUAYsh3HlCxW5boye/VA17Jtlt3ZsB9\n3Ialj2RLTzo1jy/oQh7fpCfa7P/AeqUa0v/3eAMXW7yXTJUXsC3SLvHWmvJg\nWwm3R3IjLKbJim0ePX2FaZqjTlJ/+lxWJsEBMKbATc05pIBtUz1a9ULeVK56\nRDNvFd0ZogBqAA6FMBcMszIXXvu3ZvEDEvzzMwZG3PsXgMD/77cm0BHzVwNm\n3iV8\r\n=rsf+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e224b287e176f866661b15e2ee791e17fcc44aa3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.238216fc4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.238216fc4.0_1598283603116_0.06623169634657478","host":"s3://npm-registry-packages"}},"8.0.0-canary.a1c65593d.0":{"name":"@material/dom","version":"8.0.0-canary.a1c65593d.0","license":"MIT","_id":"@material/dom@8.0.0-canary.a1c65593d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a841cb7dc185a49bd0d8b2b9af67b7b53a3eb681","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.a1c65593d.0.tgz","fileCount":29,"integrity":"sha512-4fslHiL5tcWu1dpt5kZK6PMYPpfwJ80PrGMsuIODjvlx/xRxRBiRcTw4Bf0nTMPX2uKWldNgHMy/Es3Di0Minw==","signatures":[{"sig":"MEQCIAt8FlH6bmXRzL2hj8beKywgYZhxuhFd93h9PeVQ/pZMAiBh8VH0pKei8DcjL/hTfCOiCgvxrmijcDY+717B4k7d9Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRH9qCRA9TVsSAnZWagAASHgQAJ75nwvsnjiXdjmAKCFg\n6SFbqSIpDVVJuDPRsOC4XdJMKBbN+cGfeMs9xdsKFFhDsE2HyWBN3igtIZh/\n0hRxtflvvZvlE97ZX89hgGMGJCN+MKHu/Qhs47HMh4w29chgDIOXlVdeL5Qj\nPJymzYqeEJ4Km0M6RzDlaum+k4FBhaW7RiTnchLTieCtO+0FmNBJyW/vHBUP\nL1V0W+El2P6+Rs+5KfO2G635qGHyKdIte+mOHpm9pIF+8m9qENnL9TVGK9lK\nUD582DJ2V83AnVFHboQw0EYLfCUuVtbQumeKT8hK7ky9ardbuCxH4tP27m7u\n5gAIf0ttwqiw/8PZV4atrDUFwCqbPRknzQlGUxBET9PiCtr5fgqE1TcjSXCu\nq7GuW+m5SWTPrFpLXtwWP9wkBddcsiOzh/CR96WOZChbPbOeopFAMxGf+/pY\n0wsUGf+bRo88R2GbsTZAeM3TvtY2bvdQZ5CpT5SKxfxb+bCoGQojUtYN8w1w\n3YdXzvpJFsfBpYcOucLH1VD4KTb0KBN01aZ8dgtvsKjk2AnrEIWfAsZeVgW4\nmLx8wEVtWA2RnS+BqpPYrZVaT9//sE/0tdyryhpAsh71+biUYwPCA06JR8Fz\nPzY+kP+ikyT7PlPHHImYt1Oy6ys+UW0QCQgov4IOhVlbfgUUnDJFWpCICQu1\npySr\r\n=7gt/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"71fc6b5e7b16ba7f6d37b724ad4982780c9c9932","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.a1c65593d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.a1c65593d.0_1598324586500_0.9310415879655904","host":"s3://npm-registry-packages"}},"8.0.0-canary.708cc09c4.0":{"name":"@material/dom","version":"8.0.0-canary.708cc09c4.0","license":"MIT","_id":"@material/dom@8.0.0-canary.708cc09c4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f6c8cc2c1cb14cbaa87fe457d2ec0fa19173d2cb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.708cc09c4.0.tgz","fileCount":29,"integrity":"sha512-JsJ/Hp19F8BVfiNiyWZLzzEUiUswElXZ7EkqBNs1aOwEWojPO2dYPQVvBC3SMwrpl6xxJ18ibMLRQyMbWVNtwA==","signatures":[{"sig":"MEUCIBrrQtRYSb1SOrTsA+z+X9z5LpKc1u0QPiCo2rjMEWG5AiEA0fVi3GB04nN2GC3TnU3qoC+K2Olm6cJW/gbbU3WpoKk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRTR7CRA9TVsSAnZWagAADggP/1UhfQS5j5H8smbff4L4\nbGpGaRoKsqdLwCX/FbT7uHdPribu+zWmNbMg5LpLuI9V8o4HVgJrbA7bAktr\nsCxjx/xGPoUKggpdX+qAPPWUi3SNN8QtwM/OAHYzh9eJB51/GiawEY8N4z3+\nYlQP9bITFqe2M3XQkGwT3pZM1pW7wG9jitMFEjrIIufS2BHDMGpLj+eGaMSg\n52aUdpmK7WLbTQKikDI/h1jJ4eDSQIMIrg9dd2VtY+4yLYrQVGGw/KH43B9q\nEBs1JEoJqyNYzuSWtGfBpE4gSTZrnoT6hX8Uakn8QFUArUXFKhYHDcBQy9QO\nOxENzNrWhIFKYa7rX9IKViliHAskCY1BQkbraCtdlKLHMB+X09F9RVBNB0f7\np1tq7UbIhH3UQlcuISVyfhlSYh4qDf2u+7dqW9oRgNuwv88TtaujYJb+os/g\nR/PAfVdKoWvlzfc3GrCfszYeyUle31dq9W5DlFcP5q2u5xzbEGW+JjpaHnR/\nr7ulleWpO5pfk+SVEmA4GmqBAosiLeCyFyAhi/YUbPDT9D0yu4e67hf/HBCs\n79qPMXXg86vZ4ep8nqW03UYLUY//8VdNqvL3IiBOW8pxq+EW2Pce1JDpfdR8\n+DvfaRpQqLIzFxVfoaFCLgd7D0MenyZG6b3riDkbkz7oBxXgopSJ8g92auVQ\nUslS\r\n=u/vm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"41353a40a8a6a80ac6438fa702cff9ca690b897e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.708cc09c4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.708cc09c4.0_1598370939220_0.25989434419546575","host":"s3://npm-registry-packages"}},"8.0.0-canary.19bea2ad3.0":{"name":"@material/dom","version":"8.0.0-canary.19bea2ad3.0","license":"MIT","_id":"@material/dom@8.0.0-canary.19bea2ad3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c2b541e22f026348552566f61ff9aad095af56d2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.19bea2ad3.0.tgz","fileCount":29,"integrity":"sha512-5g6D7cTf3tJFF59/h4dEhcjyUOqqO1kbioUejasrsH1oVPlcClr6xx4f+bkWLQykroSgH+/4z++F3GL9oW471Q==","signatures":[{"sig":"MEQCIF+xJDU+m2o0B2HeqtkudZrjmWxW87idhNNUTr14Uc7TAiBb2WngRy6L/LqoeO6EkfWnT75diX5vgKgwaWTuK0Fxfg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRq6DCRA9TVsSAnZWagAAXP0P/jCWMlr6wl+6vC8f2nDZ\nenFLzwYJOnwn6ULYsf2VVUnHeG8A44AY/db0RbSKGe68LuW32TrA2sgO9OKO\nodmYsPu1ywZVV32RuJ8DMnbd82oD8Xf3EFKs/w1Nse4CFqlsQ8tedoL9UOgD\nxnLjbwWxsHy3NgIGVF2GqW7Zusx8ZQ5SzVQxk/jyFE6ipojq71fP7o1YNTB/\nyhiY0WWnvm9rYPcu5M0wH2vXUpQV0HZbY4jnqgYLY9nq5uIycPmcf4JYOO9V\nqjRODZEm/o1L+oWmta6kKRhPm8zRO4WSynDboRXZpGATH1P3cWkTo6KhzlYw\nP34kgj6uePJxAOJS1Ku2Z5+0rt4aPHatCMlmMz+u5F73yWic8hnD9F7Al6ms\nOoJekoDdIvyJ8dR8IFG6gDhUzKMjOhzbwG9Md+ueuoTXDDdqM+lGpCCvVmbo\nD0U0F1Ys0CvcysHUJNDMMv7w0U1EgfC/iZj8gjsW6tXh6LDZHL50mthT1Qma\nvfKCVgF3CubeXYe0TtAeihBZkh+KZMbNDyZaRv9k10Kxr8s3qDxCtO9meWnm\nIitvi0Dp2Iu2mM6JrKY2imu4tNpU/fXGTM05oVPaOwLhuHgVQ26ysrHagqLl\n4Mf/lWGmmKJtftHVG6/roGbAaABByyFZf1kqGnssm0GJnCgIH51AbD8ZmO2L\naala\r\n=vXZV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4f1ed83b6a09dd3e7d24508d420cd99be9dd3893","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.19bea2ad3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.19bea2ad3.0_1598467715133_0.625156063780663","host":"s3://npm-registry-packages"}},"8.0.0-canary.911014711.0":{"name":"@material/dom","version":"8.0.0-canary.911014711.0","license":"MIT","_id":"@material/dom@8.0.0-canary.911014711.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bce4081c627aefa575a590baa1fcaad3d4d17590","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.911014711.0.tgz","fileCount":29,"integrity":"sha512-FD6nv9EIkPogz7Ihqh8Ih6IlSyYU+/ZTz7ys6YNohuK7ffZxyD4Bs9I7LagAJPpNhTI34GIQd9Lx4wh9zsQNPg==","signatures":[{"sig":"MEUCIQDq2PosiR8dOaPxmx56fu8uVJJBdQh76NN0yGLAU0OTMwIgXdD7QFUNxnQPLMBX0LgvRfOYt0ALV+peViP9PtrNM0w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfR9oxCRA9TVsSAnZWagAAiucP/2T0PfKUl+dklAaMewK5\n6nqc/HQGTCXn4MwziZR4eeA2PFDK0T+U3J2Zi59p45zQPzSZ++l5PvFBCkKt\nsEuFqhNy39oKZ1U4Qx1ynFLEtEIEU+gbZnW3tfafnNJqgXF6gscS/vyyWYDr\na6AHspMtiORnL4fNiVIWp1JQpOe9fJiG3BOfarjjHG6Gkcddg0eQ5z676Hfh\nYy/r13TXp5oM0dIXffvNYXfpPurFKm8yW7EfID9OHo6lRTgRCmq2MwHTSnXZ\nYKWI6jzH9QSMHQyq0+qCuITHr61e3pOjxTYebinAnSoT2IzX51pyDwPanadK\nk+fmz/zbqs3wDLCMfn4ImitvSkTHpApXYkY8goC8CLg6JrvgrMAuQorzy2Ou\nxldfaSE/yFF40sXX4QVgj9tF/Mo4o6gW5HKy5iKrUcZTwm4DLt59thKyfD7V\nxQnkY0+gYCbLGG66y94Ajpo6sW6saOYiRm7siMvBvT9lVA3mAME4fkc6sEr+\ne5VRU0zYA+hx9Uu/317aucMvZUW7/Nx4ai6a0zf+SSbh7DoQpdOXBPAeGkaU\nIH+VHL21I4E0GCLwc2wMewc2CwqhHWXnJCxHR6ZyTkSE773Ks3dat/ATriTi\nrIfg9MRqGwrWil5hrx9k2LsvD6+0ti5vqqj5TjYfq0QnDkwO/sg/OYY57nBd\njdVV\r\n=hxCO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e0563b839594887804244d231bec5f415812fc4c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.911014711.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.911014711.0_1598544432865_0.9883705069066662","host":"s3://npm-registry-packages"}},"8.0.0-canary.d3387f54c.0":{"name":"@material/dom","version":"8.0.0-canary.d3387f54c.0","license":"MIT","_id":"@material/dom@8.0.0-canary.d3387f54c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a30a4dd8056bccb806b15d935d03c57db463d04d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.d3387f54c.0.tgz","fileCount":29,"integrity":"sha512-bDixw34ZOfruOvYAkcfnc0qbw8QCQx48r5uNbDcL8mpkDLt2IzJRPG5puCnYfBJrsXYtwu0z5XDU0D84fdMX0Q==","signatures":[{"sig":"MEYCIQCstzqR7QQyCsYLparrCuQFWKAWFRBwrAHKsFaD2n36NwIhANcnpQr/nkwAVwKbY5YkMaStBbBO1rz16WI+y5Zm0mYQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUVfaCRA9TVsSAnZWagAAP3kP/1YoMbrvsWattw5zgE1S\nidDjIddX7uRpU0CtLHobpJyuchxXp0GdCGtz8qtNd1DJsVh54BJ/aY7a3b12\nCVKm8GMRZ1n5kyUaWVPia/703ytxnjschuZgp+USpTYanT915So4Qx6DUpQo\n41uPZQdMTEXnoA1CoaBKS+dQSTfY6vZ5myAJracc+OoDzNubs1lZTpndGsPh\nLnyRztTQrQ2Ln+HNlz+OK77/u1bWTYH8szP7UVndJvQZtYxqIeD7W/gy6SYV\n3Cx5r/hAyW2XDQHzRzgxHBUdMvLQhssZSIk4jjBXQx3x/uAsMxHtxGio7IYi\n//Bx0zC99CRJFjjs+5jUhnZkV92kMCyRo0lL6SyVUfZT4/WfRbLTXFpsw0Aq\nTjl9Pl/zIxY7w5t+RHfvRxJy8Ss35MyYqCkhFe07dy+MksRyKmJHoQIvwgVa\n/5QZHblO56XsXBjSZQpcyQmXBfI3Lkuz/D/2IVP6m+jInYftvviln6Ny0PPE\nCHF0oY+BaPQdJ4Dwo9q9+xA23wg6LATxmsipLAjYBmu7pbFD13B1mAEPn5En\nvKXQpzqJ7T2e2w1tnDYFdPbDVjJs4n5FSsRUJy12Woxj13qAyIH4E9ZWOdos\n5yWpnRuCxE85Spljncr5Om82oGd2hqZKFe0ni4yKOCirQ5+za7FCO+Do3REO\nG33C\r\n=DrZO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b8c159d735641688e2fc1631ac7a98134ac5fbc4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.d3387f54c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.d3387f54c.0_1599166425809_0.9629161504225225","host":"s3://npm-registry-packages"}},"8.0.0-canary.2ccf996cc.0":{"name":"@material/dom","version":"8.0.0-canary.2ccf996cc.0","license":"MIT","_id":"@material/dom@8.0.0-canary.2ccf996cc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"45e1225b781568f291909f77bffd514176494b30","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.2ccf996cc.0.tgz","fileCount":29,"integrity":"sha512-3kF2VcpM+jOn38jTvybRMgVwIvDJBXCU/AUbGQCCnRrLces9oq2j7dAI5fvkI+rRw9WUTh2UQIffjDLAqDDNAw==","signatures":[{"sig":"MEYCIQDzhc4GFF6Fa7U+pTYNvdubMpm1PSOrfiFjAIXA1uKomAIhAIXtf3aKXy7T8G3/PLZZVZ+Gy0q+qTp5GCcfDlGLj//7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUVfvCRA9TVsSAnZWagAA3WUP/2lEUQ8y0ocFAfI724BW\ncgsmJJzMxIAj/wl4stJ6L6jiLOI3JStehb9As0QgjBnTRGxl71uSq6wvYKMV\nDaFq7nQX7npRiABP3bvu9vd7oID8yPMnCjN/WeSPrEBUwp8i9fhxTZ/Qk/NE\nz07NqeB1XxMESFnCFciSSZzwKC78GtyaNytG9mze9JyVpcwvcy0B2rvmMTlT\nKa+schNgad/vUh/b6NKu+B/12Pg8eijmpX6kH7Gp2goiaxCOfITHQ09yWzYk\nMEBOP6c2V+HToBcwOj7Jk8K/tpkT78CnQ4bLEet8N5f5UWdXUpcMJx7osPC6\nsPe9n5ETyftQ1aKFXkF3iojwf/sSu6mSy9knlZri4I3k+AuBG6+HlhwKvf6m\nD4fdWgVGuqfxJHjpMKAOgdsPmIINf6e8KYp1YN3dBUs+jGT/lOHtJebRd3lX\nt0/GVBrsr+3cTM+yw8DXuCz+ZwZp2Z7E3Uzqnbga7WC3UAsmGOJPOmYXSBrP\nXfafe5gpm1OpGhggOJrgn37E2x2v7iO/kuKl1DZVOdsr4s7ZVQbeWfpXv69N\n0HzOARpeCyvhX4QJph80bnyfUemwwHt/b3pRIHPR44kNsQl6Mie0fUQCP+Ct\nfNfXsxxr3wszF1IYEUSazvfIWkAzqiCJHKCDAMtNKCHAEBjINEdb3p/JwGlt\nO+zK\r\n=U4zH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b295adf5299f65a654963fa774da90dad3e39244","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.2ccf996cc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.2ccf996cc.0_1599166446945_0.6626676419168727","host":"s3://npm-registry-packages"}},"8.0.0-canary.744bfe5d8.0":{"name":"@material/dom","version":"8.0.0-canary.744bfe5d8.0","license":"MIT","_id":"@material/dom@8.0.0-canary.744bfe5d8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c27b6667798822b4259f9be07aec330b1b54b344","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.744bfe5d8.0.tgz","fileCount":29,"integrity":"sha512-pjotOYxP2RZbhHKzCC3q6qQm8BRqgzK2I+5v0u9oWS7L5DuAjHQW/LlqLu3TRU4rTJOiZbVLdT5uJjMySYCC3A==","signatures":[{"sig":"MEQCIFMANZ5W3jR44y8wQNZIp8e9z6J4I+ohRuMdeeR/NwQUAiAVDKO693gELaYpotTOtRH6gnTmrd2ZNMAIdSVBtDYV/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUVg1CRA9TVsSAnZWagAALF0QAIKhi1LVM03R+ehKKdFi\nnfDtrA3xOtpIG23HW0VD6wcLeYitXcdv3hVEgBPliGKol+wR0U7LZmZzl3u5\nu+cisZO6tWwtccpFA2pJ74an+Jlf+8SgpOkzQ4s9fyoITajfgh7snOfdHlWG\nDY/8qIYrmqMe3UtuEq6Ynl+ZG/dGDL1zlEtceZ8e/SEJBDi7L1br8s/2RIzN\nDYGaiQFbqky1tYp5AUtD/VGoWSGRAl0w9llbtrXCinX4fhrKJn1qxT29/Rz6\nEs7hypAj3DP/h2mf8kW3xUik9jw+NzzPDAYOzi+EKOCWWYTluRgT4Ff1JJbb\nSdnar7lrGVQgs9Y/HdXirLDfC4Rx9MEDyyK4IDbTGaZQaiGC/QNhP2RXT3h6\nrL8A7ZWcq4UvAKcy28bMFAhMNcAxxraPio6O0BB4JMpVwzE75L1SpM6+8jYL\nleve6jTETm6jG48nKIFgx3gjdRiLUdGrP9c3/yyv5DSF+3MWfpIDiNAlKPAp\nrjphKcGQ2OM7U1jWPPSlx6nBT324Fu5kHF4YXhNPTIZ8+fuRImmeATqyzc1f\nnDMFMwun78TWTj7erqn8PH8lu4d+mFwJo50jxeIit+Drmp/K7lvQRXFWa8+K\n7WygYjl4QfdMp1DyHllunJx/Ls+e5seGiJYvqhbQP4Do+6+lxd84wKYC7zA6\nBL/f\r\n=YeP+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e8e9d5605e05fdd50b88c6ce659dc2ddd8ba768d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.744bfe5d8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.744bfe5d8.0_1599166517300_0.4287966225155988","host":"s3://npm-registry-packages"}},"8.0.0-canary.78da96eaf.0":{"name":"@material/dom","version":"8.0.0-canary.78da96eaf.0","license":"MIT","_id":"@material/dom@8.0.0-canary.78da96eaf.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dedc0c8a8bc46b3f0add87ef659158969de2dc7d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.78da96eaf.0.tgz","fileCount":29,"integrity":"sha512-cI7XJTwtFu0/2DvXwfGkC3Hot78Tfg1gSGGQhddLi434vSLkDD5VG9za2Sa4xs99E9SRkLaczOP6sTqNnJslyg==","signatures":[{"sig":"MEUCIQDIdcXiSL5RtNTutiIe8KGMwm+5//voIf8kJ10ruXs4FgIgO46p1jda4/77ZQJwhKp5t/92sLa1w1q+CiwWATOY6nA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfV9eCCRA9TVsSAnZWagAA3KkP/2yaVrgBJl1j3+E0dT5R\nvMlGhmaMVhlV2lviFTUSye/dii0F55djZj/znbNNwuolsAC3uORBVe1HUPsB\n6UP+CJN7XBZFHKwoW1Udxi1RrQ60KuHY/h/hnIdA7US/J1ppUstWbDw19y1a\nxSZ68j1+zdsqLZqX5i4lNvCGwDEq4Q9X2l0Vbh2jjakCLWR+ed3RoVXGSSt8\nNqo/Gpudgz0xmHgcSRqr47G9cgn03Ep2kEGFuYZpZOf+Eoz2eM2utYtmGmoD\nxQrmEZSV3iA6Pci35K/a6gWpeko9l7rBhWL0gGjJ0grJEAXiJmqkz6Ya36E1\nhtnjlu1eBL5tf0qcS21dII/yjwvA96WdN2Fcgb02XWQE9zLvFzF/VTJHucoJ\noc5pS0d8ntJXMn3kAYkkMDWJzqXdL595bJY68ej6mM6F4IzFgU0P9K5jw8pB\nlpdmA4pa7AH8oCB3A4EhzBpS09hDO+r90fS13ATkcJEmly5rF66lcUdE/M0n\n3haGQiAYeyvPglIBqjgv8KlGIFIR/vb4X5kdsGi8qKGacTCH8aU+sbXqRyy4\npP66uxxdnB0QfdcaMmg+2F4B87GAsrTaVOVZ5EVCtYkttCqOpROttY8BkX6e\nnM1E2bIXG3MxnBbCC9HOv1o3jO3jhE9OjhJMJXChMuGQhXV5tekNUXYB+bE6\ntxau\r\n=GUsf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e9750a8b0ebee9367eee7e514953a1b1ac6fef7f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.78da96eaf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.78da96eaf.0_1599592321941_0.9284549531227242","host":"s3://npm-registry-packages"}},"8.0.0-canary.b0ed593cc.0":{"name":"@material/dom","version":"8.0.0-canary.b0ed593cc.0","license":"MIT","_id":"@material/dom@8.0.0-canary.b0ed593cc.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7af16ba0feec7f9a8a87ba6183f90769d8ccc28d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.b0ed593cc.0.tgz","fileCount":29,"integrity":"sha512-RONsSaKvTPhbdZCmbq+U0dPXOjwDTHPGeeythjJcl87T8EpWp6PKixt2PMy1TUHG4A1LawqpXyW+Zv435+wtBg==","signatures":[{"sig":"MEYCIQCzR+zSJU1VDTvjYIzI7AxYje13lnkuNhIyGDG24BcXPgIhAKMH9aApZG9oD96G9N9MQoe1SobuwvlH1kHrAVF86PwY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWHL0CRA9TVsSAnZWagAAz5UQAJcDUW4z81B0QWOtKjVw\naWXsblSjPLs0P7k4R9Uq/fzzA1gghQU8ZZpTvMrFhRSOMEclGfGmmYLzGikc\nvTPC9E7eVCyBbl2nagacfDZczysZ2O19kcxzvelLnxulPtQbTd5KzzZlho4M\nUXnjRpjvuKyqrbc22CKsxXo4nLzPbffHLvCaDMGwOpccwITW6N/Cp47lhI9b\nbn8dRpCf3WgECe4DhcHn2G//lzG7ZMd5Us32+Anl9InbIrIFFwqN+2rhZ3ew\n0S7BxHqizH/ZMkCtagdpAur8HkxMqnCxBeQezMrsf4Zl/UFY6rE8k1rwdjyE\nML5UIG4L9nAvpSEXF38KQnhUoCr4ZBRgG5v80a2scqB6L4DtXqCQ6jF8LniY\nDDnf1zoAh9asPf9VyC1+Zks+vfKYNrIQEzP9BaGfDHy4DHOWRYKAEo4vUc3e\nt7Iozci/fs//76jwWKdcyFzAHtHFkw0SyL7ggZQasB2+v+0l7g7x8gtb5nxw\ndMGNmKTWS+n9z42ElK3fvVRxcx9Zn02hXqc0xYJC19ouSeUOTYVr03KgmaOG\nt9AM1/SF+iOIqHAljgMR3P5PT7g+lHddGm0X030UdwUtXnFLlmKAlvyGyVsP\nAgvCcOQSdnz2xx9LGzUBjniI3xK6+PrhejYWTKxdxMZ9i9JqDYgMtAp/ygbG\nBYJ1\r\n=b8v2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d4dd3b56db446c52c35f891f9a19896a2b762f0b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.b0ed593cc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.b0ed593cc.0_1599632115571_0.2969926020106415","host":"s3://npm-registry-packages"}},"8.0.0-canary.85a1fa9ea.0":{"name":"@material/dom","version":"8.0.0-canary.85a1fa9ea.0","license":"MIT","_id":"@material/dom@8.0.0-canary.85a1fa9ea.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a35a16e66363f5767a624aa42422d148844f4121","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.85a1fa9ea.0.tgz","fileCount":29,"integrity":"sha512-s5O9s/TdLdcyF16dLl9w5peZOwzYZm4YyQcBx0KocIQ55eqnYoRYY5Qp7rp8dOE4s895OhbPtwXuFmQ5dvcFtQ==","signatures":[{"sig":"MEUCIA4+OO3ENhcwwjDSuHJLzS8l2syJuzZsABqhI40ZZPh0AiEAtYq7LVOdndkb7VnKHy36ayL597E/+er9KLhiahzGD2c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWpYZCRA9TVsSAnZWagAAhZ4P/RYS5CT02QASDeiQbjXi\nbmfwaLQDubZk2ueIyavKaMFx9KeyhGCh3vMstE9okirfoPDDvqFFD03fhdGq\n8NYm3y5MdL8GtKtYi5Ade9pyPgU5u+uvfrZ/Q+ulaRLpSw+18NQqGwIGhvUu\n7oNn/NLd/8Tq4isxFQy64+jarmsKRXSHc/GHV5JJN3bzkQXSQhdZ3fysf6kw\nnB0tXCNe+ZKAC0hU3mZlhqd0iz6ELMU1Yzhh4/LZn6McjrhVtzn9SEHXARQx\n2ckqWHoDA5ZSVPWh3FlLs46xww1Tdg20YU7ABgAKO0iRR1ZNIJ22aZMr3W3S\nAW/4bjCPm/u4YLruWuOORqq59aCzGZEArt2ppsHZkgMBjFPi3zhp+wpw/9Er\nx6T8VboArASDuZ7XWP6LmLY0xFD6UIrPTDlydGZ/fyYWz+dWj/BDr12H4iob\nEGOtG1lyYhVtfZJAqJjR74SMWY8e4th3pOWZdsNxFrbhh6NqpeP56Pdlyj5d\nd08cSzDiMK4O6xCEuXsLyzXxpPOYqEJIc7hrFPaGq5uoiJyJzv2hZ8m9rRpd\nJsndYEWY9rhlIoqhKK7PYOeteCH9XjPBXH13W8buhRDP0BteaLkTPatIbHg5\nmHkcH1d6EMsXuGLoYt7kNIKIAK+Oz93a5FSdIeSY03CYX4l5+palI0i8XvQs\nvb7S\r\n=bZh5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"96441cf0eac61122c48c43aebac2e249d5bf492d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.85a1fa9ea.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.85a1fa9ea.0_1599772185320_0.5609322090043167","host":"s3://npm-registry-packages"}},"8.0.0-canary.0bc41a9c7.0":{"name":"@material/dom","version":"8.0.0-canary.0bc41a9c7.0","license":"MIT","_id":"@material/dom@8.0.0-canary.0bc41a9c7.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"87d3ed285432c5d06d8ecf24decc0309029f42e6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.0bc41a9c7.0.tgz","fileCount":29,"integrity":"sha512-umSm5q+AP/5r/gTOgBoE4YFbqHb6ll9D87t5MhQhO+DvRF/579jxJUJNN9LOROHMuhzXO8yEtruV9zhIImOssA==","signatures":[{"sig":"MEYCIQCHpBEUNOGgmH5SQCe6ftzu+WOl5m6aqafPmpndiO0hPAIhAKeltRKGiEAYjDDk0sy/4zBcXY0ttqcu99zJPleVEwWc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW7iHCRA9TVsSAnZWagAAdb8QAIzg14xesE7uMx1FrsIp\nnvLy1N6FtQR+Dl18SQidg9I4dP+WhTKLx5jh4/33fJn+KppbYX2dyP+UKggb\nf06i9G3ks7mPtGodWDj5PKY5L4GL26REq70uoQuz9O1Jg1sgjFVqFkgYGVHR\nUfN70CSVNf/zpWpKdbszqFsFB8c6PRYqbx8kGw8mRnezjZDqCei8mQ1RBG4u\nsx7hKwfHy60Bax3rMX2guldxbZ3h3Nfgyd4mYoO+WmtMA+HJylP+WEY+e05g\nn3ze/MeG94yR79OVnQm32C5pw4nqdZ0vmTitMHudYcZCVSUaZVnfJAys3S86\nXnaX7gA4MJDtaKWvdxYVuhliQyPZod6b8HXn6VCQ0UMN5w/vIgU4sYchp5Zz\n9TvTXQXhFMmSAqsx3YkNlg9+eoZBIjYiBUawVRwsuG9Q1sFxx0+49cP9RA6e\n+Ht8KXdG4iiTO5M7zGPLGWeLxIYz70SMElGoHHmKLDDL2ukeoGT+p3Bm/QFb\n2zfOrpefGKRKJFR1ygy0Faa36lBqaDjK1PReSXk9ZRKuEB56KuPUv9kcZNjS\nOOWK6a4OFADtZEu/YumaJd9HInQYUQwuW7LH6oV5RvUjYNodspLdiTJ5gRUE\nrCmcohJH1gyg6HTcjded+VScm99B2DJ7e5J7EqvMbT6TfrlKfR6OnAJPg0k1\nTG0K\r\n=RuOz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f9e2c4fbe617a115d220d49782884d15a0d9ff51","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.0bc41a9c7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.0bc41a9c7.0_1599846534851_0.18766658950607784","host":"s3://npm-registry-packages"}},"8.0.0-canary.fc0eb5013.0":{"name":"@material/dom","version":"8.0.0-canary.fc0eb5013.0","license":"MIT","_id":"@material/dom@8.0.0-canary.fc0eb5013.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3bed9295b7cc792f8905b24b624713a36af7d45d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.fc0eb5013.0.tgz","fileCount":29,"integrity":"sha512-35FEHJstmhWQphx8Tcd++Gg2QK7jJ0BY2KtUf3ogDccmVODG+EptusxOogqTfSBHHYZzKUTXcm35+b6NPHe0/Q==","signatures":[{"sig":"MEYCIQD7ZDIEQrhPZ+q4aqagzhiYCWNmou6ewzRbNDqVeI7zEQIhAL8ZflLYtmbN7pEoorOru36XqGFCZQAlb6jP8ul4IUKr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW9YICRA9TVsSAnZWagAApBgP/jb+t+amm/no62UGN7LB\nUU9oHJa1w0BlR48yDGYT3RQJUgta0l59/2Ps2Fz8gc13m5zo+K3yZkbyMp2X\nEkzW1GKgxDfaOAnaGxsCzl9GrORtMbfdBPdV4FdfOB44nd/4s0YRiKHJ+eCw\nrkoxOSxrze4SWwNthTJEokubzC+WYvXcCHuZzyCJ66SakeQ/q9VcAqZEOZUk\nQOVtknViWMbUIzIsvLsU02bZ5hjESyu/hlji5MFYhnzF26WWomqUBRa6EdyA\nFOh3O1brj8RZiVa6ROcmyUpzEtTC2wITalY96sHMWsewxurNwX4gSWdiMxH9\nnZbdF4MUvJfVjFwIDRQw2YVcWDIOg3x3YQOYMpJAt/0yz8IUOR9oGVnBZ2Do\nPiucke/LDlAld7dlgmXbD3gpXIFNqd1nmOG/97friYbzkmiXM9XQuBe2uxRR\nFKpMozB0mjttMXG3KcRt5vy6v0j36YYZo3lBBSjFg1Tkqupios3o5sFNJuMH\nMVMuOMWwFAJ13oY/iaK8DU8gATjdpex4ZCv3+W00X3V6kItjiSZGwxkC3HM3\n2UBgDtOb0ioi7Iftd947Tr9VS5yctQmObhIpnemzTNPeuuy483zWK9v8I3EB\nKltg9pTti+ugixHhgvmn4KmmWaLhr5wPfMWXlPd1mcfw3fR5zhZ0LMdHo+yQ\nMfW1\r\n=34ES\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c6572140acfb45fa86b79570328d75e3869c40ef","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.fc0eb5013.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.fc0eb5013.0_1599854087997_0.4519691161065511","host":"s3://npm-registry-packages"}},"8.0.0-canary.319bf66de.0":{"name":"@material/dom","version":"8.0.0-canary.319bf66de.0","license":"MIT","_id":"@material/dom@8.0.0-canary.319bf66de.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5308fe5b12232e113ffe407d1f65feb8ccebbb50","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.319bf66de.0.tgz","fileCount":29,"integrity":"sha512-f9QPe6EeBUVWlT/o4j+8MBRgR6JVs7a7CPMLRfytl57Z9uUZIA7nrj73ZS/5VKS2ayhzrFdb+QaiRMQnjA/J4A==","signatures":[{"sig":"MEQCIEbl9zgXxXMUsA8cgHPvkxSd+9yYIyWHW02ddLCTvQEMAiBjDp1axO2YnKXfEGK7I/VnuZv/9GFM0+b1Ox33yPALvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXAOnCRA9TVsSAnZWagAAwg8QAJ5epCL3O2p8dtoFRInc\nT4Pgu5r2Mj0bgAl09A0t9dGyrLb0n+DQ5WgJVvNkRU+2dmaVzUnd+uPz4cdJ\nGpizgjIBzEDBedlD7OUQU7RuIZDYaaiOs+4DIB78bhKXth/1XBee/WLoI7pZ\nqGndoEsjULf4GxO2nI0Nf8VfHzEDHhT87ZxcjGs6U+BTT1DFq22G2mUp1Q7Z\n1NvK/YdVgbboY4HzQVVUWRyFlAlyr8H+iiW5CSlYm+8R/g6KY1q40IyfKJ1H\nxZJSlwUatpr7JDxiXTBSl8/7RR/58qKUu6so+ZsMDTi5MBoMtnO2ejTjIrOi\n29i+i1nuCuAs/877A6Rf04IBjPg/b4eRj77lqXDloF2G3mWZgDNsVsY+uvyP\nBdSGd7976nfPfeW6uGiMhpOLUd+ELmw29sIWWZXui3wCIqYySXMDW4VTvz1G\nuZf3aJlhy943kYaPX/jEQ4ya9VxwyuhxPZpszjQLUgN5CrFCO7CM0c6qt8Lv\ngq+I69WByc+ZIq2+X2rb8wU6JifZCzt9KDSj5y6J0IRbqQ/vBeEQnhjDzumr\nviGOPRPcTPEpdPIj+WsVwiGF/ERryekb5RRH+nfZyYXIOOS12d0Lt/zUt4L1\nXwccEbGHXDHiUSHvaUE5RzQS1BOTXljNclTrvqYCBLQYwNQWzp4H1m59TKsd\ntwQv\r\n=kCtO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ba4054064292bafde40e53fcc87405c8dcad24b2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.319bf66de.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.319bf66de.0_1599865767092_0.6141376115442647","host":"s3://npm-registry-packages"}},"8.0.0-canary.5bfc305ec.0":{"name":"@material/dom","version":"8.0.0-canary.5bfc305ec.0","license":"MIT","_id":"@material/dom@8.0.0-canary.5bfc305ec.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"63a6d36715192c67fa7d23a24b373b0ced079539","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.5bfc305ec.0.tgz","fileCount":29,"integrity":"sha512-otc6mP79UtLmBOGWkOSo+3NdOU2aNAZUcBk9utI/v1W4xZBfnYAEfT935hHkhCK+S7rpCWRB+II15DyoqGLW3A==","signatures":[{"sig":"MEQCICtvFjXfpoj80yyS/lmAnBOShTO9K7E6vXEvFsGhEU+CAiA+IPGxDZ71Yx1MrtheFAV3XkBPQojP38qsXvblBypYRQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXqRPCRA9TVsSAnZWagAAXzMP/0ArRBgbVj2KnYK+RnTG\nKecCC0ESjt1esnmY+eQiiuosy2u7YhFUltu3tDYkfFCyDjd29i17103d21Pb\nRPsm/iFNTLIjgaOgdwIo5CtCtqB/sgl6Z6Uht4/EZvXrc5N3nnwHraojpc94\nWC23mnWnZviWh7RCC5RWeuAxIHz59QH5x/1bmlWGCA8n4YM3xzF9sND8MPch\naki+fIGhq4znrpJukjI5lrcXtDFUmJtq4ljgn7xAfWHpXoqNDA4U+x+qIX/D\ns5AttQNNFlaEU1VkxHOSxvxgDAOHAtk1SjYWWS/XI0EPF52wXzyUz32txvbI\n9yHy891AAVY4RebU8cxBmEB4ci1ZkIf5OtYlo7OngWO7KxQnGidMyxN8+ZeQ\ng5oWigwGJBSQ7FxAhc39WH1KeVX3Am8jlPxCVDZXh60akaXx+1MtsfsYUAq1\nhy5Nen5z6Wn/Nhpiq0mLhv+ljTf2Z1q45pb7+SsQ3wJQfl7oWlV9P3/ngz6v\nq8it8zovZ9efJbESVTqBUTRXeZgeZ06THame5a1PtFYyO+CB2J6JG9Qe9vG/\nZV2dQOQ5LJ6gEN2/7h/Sc254jaukm6eYOwH6jay+8AW+SCvmj6ZBbBGvzc2X\niseyaErKE1qBEt095bos0HoDn9zbD9BMAfAQ7fpG0jozWEGzln511Gh2ZsCa\nDPX2\r\n=Y/K7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"96c0c187c7fa544c1f5303e96ba3e85cba86e5c2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.5bfc305ec.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.5bfc305ec.0_1600037966850_0.4029784316469882","host":"s3://npm-registry-packages"}},"8.0.0-canary.83d83f131.0":{"name":"@material/dom","version":"8.0.0-canary.83d83f131.0","license":"MIT","_id":"@material/dom@8.0.0-canary.83d83f131.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"311749abd7e9e2b35bc25751da7013b846493a11","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.83d83f131.0.tgz","fileCount":29,"integrity":"sha512-zSnqLT4NW2BPXJdvS1xxwOGmxaHCj9RczkcFa30s/shNlONfSfAEO6ZKiznpc2tMP6l7waH9BwsWWVXJHoySIg==","signatures":[{"sig":"MEQCIG151V5pHD+D++YfkC5KXooF/Qr1VRrF+htUDt3s483UAiAdEEXIWLtNXbodjB856hZkTyWzic1B8Z8WPgcSVUUVNg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXrn+CRA9TVsSAnZWagAAKJkP/1wfyiX7lsJsZ4CxCwJR\nEdcdy15E5MHaIhbHP9mqhpVIuvhxoZDToFJUi7S6MXWDlCWamHsH0ZshxMiX\njJmaMlpM2PAIaKVd/fSjfNzcvUQaVSIKyWfQXsEPPKbz4wr0ncRi1QKR7cQh\n9skVDgO0aDFtbLOxsEnykhLorBCKCcIi0FPR5gAvBWyiFh4k9yYsqkx76V+/\nzGZfelvVgUBgIWy5cM4WoeP84lRlmcd5JYTw5fVDslRUnkNPxd0lPa3nX9Qn\n6P937wujB41/KiicVp3vo7OZoFm107Wxq8QUt88OjJwYZBBpGzBA0caT+jC+\n+aDCq704WgX7qd5iuFX2kxTOmesGNb4h5ZY7SOio5UxiaMkjh1DwaE3wFPvQ\nXFp3d80eQmw1QlLNhP/MIdAsjxdKFdNR5NJ+RRQJhJ4odVPvc1X6uUyiWSe9\nfhBz+g3nR946YsorEzu/H+0nkdihJ33Nl1zTW1Y7jrkWAtcxSc9ngCLRIWuz\nNZgN5vK6OQSFSbXE6Hj4lbkbfMeNDYWEprcZmrVCczmEQN6stwBnvls+j9o9\ni3dlPuPav51vlh8QPCsV0mwYfGwxPank/72jd0Ff4hVn3/+rDp2JeSsAzA6J\n5n9H8EN5x6dCn5L8iChvMBStS0pdZwqDyeVQB3pRw77hyQVi1fVmRjoyccLA\nCDtC\r\n=wJmb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"520e8b604c3cd3e7ce96b30f4315d576bcdad3e5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.83d83f131.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.83d83f131.0_1600043518279_0.5242522707171282","host":"s3://npm-registry-packages"}},"8.0.0-canary.40d8e4726.0":{"name":"@material/dom","version":"8.0.0-canary.40d8e4726.0","license":"MIT","_id":"@material/dom@8.0.0-canary.40d8e4726.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e321287aee36ed6c790d92abbfc1e7f9cf1ed4de","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.40d8e4726.0.tgz","fileCount":29,"integrity":"sha512-vtcCLjCGLwBpNsFu7bS1y91xdzcuWelKnkZfq5Sm+dsH9CnTqxU7UQKQhPngAOc3XXnXSniJsPozC1uSuIZ3vg==","signatures":[{"sig":"MEUCIQDd7nTPbz2tgDbQ6y6ZPwtbi9j0edhvaHnZhrjWmGoKYgIgbZ6sTE9VKqTpYhhFOsjFe/wYI/qnPGcu6BrRJWYloT8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfX/xhCRA9TVsSAnZWagAAg/oP/RQrLpx3PLQnKSiPH/UH\nuxU+pPhbUZBDqO7hoqHAFQ/jhIVrkXYSg0fY7zjE09JX5h6mHnDH5UP99Ous\nis6LKxy6D2iwz0UofoHSJhxFNq1j2ueZwWWKDKRLwJYv9UvXp32QqOgTvmK4\n5G+Q4s7a01Ilis1HCepn64nB7YyE6WBgfalVsTFRcQGBsY7hlxZ058BiINZQ\n5pcBgcBpydh4wPOa8+MNgq5RbUV0NS6yH1LjeCxW2nFlM0RPdhELLEOZS/Dv\nCaG7rwXUgAJi5zMjEmfNCdechGlVpxPEmWHWJpzfPaRRtgTslydbpynxVlGS\ngOu30QcKzbfo7tm/BLrsFJTY0p7WlEK6YtsWaOr1WMRROZo7Wc5hoZhx/Uzx\nzq0P66I+4CiXw20EDVKenxwxXVsklHs9oXJBqcLF/pxTw6Y1Lny8wnA4IFjv\nVSJhSO0d/mkvi+vr4tPLMZtZYfyBtukB8+HIuYdK04OrvNMYQv87ycVmv0x8\nHo/L0pDjuqFeQj7I+assMUSgjQD78fXUwis/P/k2EhhBssYNfPyJJnCwkxVG\nZEQut7t3Ex6T1ejgvrt0f1j3AmKZF6XCRmro2ZqOURxCLyvNMkdYTCxxNwWv\nmCJLLr5WOEer/EHWgdLssxWYmO4z1gGSRas1A48cwTk0MXb+nfwNgBnGx89z\nXC0N\r\n=y6ZT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ba2736b8bb826dac383c6f8f237a6584247d5198","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.40d8e4726.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.40d8e4726.0_1600126048906_0.2819068306890369","host":"s3://npm-registry-packages"}},"8.0.0-canary.c25d70a31.0":{"name":"@material/dom","version":"8.0.0-canary.c25d70a31.0","license":"MIT","_id":"@material/dom@8.0.0-canary.c25d70a31.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f97b744b11e5842f12ba1b7ff815b475675d1665","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.c25d70a31.0.tgz","fileCount":29,"integrity":"sha512-xVOhj9ZsJ2ChLKJyCPAfjh5+ZsogVBFa2Ka4tKi6cX7Z4vRZIhXylVBSbwWiW2hZb0yQbc7SbKKm8ZVoKKWVWw==","signatures":[{"sig":"MEUCIQC4pLM1jwV3iMFBZMeH+gFs8ydhBPS8eoRmx/4PYRj5QgIgexHtBs37VI1bn4P96eZWn8Wf4IE8XN/gnJra6lej7RU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYCZvCRA9TVsSAnZWagAAlG8P/0lGHArM/fv9XY/LSY18\nD3UPoeY0RWIEMourruekIka7xl9HF9NtfgknwYA4ChCCJ5Irb5haou+ct1Gi\noujMoEYSd00msivKVa3xB/R1GByLSdTiJ3kamAv2RyM7HSeMVuTIPe4xbTpR\ndQZoTI8PQwLXH6I0H3MqGtIo3NGrDzuxTq49stopRSNr/1QidjS26FECI5r6\nDL8HH3Afnh86Q1hFQxy7hgNBWYQwfrz5bOQObbTHeru4iPAzpgeQQzAtnX8a\nrwV1roZQBsTxJ33PhUQiA0lgOXbdh+AjHaUszZvk8cEMtQ6vQLvvFqSYE+qK\n/oG1CEj+y9k/1Q78RDgF0hTMHc4mUKUkOEiw57tkV006FUOfVZcGR/ZdxfDR\nuj1Sq/3CrGqX4RdzPaC1ePfcVncQ/VIMbnBYGkRaCorLWDQCqHTcOVGkW/eK\nabyTZCko5RzcybKB9jumU2vRFo4qBRFy0Qol7bQ1zMAwXjsr5X8n4CnQSf07\nKKfARTe/MhDqRfj9uHYmJ9p1k/BLq+pIgvElvMYNOt+R2MUpNmWFgE9ZFfRd\nL8q7W4PA/nXyV+mQKWYU1H4WP5i4+WLCZxvPMw2eXi65dm5DItdFdVkIujH8\nX+EQnCtSlr7G6KuAfqAy1YHJrHU/pGF7X2Jh5Zsig4oEfp8AVEQQaPTT7ntM\nntuw\r\n=C/L5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"23adc9426ee1c32d146e601987be4165e56c7934","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.c25d70a31.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.c25d70a31.0_1600136815337_0.7179296174867049","host":"s3://npm-registry-packages"}},"8.0.0-canary.d52b165b5.0":{"name":"@material/dom","version":"8.0.0-canary.d52b165b5.0","license":"MIT","_id":"@material/dom@8.0.0-canary.d52b165b5.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"96d43cd5f9ad7cfecd7d301485e5dc563a3215a8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.d52b165b5.0.tgz","fileCount":29,"integrity":"sha512-iOKKJDRxrTqnX4tgkT1bE/qNCWLAQPOHi7N2AU+emjYm8PJlaEaZSX8ID1pq8bpNTMXBe7/tfzg9gMKCURw17A==","signatures":[{"sig":"MEQCIBu3ZLcgKD0WX+1XoNCCfVRDVDbxQ+vnEGLrFLA4UNhsAiB2BBkJjnX7hrrEwTYjA/NwjrDTgH8p3Cc6677QW/LLWw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYNVvCRA9TVsSAnZWagAALgIP/Ro49mOTE05Di4pU+kzt\nSeDQj0C19LwmwD2RUi2mFunRt+t1hWH0F0e7Vn9lwVFFXKULaR/fuXdSdkch\n2aPdW/7CKcBvaeWm7GCvsK4L+w87ZyXj6cTAABCyJOngWFpdViG0AxI5udvy\nLokkGPsXortx1donu58YmVsj0bEcmpYcwqqbN3WWB9/OgIBDHCBmQAS++XSu\ngpNyvDSL/NfBZV2xZO0shYzpAJoMhihMweOs44YHEz3JCyUJH+EFS0vhLSLC\np1//MPNKM8amDOu36wC/JxvNrglORWqFEZnwWsjMcWvsmiP/vIY3HIqBPz59\n0hQ5EbLJS9Plcv8vXcfoMADcVZZ9AsjHHV10OVQnXeMut0K+ECSZmyBdzHSQ\nXlWrnqRiWab+0RqKvGsSMhQqffC3o/X0K5Hxit4OAUSQVGwJRGfyENg5uxfC\nRO934frXCAN6WqJNLj0DEkhYyiDTVbXECiGaH2Cv9jR6e87Hjs6yKGtFvy0b\nU21fOWdpDlXn9/JDUbykIQdSQnYWI+9fvEkrUTG0PpPbmMtCZwj4QZ2ONCMH\nPxAJuZGoB6+M+0fygo3pL3T4wkpeXllTbi/kwMom3FxqBd0ssLQpcBFEAIVg\nlQ0MvZDTZjye/hRu8hTgHyaL4F4KZt9IZd79NHIp1M2hi+HBu2gvpCWKvXGb\nZVEL\r\n=Nhcb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"19ac3399f14583da3b2ca5e37a0ce783539066ba","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.d52b165b5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.d52b165b5.0_1600181614673_0.5634046681729128","host":"s3://npm-registry-packages"}},"8.0.0-canary.a831d4799.0":{"name":"@material/dom","version":"8.0.0-canary.a831d4799.0","license":"MIT","_id":"@material/dom@8.0.0-canary.a831d4799.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"883b851aec1e8f1550cfde9121add63664551e06","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.a831d4799.0.tgz","fileCount":29,"integrity":"sha512-FHWCPLVULsmTwsY2s0K6bfQASoDQ0eqEofEZfnSgddr7vCjnJDi3fEvOS57Bc2zcknPz97CApJ4gVg+oaTcnaA==","signatures":[{"sig":"MEQCIHZAjp4DxIfYkIj+csUpqMlNLeu5ttFmq8rZz9bNYTF7AiBJYs7vpvmRVllyWeCK/iNexzxOMgbyZGuSckWrDb/PUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYP8NCRA9TVsSAnZWagAABbgP/jW2wyyboKYk2ALD/EBv\nQKEbQCdJqJv1eg+eL1HapR9Jj7jrbnm/t88Ihm28pA1BbIexpx255dNfGTrr\nxSGd6mDM7vYP61u8q76SmBSW/v+mwHAWMhwRqSyumyK4jRGAFOcgi1OqM9Nu\ntVbI+VubtAhwVRVNKvQGn0qO4in21XWcykPMt1qvDBx7m1h8EpZso5ypnYS6\no2eWFibAM0tkauLMijDs6k4uXWqxNmTf2ags9wb88QtHdLARbMp/lOuNlp7O\n/GpL5lcxTQZ+ZDSXc+mcYb13xPGF9wRAPWFh7Q0DOJWxTKJbKfxX6IHCf8Xw\n52KwGphwAYNYdJj9POYXB9P14KgAmG036dVnTvGpXqPyBWdkkUAmBAvUlqUU\n29cOcEoJrz03LlMyFoUVYgmXsVMVlOzf+vR7VhmMg4lRbTSf6quViBc9Bru0\npKXKY11Y/56YocrWt5Obg/9D/3O9MDF78gOCXVMvN9OZYaxo9DFhwZeQOtg4\n2FAd/f2osGuqUpElCFiFdhg9RUGdG4qwM5dUXP9r9Sgaqw7M//nhfIf4UNac\naq7+0kIX7a+2sMcgTKhxN+tZo1WfB2V/gsbDMddlOlAVTUpbKGdxlNPZbFYv\nhrZw6U/5DXdqqGKAUm1CsdbmDp7rZlYASql0c6R6Hr3qjd5vrrPhvyGS+KSI\n7nbq\r\n=fPGF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fa7f461e7963e1bdb73e7811d2f70b0a07acba16","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.a831d4799.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.a831d4799.0_1600192268753_0.10227516088125843","host":"s3://npm-registry-packages"}},"8.0.0-canary.a306aa488.0":{"name":"@material/dom","version":"8.0.0-canary.a306aa488.0","license":"MIT","_id":"@material/dom@8.0.0-canary.a306aa488.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b392213f79b35e836ffa26af1cfe6070af862ea8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.a306aa488.0.tgz","fileCount":29,"integrity":"sha512-jWt43jbwnxjCoSlTDXfWAzaH84bdq8XuV4qwKOM1R7rr6/RMkcTKNEakwqezLj93zgxRE4hs7AoQHidj2MGKyQ==","signatures":[{"sig":"MEYCIQDxZEvSKt633o6fJakf9ekk0s8beFmp4ZdnLRfY+nX2ZwIhANdxtbpZekIce+876yIPKbMKerEPUPvMK6lGc2aX4oy0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYrSJCRA9TVsSAnZWagAAeRgP/iCeLdUq2AE7Mv7CzS2F\n9CSeZ2ZIg5XZ+2jgoyBFaOsm7TFFfTguFtz39f74r0FqLFwPoyIzDOSIm80L\nhcifyl1E6bb0AOfgElEs/IMF6hFXMHukpqP6RssfptCOf1oBCY9IpBjAlnWQ\ngoy1inY7lWob34z92yDtZt7M6Lv4fW/89pAkatlCA4kBwE9RuaNWt/y1TyCR\noGgKCUlQ4Wag0l/AyokUkhSiZJWzhO796u8yNx3qBhybnQQ/+Y4ukTMTW9/k\nIfzWV4BjtWehEe6vJrEkMUOOMnbHJVAcGsZxkW4kwgZ9rJIjhM3f+xqIYLMs\nz/z7U9KIqTBvYl531Pqkn7E79BOiKJIbLWVGK1vK35IR0bYd+Ycy0NFR4ZyR\n7iuD2w92oVNpW+fhlfXPWlMY1gGuqtH3qbcMHhmGdNqGwUduvalZFbAB+1Jm\nGVw9Tw/QxOPULZlUuZSaKMH4RCyVh/TSUgoUppAE5nBfnEluxZ6A9GXHYsH0\nl7lo6g82Pqf4ZmDEaAQlBp5DG6GMtQoR6kp6Pqco17aQspf8UYhKQqNZfNyt\nWIYA1Nka11W1ydxJr76Fx9eeU+gRO8SoYk3VwWlJw/BlWO98He+9Q5CaPnuG\nUHi7mCB/tamVBBrhL28nzkQawZJkZw/FpPcHekxqwu7FFY/5IPxW9A6RUzQl\nMn2a\r\n=6bNI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c6addec60d43eb106ac774211ca2af4b04d40f1d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.a306aa488.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.a306aa488.0_1600304264851_0.27242987490700754","host":"s3://npm-registry-packages"}},"8.0.0-canary.fd608ff66.0":{"name":"@material/dom","version":"8.0.0-canary.fd608ff66.0","license":"MIT","_id":"@material/dom@8.0.0-canary.fd608ff66.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"67d14d2ba7f0aed877893f678aff56edaddafd1a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.fd608ff66.0.tgz","fileCount":29,"integrity":"sha512-VokTX9hQaKVDZcN3FnvBBII8EudKP35CtddAl7B39viBs7zKw3dxjBPUVn0w83Fy+g7IEIi+HkPcn+AXQ7Xw4w==","signatures":[{"sig":"MEQCIAge1GEpl4zF3OGWoCs+X6+06Ralqv4sT8h4qx4oG411AiBa8U0dcL2n4Qe9RUDM6lfySojqdgdVEtuMLUUpVwPHmw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY3G2CRA9TVsSAnZWagAA+OgP/3RbOv2Eq23v1I4JtXhF\n1VjQAzSQM++PxIJN8IvWgRPLv/5rOVDYY559rN+sZ3eqX3y5afmHI4Y2k6+J\n7lNWvJm4qBKVWo8Wwv0yc63+RTsPSUq1khk9yuQUe0SoqBilFeqNeDNBtq30\n1+QPuKpGCrrlqr2VmPKL3J0rfXvGsEt86RRUqRiELJgLthBO3B2nXYy+yUDy\nYtAZGbva0+Qe22nv/roHjHyGYp6zb+jWPopZEjCPC4459jO22Mc+/QmUFPaA\nzK3iQxUFiQytDLPS7qHas57726p80B1sTDVtVTyekAMhUNjaItaU5chkzDxO\nfwk75EzivcXtjHLqO/PPPQLd8ed0FXoaDGH05HXGZCY0zi+00hqgHYY7RnMY\nlhe6XivLdr5U6dKMA53inwpQMroPFc3C50RnOuoJjolV1nDkmiZXsO+aubiu\nA6OHuCFPOrlWCXQ+JbCi4vtQCOeG0eTLfTNba5edVktuDfQX+M26GMGGnVbS\nik2JVa3A4Yhzoy7byPMdHQVoFMKYGGB3gl5mFUTDyQY5wj+8tLh3n7wl7N9l\ndIz3K4oY9bLJ5JltA1sFQcWu282Hp0x4J1tkdtmo1amqgkCL40voHSxIUKjP\n4EyzIcUerjxZ1ydyPfKWgclVadbKyUYawLgUl1eTHZAR5k0MmOJI2kXO03Bw\nEyMF\r\n=zJjY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"03ec88b3967ad97da4309b1dee0b9764edcf89e1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.fd608ff66.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.fd608ff66.0_1600352693774_0.9902619774877488","host":"s3://npm-registry-packages"}},"8.0.0-canary.3e435ba57.0":{"name":"@material/dom","version":"8.0.0-canary.3e435ba57.0","license":"MIT","_id":"@material/dom@8.0.0-canary.3e435ba57.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ac4beac9b04e209ae848a9b0ef333a48eface2de","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.3e435ba57.0.tgz","fileCount":29,"integrity":"sha512-y//2dMf70p1OqNvhajiNnUlGeGJ1zhQbC9iMLwxV5qQHDGcgPwvDLlQQRdKFj+nwpPjTjcemfumG8L5RWlkj+w==","signatures":[{"sig":"MEQCIC5ZasRoxt6jEtKn07S6puKGiZxETvGRD0pVxTyg2IFEAiBt/dW7hBa5oWh529OWMfbUXYDwRZM9B88z1IXHTgWWEw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY3XECRA9TVsSAnZWagAAgGQP/0ckdA2VNPJQ3lY+vqjG\nmYeirMlK+87LLy1tm1cI+He7kc0wJueZsttzrNJ6TiPZ00zHTaJj4zhSCyQi\nhM7q14q/TAIzdO4DQN9M8Jf8s48lJZEoWPGDMU1HpHwLv6JdY3ibyai2fOOE\nGvzZ/LNcvRiUJJ7TOYv6sZuelNY8V+iZgv/TLOFspkQn8Zt2xq733W5ET0eI\nZ2pnp9vUXoxCFvRIwHVdx12ZIZSxUys90ZV4hJOr6Vdhv51I71NAJLYH1rzf\n7yZJYhkW+XYGff7goVGLou/1obEY1TvmP8cVP6FFQlYxpSilZnMVoh9vYWkz\nXRgy0XZrrgua4xc1cvfQUcbBlwZH6p1YDIpmo9puCd9Hk7zsj79cSFwLPjU9\n6cceupMaIlPHCb+v3J2L2v/Cl3XS2qiUcnUd36UBTo/7Gl7O21XVgmnv9V5b\nkLCUq6p3UsRKJ8+XDUb7G1l6NxKDe45VxE9io5+PO8nyB4b/kyJo2mqgd2JX\nam7pJJpI6cvfXgk/LWXokfC9wNl2hJoOlAllxw+PjMCjBfzJkh4DQFT6a0z/\nMqfKSYxr8TQxX3wAHyhkQD8GTiRygFHQJWPLInwxrX0Zr6J3fs0XqaRA/LDf\nKeP2MkKgLGEwBrDweAiADYXYoNXCFUnybnNY0QnnaWOP5nYG/Sp+NLdX8Dwi\nXuXp\r\n=UQyE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"15ff2ccef4cf94fbadfb06cb750ee6de035cdd19","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.3e435ba57.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.3e435ba57.0_1600353731676_0.53636866931343","host":"s3://npm-registry-packages"}},"8.0.0-canary.c250ec52a.0":{"name":"@material/dom","version":"8.0.0-canary.c250ec52a.0","license":"MIT","_id":"@material/dom@8.0.0-canary.c250ec52a.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b66f67749a6d703404f5c441d4ed9502e5d8b2ba","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.c250ec52a.0.tgz","fileCount":29,"integrity":"sha512-jook3fiUFKFSXcBCRQb9rcc0tJSqOE9433M3jTssF2WJ4kP6bPnjMHkQZdO4KU8D9FRuZchvKOcUhD9SjPGvbA==","signatures":[{"sig":"MEUCIATs5rj4fO5rhh2E8df/defWKInzIJFYUji0rhw/xgIFAiEA91cMcs92EUcHB3gy59YQ7dbTYWuPt/90Ha9efixEkao=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY8KKCRA9TVsSAnZWagAAbGoP/R1UBEA7p5c6atKeRvp1\nX8ipqBcugrdTMFlyr115f9WU9vd+W3dc94g0By9fygyou4d+4I1XQ/DpF0xH\n0cIQdfCR0HU9bJWfRblsKGK3RpY+ZB+gpvFz96X2iIpfkFXMj35/wi5U35JM\njROAsYwSfvzhZu5PJo6R8s/F62t3JkuImdw335mQmjSIy1rBsYHgrO3ofist\nUr8W2Hp9eibZwDJ2Yat1+sp/nJg7deRkLhq4/tJ4Mw60hBlQgxqQOQBU8LtD\nU2MRY6S9JQZh4mWa6oEBuK40S3a8hlUiMsrSPxE7dprrygookbAiQ0pg3oJ9\n0qQSTRsGoInnbZ2Utwzx3Nzw3/7TUXPjQjzzaBanAEwj/KLmMAP5xhfMZF6b\nJo+vFl3D1vFDtIRIuosuhCwYdAuKrsbdoJr0GMhh8pxTkmwmdTvF8xCG+5Ef\nN/UDNMD58FVqd/863gBxCJyRF5vXK7TEUff5/4m1guvSgRwuVmrdogkvd22r\nGGR65lG/FF5emhDxrtWitYd10kalpIq6WNil9nPrnz3j3dT8WvZjybR5sGL0\nZgA7WtSH1rXlgijWmGrVvJhhFX1FkWTWx/+XTNCrDM4sf6sjn7Q64nz1LkqT\n3PRE0ZTW0XVsZ7NJ3Rf1mO6qHDqvZ7/Bel1HQ9LaTo09FoXbfaJGSCcXSeaU\nzdfx\r\n=4O/Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e214ca7cd3c1a65ab89d2fe2b4fc899aca418adc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.c250ec52a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.c250ec52a.0_1600373385563_0.8015046017690042","host":"s3://npm-registry-packages"}},"8.0.0-canary.e34e411b1.0":{"name":"@material/dom","version":"8.0.0-canary.e34e411b1.0","license":"MIT","_id":"@material/dom@8.0.0-canary.e34e411b1.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b297f4345fa71a2aaaa21fa36a03dba4181442df","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.e34e411b1.0.tgz","fileCount":29,"integrity":"sha512-xTF5WJuA+T0Zy674HgPciA87eEZ4rBh7LW1qU7n/deWg8xwhin2+lFKsJIXuoRvhZQPtaCJzBZMALnHbyxV9fA==","signatures":[{"sig":"MEUCIQC/x9sdYNQmwlALUOr96v7PMFz5m2AL9AhtRGssLPf34wIgIugnKVxLlFAv8J1AXwh2i8UjWuYofkMuQfeUhr1Yps8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY8RICRA9TVsSAnZWagAAl8cQAJGeUVO9hksYOwXxJNnd\nu7y0pLQb9AhdvoNMLZmOHD/b0ahPZwaJM3DBSqQ4ii6TN9QjhaxCDOEFXYm9\nLUyVF1WJn0zjLC8GsWrmwqZql+M+y8NYW8GAUcSzpJygpCK3hKU1mREZ8076\nGiAA6h3AyMpO7pwg/MPOC5nyGhRj2VjIgskkzwcvFRutrqqQ6dzHKAxdfX4D\nx1VxThWxHvXJMQKJjsdGFZroZmTgg5M81eZEqm45zulY3R0Z27hICtwMUPz1\nXeFjIIpmn2EdHSXEoiWUQkUKDpVrDx1Y1lcbPWL1RYqexYLSHUF0wKStpC9A\nNJVlDWPLiemao+3fq3j7UYGepwM0JRjRC5IQbpPWYaRTGeIiCjN1MIsYyIXz\nBzWRgDKrr2nuAyrt8hvv48yX5yTFRtp7doX++GWKOqH7devCxAFITzZN8GjF\nk++cbh8UULEiY19GXZVdtY+ANX9HmI3Ze6YXFc+xjAnA76v9JYLirvlJYDVO\nddmpApopsGANBGb6l75Oyki76Y4zWvCxH8CJheHW9/1SnoG3MkGOYudHoQPV\nN/trV9bbezVLYk2RMmyTINGQvzKXkCBjdI+I9vguDmxkOBpxW0kedn8qFlX2\nXxXCzY53nSJ6xjcxPWBxyx29AuKD+saxHdgjpaRQoOUZS/nse93uepW3qaYS\n+t6V\r\n=S7vG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"460337b237852aa88d59152c38df2b32b73792a0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.e34e411b1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.e34e411b1.0_1600373831975_0.5084370819412329","host":"s3://npm-registry-packages"}},"8.0.0-canary.4e9343929.0":{"name":"@material/dom","version":"8.0.0-canary.4e9343929.0","license":"MIT","_id":"@material/dom@8.0.0-canary.4e9343929.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"30b751c7c5b2276d60471035a5d5efd31249c40f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.4e9343929.0.tgz","fileCount":29,"integrity":"sha512-BqYRusDTNB0NyuR8Bg/HYfa/ERJ1uDrBpWJqZQ8HvcUuqs5taC1uQHIx6U/gb+hFyAd9JXBxjdLpjSL0QCiRBQ==","signatures":[{"sig":"MEQCID88tPw6mSBKxX6oJJOYxxfYyA4BfNgo8cPsaWBXOoZAAiBXlGqdjSBc5eOEd773CcfqK7+0uDV/5ivxxK7DIkvlhQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY8owCRA9TVsSAnZWagAANcAQAKEoxmEzlGPSFOYjNfou\nKq4IQ9SUAwKycBq8y+3vXNIcRzZJTwrMAx9Rq6RNJnG+e0ykzWHzPysAhYsb\nj6nNR/lqAePyXgSgFiYBhpyxS1YJWot9VqRL4qSuphHLGw90ZLxPhw+3KrEO\n84qk2LInnDXuyKyLAHkskgBvICTb7Ge1wiavOQulhL2tH5reroHdSmItij2i\nTnpFeCX/gttgDtbbf+jte0lxFt4d3XDkr6db+heIF2MEPrfH8BhA6N5yh53Z\nsBYfX85F0y8lCQrCXW/Bzepc3SbeEyQQ7OMUx+xhvl1DOA+nzm9QCBNnRgU6\nISVYUYhNZ8W7gdCI/F3zrmTf5KApOphnm2y+nXuHHv5ThuhQccFmpNu49KNc\nWmVhl3M2Jbb+4I3FWN0hbafV31AL63dlarUcOdRFbNLYMh2SQsptmABOOcAS\n62fXmYpW4yxyA5Vmg8fAGzv5Pd6I3ZoDGczim+zisZiF5/WhE4dLwyFxRkMo\nVFdTjhGyAArw1R8KXjhnUCAEPaCIbN64x77D2N9UMHcycT80zpMuskIuOqE1\n8j7J08V/axTqbWqzDcRUTA5MamZX4Ues4tXMeV5zli83CB4NVz3NvnG7DePt\nY24lAjt8Nj41AWi4ZQh0doNawuHBbCsDJ6PyT6uKPWbkfXKApfL3uz74HGzF\nhz6P\r\n=0HYJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7bab75a521cc7f81a2f78587d2146ac140e3cfc1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.4e9343929.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.4e9343929.0_1600375344429_0.5267760441139753","host":"s3://npm-registry-packages"}},"8.0.0-canary.4e5c350c2.0":{"name":"@material/dom","version":"8.0.0-canary.4e5c350c2.0","license":"MIT","_id":"@material/dom@8.0.0-canary.4e5c350c2.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"efbfb022210e3aae4be3b7de35db377e169fbd51","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.4e5c350c2.0.tgz","fileCount":29,"integrity":"sha512-PhEigE5JjWwmV+S+hMyca7zjSQ/JdtZ5/gTGs1pAmdSk/1ZNxxswJxinFgCSlw9wNOEA+P4MiNmGufamr1NEMA==","signatures":[{"sig":"MEUCIHfihg5dFsQCJ7N8QLfRuTaNPeE2YmQs2byrX2cFEPkwAiEA3V/wdOTFxQvaUyt7j40MWCpBZF26ciDTJps9PAw98IY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaRd2CRA9TVsSAnZWagAAi80P/00baWRXynrfZcynF6wY\n/kOV63Y9VLnPuijCQGGyg7iAnWKiqzbtKy/32kCwX2KHrklIahp5KMowNFw/\nTgqb0fXSPgz/Li3VF9ALALEanjED5/KG9c8KwaqpBtdird2vRgKJKgoFgTF/\nkWYtfEpC2kmia2h9mtRFPxP1HTVO/b19jQ179A+TO3s0mR75lyQpUHrkOOF4\ndBKhFpAQ1f8/SQL4VLBXaUF5GiY7WwGbDeESqLYQLC0OAMnfDbu4nkDClqXm\nH6qhT4/QmplWZ17VhavRAcoGQUGxaWxX8krhzyE8cX5V3fscG1iMTYgOONa/\ng+GQDAug9ARfRAlEaNfU5SrDJdimdC7mJEm1WcTIwB+m0iXmv/nBm0hB/pog\nCT0X0UQoNC95hngmZeSfBUm/U/dBb1e/my9g5pATfsikVOgRGpbDUuFVlMOe\nuRfEJIcuxFioTB1Nmjp021i3A6KnDzG7rdk4QjTnLQ5OsbKwv5MQEQCen86H\nEde7EioVEgls7nnp2MHTffNQ7BB5GOsvOkybFqvaMm5mTqgtnXYlEPa51y6h\nOZA6GHoA3o1TY4GWz6TsQ1gvjKOXIlHO6KUJLi/rMmmEUT61Shqr87B7t2Td\nzR3g6nZKPmEDmPB/0aiegU1OY8O1FaOw+KvInO1h8ANJHlm+j2eXIPpV1dND\ntU6G\r\n=dY/3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c753481bcbad808064a366112868670fca5381f5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.4e5c350c2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.4e5c350c2.0_1600722805426_0.4394540892949377","host":"s3://npm-registry-packages"}},"8.0.0-canary.16c563ef7.0":{"name":"@material/dom","version":"8.0.0-canary.16c563ef7.0","license":"MIT","_id":"@material/dom@8.0.0-canary.16c563ef7.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cfb3841d4a035267b66b7add72ab58a3539f195b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.16c563ef7.0.tgz","fileCount":29,"integrity":"sha512-XrgkFlBQBEeZNUO5tyJ9jsRcf1i3f749Zm9FjAwcx0rERmKXhdHFlh/0AtgTHpHmkDT2oXQdldqZrqAVMfRqAg==","signatures":[{"sig":"MEQCICLuXvCDGvLBL1HFA+PlUNGQ6uhikhx3tsmBEdkuDDR7AiBSAtvIMuCFafdOW7q6l9BJZIXyTc1ZLM+RJltwLGNc+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfalRZCRA9TVsSAnZWagAAOvcQAJB+g9godZ7GsT+07ooG\nHj82Pp1sIppK8MDL4DBbSmxrLZB4pQhYnuQZ7zdOn8HsDud8hhCji+niN7+Y\nfqYmcG0fQtmuzLkAatHskFtVH8sJYeOKmVhVP8kiKBBcHURgeuSRs7eQKZC7\nXgZXWZdVHzwKQjn+NZ8Ug0oAl7HS2QwEJXCcyxF6JJUwUWbrSNLbBwk4JiVU\nvvzsGLg1jEpXkg8ZEdbnm+LPKDH+3dBq4mPTDkKRK6Cga/2NmNkx6ijLueqt\ns/n+E8ZBMGVq39aL1ouApw5lOsYkogVPOQPdAwHNEC1nK+lYfxupEeTPdWFq\ngb2zSYdCpWVHSRLed1NXRbnAWw3MI/YB8c4g/O7z2fqzN2uNt8wc6E7OqUxU\nXDG+fU/fxZ4nrCoLh49DQdAzP9RYieGWr+S1G1vGF4FOxbHFoOGiHLm8I0YY\n5Zk1nopYJKCO+SHj1XsQAXea4gVZj9dKmzQdBvBJH2YlU4dxjzJuXOrR0Dbj\nyA6t37H5r6EkfoeNydqo4RWZD56soYIKMkD/wLgDLK4rYQCAYlpp1RPaF2rL\nfW3nQpuZWb0KBGBOK/DK9cYLOEPeDe5hxMXjwkoFoAaoauDCM6/dxgZYGNfZ\nap2h/32bilJIdIunacG0/upLm2rh8SWLkFQzre77wcZN6jklKTYPM4n2rXXj\nDKzf\r\n=ZsKN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e3abdb235aa76184bd5171f68c237f58b8541f7a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.16c563ef7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.16c563ef7.0_1600803929271_0.5043633297851282","host":"s3://npm-registry-packages"}},"8.0.0-canary.fd8af3d43.0":{"name":"@material/dom","version":"8.0.0-canary.fd8af3d43.0","license":"MIT","_id":"@material/dom@8.0.0-canary.fd8af3d43.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"948d35d6b278e86d94c44aa09d3f66e0ca5cb397","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.fd8af3d43.0.tgz","fileCount":29,"integrity":"sha512-AORXocbxASBSOpWw5sUa1SKK3+f5mKkSsvln2D51G6t+nfTSgr1M4rSm4inc8s50sVfnrt/frgU3kqdkGNi5EA==","signatures":[{"sig":"MEQCIGw4H5FogblLcxn6BszdUAtUStTdQPXlc/ptNV5kp3aLAiA10seNwc2qQ/6QyOOsrucOBqcD0YSuSK0QjCJPXPDoZA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa6KTCRA9TVsSAnZWagAA6pwP/j9UaTnTqvFwEMvvXRSA\nMx15rXeFMGd/u+Lse/vwFdBc6kZBgTQZeYRqT/Pb/Ey01NDdizzYrGcq+2HE\nJ1s/A7BCnC9JYyTTo9zsLXO8oUf/zdm4tTX+vuuw2QRdWfM3avxFvii3YWmh\ni8WHy9D1/rAv9j5roo72bu0tpsTuttry2j1WuQCp67sWWTAWpihz2MHl0lxn\nA0kKNcG6REnwDsw232KzcO106XLoUZ5dyFlAS9jDI73aUoRcYBu9sqsnBEmW\nJ4xh+1ATrbDQtGKBrRHywOoiAlHlxGW6n5SjeQ3CZ9wD529nrzgYjMZqChS9\nXLQdoTtXYbK4pTeTQqWgtmA2SaKmOd+2bd3VnMA2LAgKGFNbv9f2shteKq8I\nq/SmWvNud1F7noheqbZRe8DYRUVBlgW5HBMUlUdV4ebzKe+7QIqMjYbqN6Fu\nKmHqoXt5R12XeEcfVANwFjCU1daMzGEAQ5dkAgDLFohPwIPTptRQDkmHYgVI\ni7S6FlTBRapUpOa/MY1xWDQFQYpxFJFLtlBjUvzz35Az7c8S0AVG76m+BYNH\nrheYxHyfgIY43Y6dVvW0gNGZbVyjCLKD/7gIxqi6GTl9K1RbtMrjpo8WNq+D\ntphhSJ3zlRIAVegnR1SqZVvL3YumS2uO0+PtnGBR7nEkT/jqWw2ZlncWgxHC\n2MXp\r\n=ndgs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0f295a5eb9518e726dc271a945985bba278bf9e2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.fd8af3d43.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.fd8af3d43.0_1600889491290_0.7876131645996396","host":"s3://npm-registry-packages"}},"8.0.0-canary.d4cd83a85.0":{"name":"@material/dom","version":"8.0.0-canary.d4cd83a85.0","license":"MIT","_id":"@material/dom@8.0.0-canary.d4cd83a85.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f9011a85b49b7f9729ea3b83a5aa0d7309ed9b6d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.d4cd83a85.0.tgz","fileCount":29,"integrity":"sha512-qJ+M+7aO2UMAniWn2G+s0B5Pnyp7zc9btTMWEZz7K3t6C76taUb9cRDTiEDHkoW3vv15qZL0gMOZo9krXSLsPw==","signatures":[{"sig":"MEUCIQDdAWA5pmHW+jQ5WSVnJ7Q+STwzO0ytwuDmIZhzUfh8wwIgPDcq+Y2TSUdLZZITRfyoxY33ee+gTO574F/ISKgGPzA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbTsQCRA9TVsSAnZWagAAmHYP/Ax56Lwt1VfV/fdy1o8D\nxFtsKjBmM72MFNIvveb1aKwvp/kVDq98KELwyn4CppyK2P3kbVF0iPsjpF1M\nJrT4jeEqNYnF+oeZAR+kxiQtzShf4khcszcWvJutLJ0FNRqIG9xbsKMbSE75\ncvIMAQiW8izn4rw983QP8mQFMYUEqwdO5T+wLcv5J77Dc2AIGPmxUg1PcqyW\nJJumdNVVqrjnqRCT0igcEhYUkKMYP++Kd4euwWNmsOQtwJ4GqQZWOfGQX8Mg\nhER9pLTFv5kgBMktQi4ae4V4KlUtgJII9BQuAACZQ+FBymAZlaJh0W69vHet\nJRekGtZmGG9iotOGVRvDdS/1Br6WUUocojCLBSU6VcVL/6FAFgSlh4WsIpS2\nmamMcr34jhVt96LtvX2xY9zcFYcvveJMjjLx5CwBBl5yVIjhkYLkC4vzHYin\nb//h4nA9wLwlQQwbVoNMiHKtXtSUY6CCYxtaoE3HMaUNJCk0lDXNRSAWAS7M\nRg3nZlouWOSl1ZoPlzxEtIpqAGs1yvPpd7i9pOfzzH09g9pM+GYDCHxIhXZW\nkOmozUEs23IPdCsCSflBlyinHPoY1orBt4F9mUIbxiW0FfyEiI9yX+0ibOLp\nL6ZJyETJ5F0VcdK9m5x2yCxWDsOVyhywwtbISVcE4vKuAvXRf9lPTQFzSFMN\nw1xJ\r\n=iBsd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"80cc7639dca83570a37de4bcf4d7501246ee8eee","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.d4cd83a85.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.d4cd83a85.0_1600994064108_0.4613617884501038","host":"s3://npm-registry-packages"}},"8.0.0-canary.199aecdfb.0":{"name":"@material/dom","version":"8.0.0-canary.199aecdfb.0","license":"MIT","_id":"@material/dom@8.0.0-canary.199aecdfb.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bac3858cf5e8461664fd6bb420577f534a67dbd1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.199aecdfb.0.tgz","fileCount":29,"integrity":"sha512-O5cRt/Ah9HtzMM70Fo0HJWD79sH3YHZSxUd+XaJEvtJw9id8N2ZsFt5+Nr4Ned0xuoFmZBxl4mWJD7xMXXM18Q==","signatures":[{"sig":"MEQCICCMgmKc36q6kt+TbdIs0/770vmta8qQPF4XD9T4n8PsAiBLsi+Q6yNPFpQHDDT6nBbwvavcZ9SCbk4jtRSu1XnfTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbhHICRA9TVsSAnZWagAATGEP/18DyTOSR9PP6F7KTqnr\nG/5IOtnQAIbu18bjRrELRufGt2KqXuHM41UyOhSmxRqrobWbIHDCwrSXVIiK\nqdHRS1hXChLGhNqWDsRdAs6XEddIBYyYVzdcctVbbchXeMcr/NV8qLSvQHlj\nBIwb3L2LLxU+q7Q8HxnVx+xERoQuzxpY34byiQ/uGEePcrBflsDwo3YOcZEx\nQ5ecHhhMcknnNZ7Tw7nkhsbBtto4G8TJWdzCsU6bStqlpJt/yxidu+xZmnz9\nuCBqyhbfcNg20IgfWDHb/OBQFPaU5/3kPX98Wca7dstzGnJiXj0I3ZswVH0k\nERnfYqH+WoR4XQcwctssqvSLkBPwIf8kdt/7HuL70OBEjciFoF92Ug6dsr75\nPqRA5xdRuWuDpfljlaKk8STY2FwomISwinXPlEPsCqitXWSzo39P0dtAi1B2\nOrWvTlhunPDEcGcdJTdiJ9xdrlBZse3tsdv+UebfAc2aKFlj/F0glf0ynb5b\nBlIjIIWUu4LmNLo6zkfrg6Y3fLXRQugYuvZMCSlJkxfIZ4oY5DMt1EMjFgmd\nBnphsNSHEj65BzNzlgMDrFRCl8m1NIbRplAGszsNQL5rkKBmKT/i4IIEYHwC\ntXdAlnAlrjjJgL+0KtkQfN9kIkf+5C6B8jMe5x3AVYib0KSj+xMNcRVuQzgu\nlSMX\r\n=YZoW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2ced06dc0aac728f58cce508c7393aec959895d6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.199aecdfb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.199aecdfb.0_1601049032387_0.08983913521092735","host":"s3://npm-registry-packages"}},"8.0.0-canary.38ef4501f.0":{"name":"@material/dom","version":"8.0.0-canary.38ef4501f.0","license":"MIT","_id":"@material/dom@8.0.0-canary.38ef4501f.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"78ed2714838eab5cb8f0e807a4caa6d65a961b90","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.38ef4501f.0.tgz","fileCount":29,"integrity":"sha512-eCyTFQMHgZ7bfCIRAdxYWuYbGjnPbgckC7Jxd4YiKYANGLxA2jLoqi/yXt5LcmsDCcKmU6aeYZsIxGGId/21yg==","signatures":[{"sig":"MEUCIBwT8odTYLnYoirPcGaigccKAK7vf0PvP8XY2/ugER0gAiEAml6RXLy7DbG2Cz9XdYhLQT2c8AuI05PL9W0eJClEucg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdM0kCRA9TVsSAnZWagAAqNEP/iLR8SNv3GXkVoltg7zj\nxjD61erKTLfeYD+FOa0k5WVILcFxg3dfLfhh3n93FXbQUg8RU+9/rHs+/g4a\nUYsVZ+9r0NVVADQUOckgBVU/9vapkCnzB3TZmG51FBNIgtX8wyjKdMo3FCk0\n1Y7vA+AMu4uz+usTaGZT6A71YPRIBysf4DcCPerH+lDlLKjVVBGZwmvbjYD2\nRvNAW/rgEPCKyW1W2dkbVfXzMBeHm4vyjKRtu4TWphuUe+utQeAUN8Idj7nC\nFcITdCrrX0dBAj0cmwc3x+gz4T4u/6r3qOrAV5eJXcIaKYRmq+jXCXdHOyoF\n4Hh26KqgqzcZoQ61K5vfzUwJJ22KCJ1YJ9bRiUT50E7UQwjSX5rBhpsTvY9v\nNNBPKFa/skhbJreq+5KemIGs8svc05B1eSmfAGecXKH+PZ0XxKmwB+XqG2t7\nJwyRuQgXfefQPYX4nBpmwciBFUODBuKfT7LWZtoW1r6p0lPRLqVn6PmQt0NV\nlY3mzuGM6ac8M/1X22gFNL9usMRm+vfvAU9fGdX7jBSxslFEoQnP8WLwVtqW\nF6pNCvTOwpZmLbsyllT8iraHWKP5FE9jTxZcNXgRdic0fO68t6qekjG5vjfj\n9hzs5l+URwHKba+m/vVUkfM2iFVGcqzMDfXY/nUEmYaTij6TCSfS2Nts0ifT\nunrf\r\n=Ss31\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bace3094edebc680b12a257aebfe6170928076ab","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.38ef4501f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.38ef4501f.0_1601490212232_0.03814976927585234","host":"s3://npm-registry-packages"}},"8.0.0-canary.774dcfc8e.0":{"name":"@material/dom","version":"8.0.0-canary.774dcfc8e.0","license":"MIT","_id":"@material/dom@8.0.0-canary.774dcfc8e.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b5d52f40e1a9965bb5b6fe8e7a50eb96a29af1ba","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.774dcfc8e.0.tgz","fileCount":29,"integrity":"sha512-SHrc5zNOoWR2b9nShcv/A2D2C67beBdCS/KDPzezCpi0UfJYZVcjf9EmYDpNhZHh9jil3BiDvldknHazLGkqWA==","signatures":[{"sig":"MEUCIQCX8ZjQUDXXeO0YTDcI8asQy9BAuo3Vz0inO/vK8usMQgIgcGgnDjv0FgTQAHrYYg/NGhpTB1sFUyN3TgVYIeYmRlQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdacQCRA9TVsSAnZWagAA2OEP/3T2+PYDozg1AM6hlmnu\nXcO2pLflllbThKaUcrjDZEu6JHuCZOi6bxFEyqz50hk7Pps66WY5ZgEg8HZv\nrIk+nEKeE7+phWGT30cx3255/oYrNuiXff2lk5prQnZvFa4HN4JSCXaATUwq\nESY1P4sEyvyoZNRBf6MG+xs8SF9YuGcHhQRKN+Flae3Zcn2Ae4N4Lm1Drvvf\nLUdA9mwrB2oYAAePAzHOTakMUTBmk1BUPsf3wmw4aJJ9RfZ+6URnNwlHNpJX\nkXun29c+Q6yg2ygiRy2JSiAjhG/svBSCk92iQ2cFKj+obJEDQXUCnBbkW75N\ne9JrbpNPa8RY6mRBotQ+KqPFcBTT/qjQU2kLbI8JAXdqtyFxwJZ2gaztA+Jf\nvyIsyQBIoX+s+ISJkROPunG53CkcuhqW8IWcfSiYkhaN4WG8uGM+wMB83Unh\nLe5BxVLJAalduf1gruoJJ0cSn6P5KPcpb9jugyC0BvjvR3Judakd74myyOfN\nhE/2Rd8wpGfYuqxedTjyK0P6yul8SAl9ubOcRaCo7U+STQgJ9cMFw6I3810e\neZqGaj2Rio00eoIPujZ5AJd6KHtMv2tbfWqkDrCj4PL6xvxdVhewOiXYIVec\n4m/zwNDGY3iN0foyMt5+tHvHLhTPe9yj3XPOIlwqk3h3z3pWhu0OKfA1p1CW\n/hpS\r\n=HrNP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6c37b80b059fbd4c815253f3a3868578afcc1afd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.774dcfc8e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.774dcfc8e.0_1601545999842_0.301405531442857","host":"s3://npm-registry-packages"}},"8.0.0-canary.0f60323a8.0":{"name":"@material/dom","version":"8.0.0-canary.0f60323a8.0","license":"MIT","_id":"@material/dom@8.0.0-canary.0f60323a8.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e6a14e9b8fde688af1f7929ed3c80b0d35a31cb1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.0f60323a8.0.tgz","fileCount":29,"integrity":"sha512-ok6PfWSmIw0kFK9p74hHtbU5rz/5ThyqUeoMTVRB8tcxPHuxW+2I8HkMSQQXkjsXds5a9QEvh0Z7S49wBcwN3Q==","signatures":[{"sig":"MEYCIQDMLPy8i/HJsABauEQfF7rWuRl8tXx0OjTNtf36ikNf1gIhAOFdedIJHcnDgLAKRpGo9qqmUvkbJVTERCiZfNGOOW09","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff3//CRA9TVsSAnZWagAALgAQAJ1cmPKLd0xClo5p5LWm\nwP69Q5xZUq7QyCEtGiE0BSTC7Q52BZwLcF8uDLLnoW5ZD3ODw03JBWKku31Z\nG3Drnqcv8/sq8FhroFpAdqQPv9KuhVTP9WH5t26VwpvJimQq3u+34SOQNlZB\neOscj1SXxYsmEpCXDo49QGjc117/YASPRaf75iIiuDBMqOPIssrJT7ABSWl8\n+yk+XPQVKGdrmoFrWdAd4nl4FJFN83D/2zhPycMmGJbrgOD689aEIgnKCVPb\n6FwK79YQGDA7dc3U256tsq+CVg+uRuWo1QWBGO0VMar2MU8gwge0Cd8Y1KWM\nvVAZLWO/Ti7IPPPSI44j2516lHDXPZ2CkHCjkI6oJ9kXF2EUT9JLJtevwFbh\ndVSvMhH6P+XePvyDPn/f4pAsR9z61dOi71Qqrgcw3ZrRCUFZjaYw+IanAqP/\nsgH6CWwDAKd4ZpNwL95IWayYt5iMxas3YKSEGdvxLwl6YuUwZOmp4emzZwzr\nnTJL8hO7oVnkTTtxLEwA6vJaBO1PLm8kE3Vi1Nb7129oA78Nr+BbvOSub53k\nqdkXN0EeXmp+tbgtlr6ui3JLwoMm9iztxJhE7+P1W9dwjm6FzocGthmH9sO5\nP3dV4jGUlZo41JPe612A8GS7plyszu3G9qTT2WUWC0LLTSXDeF7QXhhiYvSS\nejy7\r\n=O1dC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"edfdb55487a31cd5f5130aad32b3fa8f369e6d0b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.0f60323a8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.0f60323a8.0_1602191359239_0.6629476182137328","host":"s3://npm-registry-packages"}},"8.0.0-canary.d71622574.0":{"name":"@material/dom","version":"8.0.0-canary.d71622574.0","license":"MIT","_id":"@material/dom@8.0.0-canary.d71622574.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2c1299c30b5cc10022e398ba8cbb5086f743a468","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.d71622574.0.tgz","fileCount":29,"integrity":"sha512-HJ0MEjqp4ozHfYJc8cjVlM4rXxhtt9cGpmXRozRf1NZWRZBK7FgrqNjjEiLoHOd9zV9gBDwxulIU42OP5WGsWg==","signatures":[{"sig":"MEQCIEbQBRRr1oo1jpTpOA98sGRl3c0XFTlAJ2hOA1MmMHzOAiB1jGQVgPCF1+HxqsGZD9LzUMolKCJsV2xOqY0CFK29YQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgJA6CRA9TVsSAnZWagAAL3QP/3nJ1SN3SvKt0orQdp+C\nDqBIB5SRw3xuOge24WhyWZT3upWfPTuDwKHxWuHNMSeIQ3GwZxH06ehc5eUA\n1eIBthgYyRtR9IJsqGYQIKGUUwGA+PRR6g6h0BGseprJ7ucAPo2dmCi/WhP4\nbHgYRkJrrIH0zaCdrGcYEHsqosuBP/EMsHtI4RA+28OOJJuaqO2bd+/dvJKe\nGCwyXDmudKHGNNzi6L9Qix8vGDU1Q229OpmA/7CgZMM2EQemaj0UeT07A2oc\nh+G/McM3MybQocNosXN/0BfgL2MocTchjG4AM+N4pzwNGXDa6WOgMEeI30Kc\n9bYnwVsndCTgGTmUZHhgSD+pHaFqETpgIyKSQ3Ijb+UhjHRh/ch2sBvPAcHr\ngIBAygEs3C5FIGtjyCNlOkH7DFPEvR1I9K6slxUxHCUGuNTsiE9M2Fcgpbzt\ne6YivgPgMD4Yrj/XLP3Mcv7DdFZ4Py+7HJW+uf3wzVMD4fkKI+dWtBSVU5r6\nuFEi6FSa/30TbQ0kR4v7NCPGUk96TTP3KBEvub/RVzuLEpZJ2osDukdhduVn\ncCqYkEND1V3ZHXm4g1Y0S95UhHEZmHP2Oegfnff4N/vDPQgWyQ8F3WsBHX2N\n4+YkVhMrWxyzMguqZ7oIh5LsyVCsO7XL7VEjraHJSVdk0XCH25OdMxIkctQ5\nkboa\r\n=/G7U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"19a45f4824305f22d61cbf9deea0fef067dea3e6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.d71622574.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.d71622574.0_1602261050510_0.3170137452760535","host":"s3://npm-registry-packages"}},"8.0.0-canary.7a9afaf4b.0":{"name":"@material/dom","version":"8.0.0-canary.7a9afaf4b.0","license":"MIT","_id":"@material/dom@8.0.0-canary.7a9afaf4b.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fa2d8ea2651d6f892f72f8b6cfdc2b16fd4338b8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.7a9afaf4b.0.tgz","fileCount":29,"integrity":"sha512-YrJG5ekN5EMfh6CMGRWaxN/V+F4HN0XGasdglnFTuC8YzLwOGxayb6RwN0J4LckFHoOmJg+siBuKKfzmSVgQ8A==","signatures":[{"sig":"MEUCIFcTL7P3dbxWC2if7cw1Vq1b0KKKKb7lvRe/PH3Beeu7AiEAgqgtJArxNn88CRS8BF3SnGeUEq/tBsek5a9UmhvSO5o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgOnWCRA9TVsSAnZWagAA5FYQAIGiVCyQCycY/fxJvcIi\nkNqtmx47rvr95NwJxVwFDc+Rg/GpELBL1gJeQ3W/5f37uQ2lvRXelntXgKti\npE0EVKtxG0aLbsQFyZXlNfQlMXgEf5I5p0LbyZtisryxf9BuLgO+4o6LnRJl\nd8N92uMS9djjpHfeKWq9Og4elcOvz+0aQqD1G2Jr7gZLz44kr8MERSbK2aRX\n7CVA0jGEr1NfU5plQ8RZf8CUo8OlrZGBI/RcEcX7ggw7xCDsvwGU+TbjDFd1\nwEbaPi+v/S+frqvL+ou7LQUaT6BB9gRF3ZpjtDa4HRIGWsoOm4VV8lJJ23LE\nSU1H35qVFggppHgrb3Ez1VopSzprZWEQSkTxQ6Z0/pLnRyXVOJmR8gkXJ+dr\ngTmOOpZUYUQA95XBle/n5r90r5PIpkNS7K2HUIRKL/s6RD+y9EhkwpZwOk95\nJy2S8HpqOfBi8bvz/4PpN3kHieU3UW3ZN9AzBqYxaxNnrGBoOhNeCMi+y435\nYrlbXQZW5CcvwIyqCgri98ic5gnSuZtmruQ+a08VQk+3XC7sTQJJeI5PmswY\nyW61JjrYmAxnAfjrEvjfZLF17C7yyaDMxDM8esqqI9/ckbi13GOOpcJeaT+E\nQaCW8xhXF4PJN4U2rE0/z0g9jukO51tmARpcME+ckT4Oajgehpdc1VBL8+M/\nd859\r\n=bsms\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"137d6fb8ed93c50312981c75fb37199ad460dcf2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.7a9afaf4b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.7a9afaf4b.0_1602283989694_0.3317277439655557","host":"s3://npm-registry-packages"}},"8.0.0-canary.8a39352c8.0":{"name":"@material/dom","version":"8.0.0-canary.8a39352c8.0","license":"MIT","_id":"@material/dom@8.0.0-canary.8a39352c8.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b6ce66f0d6ee15097843fa2e3325bc7f819560d9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.8a39352c8.0.tgz","fileCount":29,"integrity":"sha512-2wj9t9c/Yc8ixZjWoqy7D9K8uYxRvBsMNE7R8FbPhUgwF3p9aIVMvWqh+xP+YRm6uLCfcm2d4tnqTxWwNL703Q==","signatures":[{"sig":"MEUCIQD5fVE7YzcokMNappYG/pdUkWWhFYGySFeXp0ZNgD7vhgIgOyHYiJH5qmvc4NnG8rg8rkX+ezZb8H4CthrthIP0epU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhJZFCRA9TVsSAnZWagAA+NoP/Rw2N8m8N0pizIkpyiAU\nfBmbbvxPouTFIoroDaSBUQAYE6WivId14goipQ4N3Af1d/eDcZPKo3weLAmg\nZ8Hl+IY8X8Z9gms/SeE5IjgegjA9caSr9Lldtxdt53kV1aG98lJvH3QHRtKb\nc2hG9lZxf759ec7Ss7czRedivpfNpVwms2rc8h9RyZ2agRDsRmpL5FCe+Ft6\nSYM6n8qpQSZtahG70NWv/M9TZ0mHbjGhe6KLTBFHjJ/bEKdKwcbnaydW071E\nX6mSMsonBJz/uELAnPQOENsdAiDEEF+bH+qnSd60ML1vrnie+G4Xdcq0acG+\nxnTSiCktFLes7rB1SDptqgbLlJhH8rfHy7Geaj7xO6qDzz3Sqa36lqN+WPR+\n1xvMJWMhgfion6Pfc1vkoq2QHdVpmU1v++ALeCZoM+4V9pPZc+7D1BEwMY+b\nwRUOeURhObrhjOxvbNvB51GwgRIYe7hWUrkAiWbI3j8pyuazDDrw4PoH4c5t\ndLSxME5XVM5ogvL3Re7vqoPdBAWY1fnDkpW269ZIypZvSXB6WLAbZ1LfNrf5\nIOwZEBFQygUsaFEF3EeG4k2Dlz0Emte1tGG1zwUHmlDZctcT58OjEbQ4W49K\n1oQfL20rhYEqIcZZ7grn7qP0osu9YD+l8GOGaxDBG158qpvXRiKAAOc/p40S\nTm9m\r\n=ktiq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cedb8cd906516b8d460c813039351e951b960c50","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.8a39352c8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.8a39352c8.0_1602524741211_0.968353078732211","host":"s3://npm-registry-packages"}},"8.0.0-canary.790ca85fd.0":{"name":"@material/dom","version":"8.0.0-canary.790ca85fd.0","license":"MIT","_id":"@material/dom@8.0.0-canary.790ca85fd.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c43b8f75f0569c00dc33d2953e58e82744481426","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.790ca85fd.0.tgz","fileCount":29,"integrity":"sha512-175JxjszkHgbkH1bJ+SX4ToUz6kc488diH6I8eYLMODDM98sHbbTTYAjYDU5z5NpuhdWZ5bv114rvQf27m6mvg==","signatures":[{"sig":"MEQCIFDEOgRz9WS4jcNxUPHbnPu5h99kvAUZrjQEmMhzhEVmAiA7F1O2fv19YqVN1EQw1iUuYBzA+SZWL8+Fram3Y/8fsw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhNDxCRA9TVsSAnZWagAAszQP/3IeJ068I6RAod75hvE5\n4pX3Zj3546VQtnTT8iu4FEmgmqaIR6u7jgkV3qcwzIKZ1dUvQXBq3wcik1Fn\nWF53LJa0Cshnyeqxq0I1zBKeeviNI0P9N3XxRXE+CaMwzHEN0BrxmqYAHm+W\nydmrBexH0UJwmwuDPXW31I21ouhgF/miQmKtw4PavbR56c070exOMUvR0BJq\n3kqfShlgJA6oUb2FSNDhfAkZntx8TWi2RahAlKEPiiAM6qeOKgjOwgGLoFdO\n0V+kmHrNPoErWmTIn8JgseMqUCjbV9RKSjVm6gxO5ojz0xANuD3vzcQuLrOx\neZITPvKNI3XEOgYaK+PtTlwd1/KweIW+yOP6p0NldGNRWnVcdE1aAjq8Oaki\nreV8Ou+PfQGuj2GFC75TTrOI91ill7s18szyfW0EHX00ok1uMPZFWt3PFSb7\nT5j7g6DrB38k9uFd3xhoOOLJfMMSrHP+RM357aH2QxUMtotPMrWYUDpo2Xus\nORMEMDZvjMWaTJMWEEr0NqEYqA0tMazLTRtN48xywb6yacWGX5n/pS0VO+3d\nxcPsAbxZ7E3mXzvwYJ6NOkNZXkEB7fsrglKR2BBSgbygdCrEnHTrJ0Xu0ALF\nOr2r5TLSUrk9miFogIHxLwdhFokJ0gSb+EBY5vwFudjpT2/I7YMpssv7z+K4\nAxRW\r\n=iUsW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8971e891898c4a8ca082beda756a7b93097f858e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.790ca85fd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.790ca85fd.0_1602539760737_0.9799898895941594","host":"s3://npm-registry-packages"}},"8.0.0-canary.174c0becf.0":{"name":"@material/dom","version":"8.0.0-canary.174c0becf.0","license":"MIT","_id":"@material/dom@8.0.0-canary.174c0becf.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8cb4588659862fbf1376fff3415cbab0aecc9276","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.174c0becf.0.tgz","fileCount":29,"integrity":"sha512-lQohDNEMBoCVYqfm9+utIAm4UhzBKyRSm3F87T/y8+5ksLWnIIJJUeK5AOUMqh+S7GHoL3EhvVKTaaqDqZ0OvA==","signatures":[{"sig":"MEUCIAs7+NqeX3nh691/Xi7NNnsayH0UCCxCe1KcBJCAay89AiEA29d4l5ChvZidRLDBNmDpC5vetSD81JOJW/tO+4mqS2w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhl8mCRA9TVsSAnZWagAAPq8P/0ijBMqtc46H48udVrV8\n2fcLf+GI2bCoTer9JP6al4hHkozCaLnjPD1V7Vzmpe2OYhpqhFZzuo9UQbLe\nYOnpCt8+yy1siZayinWRRq9NwxwtVWgM236lrFL5l4Kpj9RdiCMYzxZNebUN\n8Zo6RO8UL9q8IxiEbx3Rx1+rRoZnL0GioYQSvXjwQ49S0rJTOY/IW7rhbp3f\nC4+jCMpLIKPfGSpr762Fx+JTpYvqa7TYMT2//bMt9DxOkybZPSuBwo0J/sSd\n06kCqUDvQyvxxpWSWtHJQy8xg0tMuptXAhfIKyoE8VBVC9cr1GtzlxqdLnd7\nGzST2ETaS8yfQD18vYcfIFYCLwGguRe5rswO6OQCMzTZNDMaCDuligoPK1/N\npeLHKeX7Q8JnBLqb5XgFwlp7SA0JbkepvlQz4ypO84ySBn3YUAQEjN2mfBob\nw2V0bkouhvA9qIHFUQeHxH1sz8ddjleN3Tyy/nL8NYKJxPhmEP+Qa8Yt+whq\nlilmtOcK5sYzDtiKU78/MNCfvFuIruvicBqxV85+VyQOh/6pfk14zTkD5FGW\nL85SJIwuGHKBgCkXTXPms+QuHaJ7bKVdOObvpltv2ci7hJ3LRVcSXt0Z9ohP\noG3iEHYFJgPJE37tYDGQUpaXDy7QQrGz+0iPttGnRV/hbHXcUm6Yf9fJs3XE\nqGud\r\n=HQfW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6dc7561b8695889178b3e884e84f5d9c3d59e100","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.174c0becf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.174c0becf.0_1602641702120_0.5799319656835564","host":"s3://npm-registry-packages"}},"8.0.0-canary.c71ebfa02.0":{"name":"@material/dom","version":"8.0.0-canary.c71ebfa02.0","license":"MIT","_id":"@material/dom@8.0.0-canary.c71ebfa02.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"832432f3f90da2762f079ffce30c4bb11210d670","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.c71ebfa02.0.tgz","fileCount":29,"integrity":"sha512-FvD6QGn80c7LUqQAmU/KQbkPmPaJFFpKCWXIzhX1lG6KaRNAVw1fUcsIvhMRDilhDqmW6you9A7DUJ2sR4x2Lg==","signatures":[{"sig":"MEQCIFAZvJtf7oYQ7vy9oHiTGtVKxIaXMMZ1iIBlCD1H9a+lAiAs0j426+y1o3+HR4bTGKcdg1mc0gFJnCHpp0lFh/n0Cg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhnuqCRA9TVsSAnZWagAAoIkQAIp1XvDaTsf/g7o9krsp\nuNFyS5cVfbmIZtKqHsr+MQg+AcFWVXTnWU8g2/IT5O+cVOHY9ko7DKBAb7dT\nY/AfT2yucatV8kgYq4GjzzCmmxoppCuXxLE8RKqsaKIhMqnnCxwcqiA1Cw/m\nbIGrw6ickiHd5qeGNZN8cz+LtEBRiIgRPY6FQwdUdiq2qOCjF+aQs5vcS0/Q\nM6FPIG05RXSfSVmeKzlah/fjq3hsAuXUvqX7bsBNtMCrvhM+e+DMhOt3/Pdb\nL61CYAFvtjDLDn53ZwNPjjorShgAXwJkVlULOxOzr/vp/wlq8y352CGIvX2f\nCX+HyQHEE0CAASm69CcD+QoQqBlTjdhrW/FzMLqJpFw5GvH2fM+wIVDtANVE\n/FMNqOoa3ukCwo6Mu/yQaOvllURcbI68NQDlWKX7UBR8TXWc0pUWlqnViCMB\nwApeYtDvZ+SZLM3MW84ieGX3LJTUDcljgTTHJwSKB+MFv2CYVpI+mBlIAdbq\nyeAA2Sria0j/K0EgK90IHpBCmDFqBxZMyHsJX/L5SlTnnVOQro54Bu17vtKu\n7QWfMw/4cmW+hhv3A24Pm6fRS2Rv0EOUl+HPWXa3ImcBQiyLlW9AkX2rWxw8\nUHkfDXV7FN4l+CXdjXyWi7qhsSeiT739WmT3zzqYPHgGwXxZxE3QQobBhOel\nbwGN\r\n=u76+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d1158a184d234471c81501e838b409c54f591268","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.c71ebfa02.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.c71ebfa02.0_1602649001941_0.6982833745127883","host":"s3://npm-registry-packages"}},"8.0.0-canary.2ab716cbd.0":{"name":"@material/dom","version":"8.0.0-canary.2ab716cbd.0","license":"MIT","_id":"@material/dom@8.0.0-canary.2ab716cbd.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"23e23b6c4cb478dd3e8845c923ea678b98a16682","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.2ab716cbd.0.tgz","fileCount":29,"integrity":"sha512-+gJG9LUu3jEBQ2c+g4nJDkFwBH5UimIY00nN92L3rJSPgyvWeAW84B4kfrpgb3EUvjAedyJ/Ul37r9UkyFxetQ==","signatures":[{"sig":"MEYCIQCyqJc2rdcpXXv6siAlqEDUIQ63XQERaC1YIFoRnX9TlgIhAJYMaI4EAQYxWr0RF9yFcCuMlIKCHi0HIotveZUhtbWW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiONUCRA9TVsSAnZWagAAEFEP/3yZJOx23Jele9QbWYGE\nCnTRS3KHeQp2/vJRumbDyRJ6cBLvwn6DfIVsFQJbNBtKsSq7e6v8rp+qC1sP\n2Tm5d4tjVEPh0wPUDdVjXR7Z4Q9bKyokMiV3p8Ggji3uJtF1cyuZbECSWNm5\nPZoEOHAkIxIKqM/8ptT9lO7W8c5Gd+roosmJuZdcyvVFNT4PsejT2vDXVZlf\nhsOKkpFThRrJ/auQJYtwusM5G5uB693RQDtMituhITcQbBmPLj1r7xgdSbSn\n7nunci+mLA3G6Bx+BqJGv4GyCi0LaM24GSA+tPzbLTUhrClJwGIftslMdjXO\nBxS573sVy4tkTzONaMd2GhfG+IbYQxpFHWTgxtDsDfblCG6CDK1SI9vB1F+w\nkvpjRBdaLRoYAvnEj1NvruYmh86YIg+pAfNfzMuUBJtxFL9IiKbkumjB7xDm\nJsXnMoNFgMVtYYoeyFm7c7UVBdiSwYFV3FpRj3ksyLMizxIjF5b4nFDm7A7A\nepYQ62CkmhI41KZDLLgdcB6+vAJ8wAnzzfyj7l+jfWZBbxOjH9JVIJbT3MKI\nZTk/OCz7erNXTB/IMg9LhWQ9gQIRN3Sm/7c57hciSLM5WD5Blmr3mqfa3QZs\nuhWD1vuXZO8SKbaybFhCZ8RyIXRiTEllJiZ+ghFG8g8U3dh52btxLHNVuzcw\npn7D\r\n=COxr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a3f41127e9d90f7e393ee6fa5e01829e52160131","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.2ab716cbd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.2ab716cbd.0_1602806611707_0.6259772977323426","host":"s3://npm-registry-packages"}},"8.0.0-canary.43c1c5e2f.0":{"name":"@material/dom","version":"8.0.0-canary.43c1c5e2f.0","license":"MIT","_id":"@material/dom@8.0.0-canary.43c1c5e2f.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"012653f5387d898f690addeab85650ae636eb59c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.43c1c5e2f.0.tgz","fileCount":29,"integrity":"sha512-wipTbdpO5tCQ89BOeIrSq7ZVSEoE2T85Rku6LPfy0wEnrObn8+x+U8Ir1ybvcIQodanB8yy2AuKtspZYa97oGg==","signatures":[{"sig":"MEQCICwvLBlHAGMGDc4M5TXAdMMqWOdawd33wsoAAwhZNDKjAiBGNdHVP7E3B2CuOtixcwkh2i2oF2mth9DfoLIsTK0DPw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjZ2XCRA9TVsSAnZWagAAIYcQAI+BPBJSiUcvzg5cqtQR\nE8Sb4wntSJUkOIrEo9670egvcVnW2UNWuzgRqaQSxySKcx+HbC0qm2zxapzP\nGn6qsLYAeGNzEP5Ad21hYlD/qRzfq2eGel6K40sgYkvJDxqk509BSt2kVn+C\n4Na9Wg7w4J8fMvogb84sAUxbOA9a+2YGeCIqbG7N62vo+5NnryVymwDI5FHK\ndfEJ5F0IDD7mQtAeJWMhnYetuPllCPvp5sK1rniES9F6JwodmDJnkXGg4Oz8\nAkhyc29HyWlKAaoE5LlYiLknjYuq8ZuW8qNFKQC2aO+jqsVmCJdUbGq1fSUi\nzSYUA1sA5Zr300ZZ8fPlhwKtSWJxBRO1ks7QjCgMLA2LnlmdYS/bNGERZY2P\nBZqSF4ypIXEhS0Mwq9cOESJ9+jYPKeCh4dbPPe+kaI2AJoupAYPGwOGrtlz5\nyzBgn7K7K5l2r3BHGtM7ZHNZ+KY+a8KmA2OrM1Flwvuk2jdAtUJ9wO9PJTp0\n3un9njTCk/oqMha+H2+V8+4RjcFN2zBmprp0LtZ1x3MkQqlx37wY9ReA7gi7\n8zh3OOd2OlnD6fINW1gchT/aQyrmJssZTCYtU6O3Fxy76Q/+BkaKyJQI26EJ\n/T6/DNHOQIAF8E3Z/PBRxMdG6NdpcVOg+YGoXuo/W6GVEFpX0oicTR2g84wN\nwj64\r\n=rdXn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bae89543d5336b4583fd1519cb63078d2a5c39f5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.43c1c5e2f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.43c1c5e2f.0_1603116439286_0.798204223449144","host":"s3://npm-registry-packages"}},"8.0.0-canary.ccc64eea3.0":{"name":"@material/dom","version":"8.0.0-canary.ccc64eea3.0","license":"MIT","_id":"@material/dom@8.0.0-canary.ccc64eea3.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8be40019f89fa5770c0e744b6fd4e607a8154528","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.ccc64eea3.0.tgz","fileCount":29,"integrity":"sha512-R/8e9BzpcefzwZ/yD2Ld19BFHIRC+3H+0Jf+ZMSlJ24bj0e/thIJ8BMDZOM/LDK0A8hnjmTug/fVPSdh9XMWkg==","signatures":[{"sig":"MEUCICb04FNPKMU6QNETP0H2KBGb67JxxJnN4aWTtm6ACK0AAiEAvn9Ue9xc6TRbrmrR8FjbHBmy7e5gBnPpDuaKAvdYidU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl1LICRA9TVsSAnZWagAAnJIQAJBr9wSLIgZ3MbH1fed1\n0w2HoBl7pCugVFW4gy/8raKTKbeYB0aX869JjPV1UxO3nw+1C0tPF1GG7suI\nFcggjOZGMtvwz0B93eH8f2EJU4E87e27TblQ+j69VEJ185feLp0JNlCUjHGt\nimQ+/9RCKz/Qpzpl512FgksIXyluL4JA7w9Tw47nRbJMWYEtJrULN3Sjlb9K\ns+MUPwSMsRYo82oce71RMeHX1uFhm+INQbjnvRvlbxFSWp1afG5yM3ImSOQn\nX2u30giHxi9PPBgYBCk3V41+G2wPOW/eN0NcEx4PdvePjAehA3zkhxnKaVsR\nn2fMeJlarr/PWQQRcscCkiZ9VDstHwdo5Sony8sS51w41iEKo9Zdxufmx8k9\nPQ/LMZJ7PrxFTxyp3GQoiGzUI/g/6kOjtBvsbmgkMvTEKrAokttc4mEFQM4Z\n3gvPhXIRrZTnCiZI6y8666ntIH6PiRnkeTfMWWIf//k9+9PjhdVnRlGjlZqq\nFpt+1BkjGfVma60csV4yZN4tPs44I84M6DHk+WlrNjH4TO2KwpHSJWkiUvN5\nNuuvv74hr/G6qnsih9hHOFlBq+ukVOeQgSujRztpgDlKjoYwOhwlBjAn+AUX\nJZOO0gNXb3zWWoA0kxDViiKaeg0jo7x0+Mc4pVguEF3d3zgKqwgaIo3r5I5p\np+EH\r\n=IDok\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"26df299f75c86dada6da463cae5df1b0277d5c7f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.ccc64eea3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.ccc64eea3.0_1603752647612_0.33983471081696925","host":"s3://npm-registry-packages"}},"8.0.0-canary.a79cdd019.0":{"name":"@material/dom","version":"8.0.0-canary.a79cdd019.0","license":"MIT","_id":"@material/dom@8.0.0-canary.a79cdd019.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"df8c2dc28988c81350605c0102457e24a380ecf7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.a79cdd019.0.tgz","fileCount":29,"integrity":"sha512-XRso7G69zlHqs8W7R+d06ztUMcU1/xqUvvE6oe/fUGWtofeOc01zJ60i2FruSNU1W7koY2Laj8sWozRalw+XLw==","signatures":[{"sig":"MEYCIQCyOWsFsciT0Le1Ye6HlfxeQeECiIUA6cSkZhsA9GPXgwIhAOPiZRM/mpzGgKhk9JXhDaQRVN3xJ1FITwhdQX4IqZCS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmEskCRA9TVsSAnZWagAAT48P/3bTmemC/aDK4KSRaZVH\nf12iXX55anUKVcGKgS1kigsKjBL3vCY1qWlol9k2WR1x/dGjaKe9rjV9ZuKu\nM9qmMwa+Xjf6kdLsU+vKqFaFuao1HKl4OWe8qNf2Vv265LKvT6gOEor+bEql\ndEh9wV8qS0usaPsZf+51FU3PIrIQdP0vVAtq7r1Omv8SnLBRoXLvjPAt4SUp\nKhvafCta3Td2MbI/b8Ou9soaAQghGANrPlS9o7juxIjB6QnVRzsx1OOHxEGB\n3GWKU085d2VTgMapA5H8122/0De7x7PMJ7+HON+4iUE115nxKC/AD2LUwtSR\nxoezasA6TvuO/eWsUovMDzqY+sWGPuLQPLY9g8R9UqjsHzpEqm+0gwTntA8t\nYnMT2BYBFuMcyCMG45ets1BiH5KNBMhBrgc10/9uJQlQvKUZuiimyHdzLyMk\nFT/9RADPzZl6MZHekFwSQmr3G0HgJR0vCHGTRbJFWk2S6a5GtZdUW+MNUMAn\nxS2VZMGtGOdplgnBbpfCeNMmjYsLFSoe6J833n+F/Dhv7nhIRvMPJh6DKgmW\nky5ayVmTe/9EDtbhsGPQjv0ipnsiPV26/HqK7PnvYvYfuSqCT8FuZBwj1b4I\na87MGrYpPl4abLSJ+3rq9ALQBjemoV20/IuV1TFwqFyKvPDExMqyqWruhKYr\nUQhq\r\n=9g65\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c54ccf71e4018e84948fec32678595d974f80c67","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.a79cdd019.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.a79cdd019.0_1603816228148_0.43923360536471945","host":"s3://npm-registry-packages"}},"8.0.0-canary.596e98424.0":{"name":"@material/dom","version":"8.0.0-canary.596e98424.0","license":"MIT","_id":"@material/dom@8.0.0-canary.596e98424.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a6861c3ef6317c604cd22640a83fa8a135f6bbde","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.596e98424.0.tgz","fileCount":29,"integrity":"sha512-ag9tKBMysL5faEn0rei591bVniIuXVJcCJAurMQ52qY4U+9cInemLjIAZ2wQQhMjvQrOKrb2JS9g4AcJUox/7A==","signatures":[{"sig":"MEYCIQD4L6QWLSilIM715nx6/iHEf+77XIk/u3F7OZR09xDeEQIhAIhhARuhtqQGgg2+UXdCZ39m9+tNL+euhXddFURxIpzD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmZYjCRA9TVsSAnZWagAAye8P/2bEpsk8yUojw/8LwBpU\nmkuhjlwJ7+mkW5iXC+u9UcKMtPXf7zbGZvUfonSpbQVaj41NQPrglYK7FI10\n7FP3QlSZBSw5UxSELLWKSiOEe56bwyemYo2BTPMZc5qIzv6R5Hc79js5eP+I\n9v2MXUq3AiMWd3fgzg3dBTqPVXzNcGyzdec9KlVdXvwq/Z56i6sB0seutBD/\nwtj9WXSZWQGGbPH8uzCrsmRZhCnQn5R3LrmBOSR1nlRNx+/lrliHFOoY2d9+\n+NYeUfYtPEChTO2fgBk67gm+WphbY53rRqiaDTXNm/GVwGRYjaRDFBiG+T5J\nPFbP8oaIi0YnZzTyk7d6vMyUEBKQotnAHkvntbflsC8zUKswT30QF/P5v/wC\niJ0hiKKvszI1nd3c2en4fUeXP0dz/TdB9P4bYaMEIFql3gGoFfI5LYf1xLWo\nnmDbhKNFCBh5MQtfGj9TaF8tPm7pt3530EXTCiICyZ6C8D317/7aWefqnEFP\ndtg3XO68YwCMkXRlpoC3gVIXEM+NIvDK0PhAdi84XWmepaBF2bMi+A2wYeVW\nXxT6eIb5MsvtVZ5g8MpkuAMwjwyGiVSFrej89xQBbD1iWkG5xTD2uW/RAc9R\nCbID2Hicav7qVnz5SwlVHzyevAuMw/JPW0PMLtNFNGKQf/aHka9ah6wORu/0\n83xg\r\n=CHI2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8fdc1f444b4540a876847c7c3fb4a934e75fee2c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.596e98424.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.596e98424.0_1603900963116_0.9383332798986408","host":"s3://npm-registry-packages"}},"8.0.0-canary.05d5facc2.0":{"name":"@material/dom","version":"8.0.0-canary.05d5facc2.0","license":"MIT","_id":"@material/dom@8.0.0-canary.05d5facc2.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5f10f3eba19c52682ee017560e4292b52dac0861","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.05d5facc2.0.tgz","fileCount":29,"integrity":"sha512-EMfOOQQ8QyYPZJwfh6qE4GS0ji41mxwJ7DgXwiElF6sVxAAWWSko5nx8goNGnBhIowOaRuI6wHDh5GEBiidB/Q==","signatures":[{"sig":"MEUCIQDq0I/fpGmK+tym1+zaG0LCDJqEO/GFUgvLfn232UQ3SAIgeWPF4VZduA2xId9SerjVJN3IbGw38B06AHSv1kC1USI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmZgjCRA9TVsSAnZWagAAF/kP/05yqR8QRjyic2Do9CeP\nTt7cpZ75tZM53jE4gxgAT68rUguavI/Fh2OK27a6sszds40PlGhpIpMkYtww\n1dB7Qi00vAqJtz+0X5eyGG/B9XhZ+qWEEeL+VBiR5w48ZQ2mKhPvtmCwmMSv\nCbf9w2aUpIBGc47DbdIxZuCcyC44bWgBHs5X7e+zCR3PcpWVvCffVVWbtSKE\nksudBjJI8dmTaXcYxqx2e4zx5Rif9apVFNVT1pGSGRjZ4bwt2WIOyzlnv7U3\nui42TyUA9TvLhjPja3ovtMOj+nLGeYLZ39XpgorOoZ2Xl7Yqvk+lmOUQUw1h\nxelCNwZOygfDyLhxet3hlCAS8WcKBVqEXbN8bNrP9tRq/UyHTYtpb6uzwWl5\nlPsU9X5ikg9CqCPu0TOpf18O0kmWxhc75kfZP3iP2Aggrf4ulrDmOdfdQ4ba\nNir6UQHKCs5igA0o83OIgg2x2et0+GTYSjcDJ6eGocVKUngn4AD95Na4d8Tv\n8uVDVD0JBBx8pvyKfPJH6TCP5TXAXOQdHEApDtq3ZVPbo9qpDroHWIMUGKmo\nAuwHiXb8xi/0OocUBQ6S59gTc8bDloRh0ww1N0NqreHICmsLB3cmm+eDnu9y\noVe/1W9/cu7Fe2S4UOwNFYAqchax5pPVONjoCfkKbMUucbti/F1h3eSIB7IW\notG8\r\n=Pd1M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"db17092b19dabd6628edec5bf226f0b6a48e4f95","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.05d5facc2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.05d5facc2.0_1603901475380_0.018461065982583236","host":"s3://npm-registry-packages"}},"8.0.0-canary.291b3553d.0":{"name":"@material/dom","version":"8.0.0-canary.291b3553d.0","license":"MIT","_id":"@material/dom@8.0.0-canary.291b3553d.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"46c88190eeb638fbc0f55bb227c49a06bdabf4ad","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.291b3553d.0.tgz","fileCount":29,"integrity":"sha512-QFnJNZg+RmRv/TOlXnfJCoNx54AwGm+Gz2Z+OnD/QtSwNaO0skFpx/VDHIgv2HXvbAaM6uYouN3T6zfZJey+jg==","signatures":[{"sig":"MEYCIQDBZmZ7KqQclTv7A2QgxGX4UPK5GjEwvRZ0sRR0uaO5VQIhAP7Kt6OROOM9nBjN0E1GvomHN7cVfnKgxCufRAoAhj9i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfma3oCRA9TVsSAnZWagAAPVUQAIvlcVWOSI/DL/9sg1ZY\nQnDWjS4kTITmfcOtIxf0PbMcrgEUBzYD28CtvfVlHMQ3gxC2AVYDKZsKzerQ\nu+9380WzfqAYjalk1Y4sNKEK8Z1G9oTEJ9DOcnMnqdrgTuA4B1+yfd0+TpyE\nwjvaI8GsxvthE5ZO/YkvUm1/YoMZs4EXinxfgslgNzKdX+g4hKfywQjjtMIw\nbh3I1fxld48BNIpwW8hrMzpxio7tMpEDJs1jWRyAXC+44JwXzkbdVoG1Nm+B\nC51T0RSUjuxBM+rAXESiij7/OwVXILbLi7pmXnYsZp3tz3iV3vGulVtDzUQW\niyT6R3cqmkquTyeN5+2YxHh20HZUwujmbS0OvEv+jeyY65BP5dwDBPkUZE8r\nk/fp3AAY++7irnNThWF0+hJf7wxCXAdaaUdZphArzPqnGXfwShPM3cY4eee6\n70p0AsfKNVRmfDHVHdvnUn+vKwvVAgTKVV8KfJBEKizJjFvN/dIcd8R4sf+s\nthvYofs6r7iKj8YKBaXaK57J7jd/jdxvDn1Y+q7ezxSsi/mZOyaPiES1+SqJ\ni7i9c+LDCngWbenVbojQRKjFhvBwejpg1F4JPbbpIMeDlkF3eK4bu6cWSi9/\n+iSedG5ME3MjUhTmi0PE4im4zW/aY3IWZ/71Y9ZY5ZPeDX7RL+rqsbU1d3gZ\nvT7t\r\n=fIhf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bbd141e6c5168a84cdf50ef1302c9f705f0eb283","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.291b3553d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.291b3553d.0_1603907048408_0.8973109880884331","host":"s3://npm-registry-packages"}},"8.0.0-canary.dbc449b09.0":{"name":"@material/dom","version":"8.0.0-canary.dbc449b09.0","license":"MIT","_id":"@material/dom@8.0.0-canary.dbc449b09.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2d35798ec161b41dc823ded112579eadc2c7fbb9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.dbc449b09.0.tgz","fileCount":29,"integrity":"sha512-2jXJYS4VEp5MuZEf1xsRZXcKM2xSPBuAhQC7Uv86YQosUv9sI5GYVR/Ndf0I60ACd5tXxA1O0uM8trmzOTPBAA==","signatures":[{"sig":"MEYCIQDZun1CcFC1cO0btEHIPXkt59boP3ZhS00eXJIwCMRy2QIhALBZSxcw86+PlgUGKjdVeKqVORy1ViKZD+wDtVb7HKjD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmbRtCRA9TVsSAnZWagAApMwQAIMrPDbeYkKjvinHt/o5\nzhgzE3r8XzPbd8f3/ilNMcx9wsG7kGPUH45zkiNqvBsIbPFRKj7ToDh1+3Fc\npHeanSwujJ9/AEiv8HRbBiq4CAwjOEAteoYDhl3bP59EBgca9EpWx75gIjsa\nrHaBIqOjtbOrzWkKqEXsYrSxKOwHs8kP9ibV0drgpLarb34N2F4EBaYFWByi\nItBQ8QOHWz8Su6T7BtmDTsd33mpktd+XxrbgQlrpc5FcjiDVQV1evDJ+5eks\noQdZHR/n+rgxXxIG075BweTrgWnhF0ofGPQ/B1H8UDTmNGYt5fbpPedoYy1H\n7wpYUA4wKYLPdTY+9cxzu/FWsf9U2LTuw6ziQr1lf7TI4M0htZEu1zvd0PSK\n2A1HWjiq69RPdR+XWavcQiAuBvD+rza5VBP+ATseXWYRWksFvvepgwzIp2zC\njken519APo5lVTVT+Rhi0TcMoWUJYkQSnR9A+84zA9+hnxPmLODk5iVrRuMQ\nr5OLf3cf0e8J0eezPVGgeksPv6ttxfxoctiXwBhLp+aMEcrJE2RKqeUS+Dj9\nsYTPb6nsE1kGGyRjqDuD5+pFkzKDR7KxCAbMoxnRNl1LFPtxvY+cS8j7vxjI\nZAY5mujMiML+uB5uTrcn9/31G8ORyL0sc1ES5pfX0aiGgCIhKqKgeM3rIDTh\nFVTj\r\n=prbB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7888f3b13baccffea8b2b02ef5c25e264ae321e4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.dbc449b09.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.dbc449b09.0_1603908716759_0.5387464967912017","host":"s3://npm-registry-packages"}},"8.0.0-canary.4794b25da.0":{"name":"@material/dom","version":"8.0.0-canary.4794b25da.0","license":"MIT","_id":"@material/dom@8.0.0-canary.4794b25da.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d18739a901fb687d6b455d37728da43d29d7bd30","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.4794b25da.0.tgz","fileCount":29,"integrity":"sha512-vFk+H6pgwa1g/bOE8PujZR06rYbWwGo9CSFpi6hJZoC2OMy9peem38GQM6kKv6WRDBxybLIDe6y3Nk/M+sPZSA==","signatures":[{"sig":"MEUCIQDOjE2VJD0GG0LqtsHTWyiJJOekMUjRXXeq/9LchejJQQIgD6yQRVP/dCR8wb02DnIx9EttnSVOIrF6YuLYK9CahoE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmbseCRA9TVsSAnZWagAAFt4QAILCoMZHp8hnTPLUGYXl\nroOTmZ70cB1P3TON+3obOdUIXilSzLMt44Cmk6YQmxie1gel5PA449uf2T85\nre0/76IhOp1GhwuD43ta/swrF2bWVL5uVEfC/yN4I8vFu1H/S5uvQoUuIbWi\nDkraGPZ5oLCnpMvBbCEfuXs3rmjnlnNEGYG8avP/pEewHXgfBhCbDfBelUV0\n17bgkm3LCQmM1lEGFN/PY3KaZNMxVJ07NvdovlMGPZSMcBUa5491Kbd+VZWT\naHJT45UTJRFeDmym8TB5fCTdjDXuv4nxMWBaqVuScUgifePNkC+n6c6MyJAm\nKnheVLp8McohpPefRvg4nRXr8PoNBZoLEosLrJspPSSJGsZI79sezlYwoax0\nakXd4F+C8mGsUMxKXrvfWTNYJcneM4VXni/oBNrCijljMSf+ZyTBTR3imdwE\npAE7IC9DPp3CKRz3I9SpjihqrRbnTInoj9/0CRYZEwRg861MpwH+KDtS2HuI\n4JpSDh+oHJ03BRZuFh+v0pWIPlMyLmLiA1yxTTaxFjYYs/jul3bvD26yMBYL\nuCpqvc/Vw56qoA+37qFXF0FQM5XKK+ddkYRavojL7frTJ3USwPn/iK2rk+It\nOQk4AXEy6IZs8sBtCODqHKawfG2fHYCwHmrV3CLJUCmqb6zWcet7pqUWT9Ea\nFbcq\r\n=WaG8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0c2eec6be7b76adae9376847043bcde093f59d3d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.4794b25da.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.4794b25da.0_1603910429450_0.10658020247445266","host":"s3://npm-registry-packages"}},"8.0.0-canary.c61db90a5.0":{"name":"@material/dom","version":"8.0.0-canary.c61db90a5.0","license":"MIT","_id":"@material/dom@8.0.0-canary.c61db90a5.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"785981e61aabfa5b4c0eae8a63765fb2fda262b0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.c61db90a5.0.tgz","fileCount":29,"integrity":"sha512-tnFEBQ4N8bFAKJBJoarcAhELRd4xEKQUrcp2j/WGXeZ+2mNGp7+EBSMWAkLqvanhfmES+rATpfxBc5P0TQo/ew==","signatures":[{"sig":"MEYCIQCD5M9SDGrmhcfru+n/7cW3tAPZy2iAutLS+GVX4i7vEQIhAOE8ruPxYBEauRw9B/beE0DepmdlQjI8G7uK2ghfTrsz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmb9rCRA9TVsSAnZWagAAX4AP/R2qBFV9MbWf9OyXSez3\nt4JAscX7zacSDtBOoGrZlX3ev71E8Ttflo/7bcfKK9sAwOkYolDCfnWqOOgz\n80VDws+QLzmA/DOGMZzdlKNACjYAD/xxjwq/uGpQKIBpHLMLs2v0B7RI0GpK\nehQcMMDQSgLyLDVlo/TroDMdd5c5RQV497qbOAIHbtWiHGUkuFEZljnzqmNO\nUFknblGyaJ/1cbof0zWIMi93tMc40OzaMjprwqeS6UPt7J43UIO32RR7cm/U\nC49GxSquFplpNLKnTgtOQSLCPBMsfZ3n1EKuimE4/7EMRux+pGprqDpd8uce\nhhzGSW2YFZ5QKhkRuNb4nyWuhnLJ6MDBsKSJ0YUNQoAkYs61J1jLXTfp1yuU\nLhQrvCI9cuuPmQM6JO3BbM9fHScCJ/kTujPKGGxPV8+h5HEqUpD+0OAlZ7ej\nCutvVN2WlUmuYLlhadID5z3s42bYbDVmRtXawGzLrx3XdHOMixGZAXoy+JpQ\nQ3163DgNEynnX/COhNwzslz7Z6NV7FoQgIZ8sMkAbnOfbspMoIIsr1b1ARR+\n71iRPgAAO/veMV7sfQAkgFLguhWHzjHg+lvJAdA4Ymy/MUIQ4N3q9a0LuYtA\nGDpAIb1zOqxlreKh0xPNEBkLz3SWiO9DAVSFM+6Vyh1yfyYap5+9hYNfUyBR\nXsvO\r\n=sBER\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"695570eb7478c283510b9174ac7c4911866e0868","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.c61db90a5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.c61db90a5.0_1603911530952_0.3185443066849234","host":"s3://npm-registry-packages"}},"8.0.0-canary.6d9648ab2.0":{"name":"@material/dom","version":"8.0.0-canary.6d9648ab2.0","license":"MIT","_id":"@material/dom@8.0.0-canary.6d9648ab2.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6b4bbc8022e73ff5e662b5add55bd52a781df761","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.6d9648ab2.0.tgz","fileCount":29,"integrity":"sha512-76OaMS7uMVT1mO73zZ1paqzsdLPlC6VvArLETToXNs2OPF1Ibn1rhFjSFc8Bmt50clkbsZ8zZJYCUZk+kx1V0w==","signatures":[{"sig":"MEQCIFF4WS0Bo0p5jp/sXIcPXihmQpj7bFZrdZPmiamUQ0GOAiAptbAJgRoJlpnQRWJgXIDzigYPkBvMwYNslWsWZmuiUQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmyauCRA9TVsSAnZWagAALKcQAJITyaSSc95CJqrmk2jD\niptZ5bd3e9z6msT8ErZTFxoTZYmJs/KWk6PcVOe7LqkyuhG8bG4DWyZuVG49\nrolxtKUrE8JJX0Fx0ku0w5Kll3RZbzrf2yldILFBqWWUFtY1XVgNGls/lpyj\nBAGS+ftk6TCJY62P3Nh8+3zgORH/Z+4byBH6/Ft3dLBAd3kmVp8QqemdKuzf\navLVrYfuVU6/WGOGKRbo2u7+TbTpqUIn1c1K3bOQRypByOwvEJw1mYp/Uq6C\nH38EoKWbmQnkkEuFxbWeDsSjo4ks4megrl2Y5KrK/+Fg4jhnXrOpneFgfjpg\n7TZEZRW6YUUH1ZSZUiPRWzOS1QbfjWLuWXmtT+U/N5SON9CMFqdqQR1YikQ5\nhLzXdt2cAR21ZGORpdt9nWcAnsT0izr/sQpi4XX+AZqOmfkiWLrEKO9wtIGr\nRgV8N5hCAUZ3/+FwmuFYSjNvTA++pPCxOrz0txN+QUN6cd1kgqISx0BYofIQ\nVEHJXAxG4caoG91+cZXQKPWLeB4mLrC/CSI81syKqEj1sFrItJP3k6GK7NIz\nYxTgmlI98Sf2VfyAfPpxkb1p8LmWsc3joQldFGxV4sQlKB4IO4uuzXwHGbO8\n5SuZV0X8mCDV+wh7mMV0Gjrc3I6SKEfOmN9c5U57TdRu5Z+qkhOHcq2nZN9W\ntMXa\r\n=9Sh7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5de6a39d4b70a98beb71cf8243a219f454b11aa3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.6d9648ab2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.6d9648ab2.0_1604003502153_0.43945283230175547","host":"s3://npm-registry-packages"}},"8.0.0-canary.5511c5254.0":{"name":"@material/dom","version":"8.0.0-canary.5511c5254.0","license":"MIT","_id":"@material/dom@8.0.0-canary.5511c5254.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"09e7984247f61ba9804da2ee1254ff1d42879756","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.5511c5254.0.tgz","fileCount":29,"integrity":"sha512-AdIGtpPkKVV1WBgbhGKLgh2pKAdwntH5x3IoBy66+MOmZ3tCgjTBRhk5u+eoa6s0bB3dK09u51c8YhnSiEGHeQ==","signatures":[{"sig":"MEQCIElAOk85hb8IVYBdaCKAIajr5nzm1YEQnSCc7WBdRCorAiAz97p/T2xCkgB3WHYLbrGDGBvND+3ww9BOTOYB4nRjUw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnFSBCRA9TVsSAnZWagAA+TkQAICmOUiEJ7BJBUL8mqbE\nMSl3ebHYaSfeFs7k+I2w+DQx9EjsbxU/t7v6mUnaIv0aNgNnaV7akmspJsLj\njjBngINW7yBrqAq+OFoucJPhe4zwFNBqJXSBumiWeCk436UE/YTCficZcusK\nl1N0dp31nSGNsZNosf+38nSXovnCQ3xm+/vaRgXx3/KC8Ya7iiLwOuak71xr\nkBcZBC/XnEJkRMpBx/ke1nq8JwLpeZ1Usa1jHT3Xzt88LCQEcO1K7b3wxOX+\nkLWxZES0rnjDTzEsxz+ykhh3hTqep4TcR2q5L1D099m6Vjxi7dTOh6lS2TrW\n4hob2layVlustQlHaPduARfmkOfQ0z9B9k8sJlhAmF+LGEIm1W//+Xtd4/SG\nuKbHZCH72+S1Rl0Zq6MFRh+X8kV84dMQoevo6lApLR+bp65GO9QQFIKyCTEm\nD2t3y3LhEF8CmiQtjvPMrBAdNw6TapekfA1pJgtS0/PKh1Iad8TAaaB6uaa3\nGV0MxsVr8NCv/RLefvsa61Sh2t3iEcr76/9uZoqpc173nwUppibe+VwTuAtc\nY7vy7iiNJ2L57WmRJPcM8HqYHhvi4oU/5tT/I8e48bp17xN6N72AWRXR3m4o\nCl6kIP4ZJo+G/ykD2m7ah1DVYJ+SM3pO9D9pSnwp6Pi8WWovsMaPo3sLAfBM\n6Lbq\r\n=Aqs6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e847a627e044cecc475be1f0140e17a4e2a68dbc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.5511c5254.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.5511c5254.0_1604080768924_0.23071565896785096","host":"s3://npm-registry-packages"}},"8.0.0-canary.bd6e302a4.0":{"name":"@material/dom","version":"8.0.0-canary.bd6e302a4.0","license":"MIT","_id":"@material/dom@8.0.0-canary.bd6e302a4.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1336172dd744f277936755d024d51f0c56311840","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0-canary.bd6e302a4.0.tgz","fileCount":29,"integrity":"sha512-8vAJtEYu93MJJ6h52LJ0q+ppeXU5M7+iKZUGO64HPoKGzNMYBXrs673tRzjYQcWhaJjwQmMDTlFjRtFBTZBLcA==","signatures":[{"sig":"MEUCIBQzU+gGGDDOTbEgAKIhG0lOwqZG7sN0CKaPtW6IELVqAiEA1I5RBLHXU8wBUemJ2euJNSE0d+R7JW/QFZ3nr3PdIxo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoDwECRA9TVsSAnZWagAAGaEP/1JeAac0qom3VjKIKf12\nQSw2Exu+j0UPf+QQECCHFQ2AMMb4CL1zyuAy4Q9Gwe8fpHPKOus82StQ9GNK\nfufGFL7bActJdIFauSkuMg74MVVRK0430LbGqwTfFUzqytZtV+EgcWl4tVZM\n8dVpw9vBq4xXjA601amm4IJ2g8DKcZ0+oyeTnF9fipYdIb26268D2Ge2POwu\nzV2z3Gc42oZK/wLi7DCS/yXuIpSxeaO0639AQXaq2JtiCiN264xAAqT+Z7rF\nKshP1AXT5Dpt/ZR7EhQ+C6TDtCO13F79TX5NUzJ+JEXAbPvml04HDgWpEGCT\n/hNjfACY+Nv8M+DbNUMIMbxZOw4N/TT8lln4CM0QF7PoIWL5G5ZuP8z5M2th\nOw4pdgdAcFjbDRVN2fElka12KgUmoEuBAR9ZyQgLuRXayVMJV1HQuz92Bq+V\n2gX9j7MIOoOyjHPmxvsbUAteBiTmakEqqd3s0zQP0lmWJn33jbzSN3D/XPOH\nahj0XRNQbomU8txx2pJnjx7ZaSXedEhGk1AsiFvaDzw5pDw5Ct0Ax+GJ2dMl\n0o2fLcr2S6hCpNURlhNHQgxqPkkyvGA8vs7SQ8FX6iu+XXOxNIVYaXhZcBHL\n3tXLtN2o4iRwn8W7eu5sV9HAITqLGn9Xr7/AqyR/wr1FsjWZyY7vKUQAZi32\nXIZX\r\n=MgsD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b48f791b92804fe77eeba96f057b1baa89c48e3f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"8.0.0-canary.bd6e302a4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0-canary.bd6e302a4.0_1604336644193_0.5964118814370512","host":"s3://npm-registry-packages"}},"9.0.0-canary.d6b5cd418.0":{"name":"@material/dom","version":"9.0.0-canary.d6b5cd418.0","license":"MIT","_id":"@material/dom@9.0.0-canary.d6b5cd418.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f7326bda5ebe4360e9e42082a6566b54ba250df1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.d6b5cd418.0.tgz","fileCount":29,"integrity":"sha512-YUFlQIexlhjg8QUGN+5F3WxbcsOQYOr5aM6oaunCDUwdlYaYqTL6yOpnmAr1PIg9YsPHpmT2kYHn+/3QAbCCSQ==","signatures":[{"sig":"MEUCIBmRAJojLP8egwlPfI5lkjiIwGxKlK+AjNAsJpV5F/16AiEAwGMGGeGe6VAX6bpAcvzxQgYwR5vuVGD9umFQtGYG/Jc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoI8HCRA9TVsSAnZWagAAG/MP+wUTndUXrmRABZYs5cba\nHzV1wemscdI+NMmaUN4RJhC7F23b4Cevi2IVykdYPxwSbnNbNctzqbITnsG5\n7h69wcswjzSIE4Iibnxzbvg/NJ4Wo2RKrFAbkX0tVw/eqi6e0d9FCrfbMH3y\nlSELJunVpxkJjoZDE+thL9nvNMBvbIErgb+acXAEXMOJ9eebtBzZzXis0TDP\nKCaGSSHBwdFPP/QQI6ToRVSxt1ScvpoTMuM/5KeST0vEnvxpdQ58jX/Dm/jh\ntZWg/MRpcAraF4hJvWR3FhbW4eaw9cZPGbNU59ieWU5g6TASbfhWZE5Y0WqF\njpGrEJKqOMT88b++mFDgUlulwpI2QWtea4n0pJ41ZnJ0F8oZxnO6ItxapCm5\nfSuze25FsWx7n2zl5M4BvngnZdlGp3y97Aq55I0F11cS6phr0dFmEb4f1dnG\n33meTWThk93YzjGOq4v4gszcWZzkVMmn1vj3db5phDUXeSIABSWYDSfoful6\nHOfTuziyuN9vbz8D9ItRnlOdrYX4UO/fWVVMP/ThyXqqN4iVy1TEekEBlmEb\njfp+IfhtpO49Mzrr1YQrRfR7+TJxd+9w5Cus166Sj8q6XlU+IehaHyDpI0Eq\n4Fo/GK9Trb19geFv73uKNi1VGnshWg/HpWtDUKizIQzKKULONEc59600XTYa\nLBn+\r\n=8RUg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4fd5e4f9dda92417995fcc822b1d02016642b511","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.d6b5cd418.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.d6b5cd418.0_1604357895119_0.7880241940436501","host":"s3://npm-registry-packages"}},"8.0.0":{"name":"@material/dom","version":"8.0.0","license":"MIT","_id":"@material/dom@8.0.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2bc70017d1608c3107a1a255066d2b727b7e605d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-8.0.0.tgz","fileCount":28,"integrity":"sha512-Y+sGqsyeFEu2whqdQ++LzXwmoRzhG3nEiPPwtX/Fgqrfdy7nyG1tvLXT+P+PLMDM6xO/H5+yjPV5OLFpKJjiIg==","signatures":[{"sig":"MEYCIQCTyqmP+gjNFCmNJDBs7rM1bieKDqFAmHChgZEotTh/KQIhANGK79rZIZ/c8WDUH+e5dpXzlUv3yv5iYEW5VAsOL7+D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112388,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoI8dCRA9TVsSAnZWagAAVXkP/iNRya9CXeEqMTdPc4Yl\nRpoCnJsrTcJgcSOYauD7NlD5ShBW28We3cxnXYgp9PwitWutTOJWm+ggM9Fi\n23EYqdKfRjDzSv9b0Lv+PHZMseYMCXpLZNT/flPQu0Q/DwelWQnBHRG9tMPX\nstL/TEAyyd3bcCfEao6xWlJjBkwf2XElbWlyAY73bMhOZi9d7Qsda0HzkEvy\nFomPC3kXXEw3tUm5umjuF6ma0rEEJkGeITE/696NSMuiLlP1iJwWA/A/G3xy\nbEEk0D7o3qI+ao8MOnok4hYU6BQvmelI8xjS9ovq5WtE9mVnADzmma1zOw05\nEV1YejHPI/48UgyeYj49hDGd+IeMomREfFixaNSMrydKFiDDwHkKK98dLv+S\n9o6AH3WoixiNuhgBmxgXqAvl9sWY8JmxkxG4+oQM2C27vYLzAOrD6e4NYN4m\nTyHqGnW5qPsrnt2qZyJQpGm9L1XqYLN2bhUuhcICwGrJdAV8c6CpaN6KlGy2\nsWBXr8wMRvb1yTxFAvyqbMDLQ8hwVPxOjXOObSjSbLKLDJAlbJGh5t4p4oZv\nqhtI8ETBh7yztJCTP4aa7EqVSXsJSWsZn7Xf0RTvv4zWYRzy6uIMeISOcu1U\nEqXKQs4Fvuckv4M/dyIMGRb+BjR06Xgue2JTj1b5sKdW4eikqBqZSrPAcZv9\n/FPC\r\n=cklT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","gitHead":"d6b5cd4181d0bf11b598b5ca142343fbc87976b9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_8.0.0_1604357916877_0.4997890696707721","host":"s3://npm-registry-packages"}},"9.0.0-canary.fdf9a2634.0":{"name":"@material/dom","version":"9.0.0-canary.fdf9a2634.0","license":"MIT","_id":"@material/dom@9.0.0-canary.fdf9a2634.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3778cddcf8f681150d5b4772add24905a65c9a31","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.fdf9a2634.0.tgz","fileCount":29,"integrity":"sha512-fItBg3IZ7o2DIHXAK4Za/PT50LZTLpwEmApyh6Mn0wqkgJvCgJgDRKaXXaMI134cbK+8FlCOg/AnH8s3earMyQ==","signatures":[{"sig":"MEUCIH0xqZfzh3QLEZ7Zb5NRSW8UmQjV8hKN/ax4deEGjis9AiEArU2KI3aM1Ku4d2Jss3YHPpwu6aPzKR0VIMC22fO6D6I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoeXACRA9TVsSAnZWagAAnq0QAJxzZy0JXjF5u69NNyaJ\nOJdm5TTfO1qUcvU18t4xYqLXoCCnyxilslKF529uUFiuaUJ0GE+qaM2lDbE3\nk3s0hWYDUf9FufPDMeYNiEg4vArsRGQq17lH/ycewzsSSNfmcNdfzw25EyBm\n1eQOQ9v9KFUjReroU+9m42wc+dCkUyClqfnZVaDEVnMC8Ov22ScKd8xsuDlv\nG2lzvBJFZBwtDEjIyMHMZOhpdkTWqYBll8EfmHaN5L+a1IZumwQLjFuwMr92\nbTqCHhlgWEdWXptAKMk9G4MdLryQl0J9MM+UJOYZ3Qe/jqFLLnoIVwe1s66e\nArUHvE66dC0jiBokTLVLXmdb2F2wh8Mk6mwCfVFDSCofX4159X0U7gs1Fn3x\nxd2p9cSU8n+zBuCLI6mfefyvY7YvSJ9YbGHiG1XXKnCEfqcoPSQdVpm6Y6zf\nfbJ7xjlKKgS8/Ps7Q6Y2wYsR0UlYnNG53o+PlAg/pFV1kCmSqmtfw58slr4P\nuh1uaWIF+oqqVcFIbS3aVxXMGAgBqfBvjrl7ICNkOGGv98FnlzUOEQJxapWp\nZUhTS37zg/3WX7da8ObfUcuCmNXR68O5x8ZF2fPVM18NGA+WJaRYEWkc7Yc2\n3kjQDOQsmCVWZBHngLgDDI/zRCb3nqV8xUoF0323qx/yu3l2fO3IOZaCjemJ\nrZPa\r\n=NPZf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7d38b3b1a677a24d709697b68fb697f1367fb5d0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.fdf9a2634.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.fdf9a2634.0_1604445632279_0.7874260539103202","host":"s3://npm-registry-packages"}},"9.0.0-canary.4a86f30a0.0":{"name":"@material/dom","version":"9.0.0-canary.4a86f30a0.0","license":"MIT","_id":"@material/dom@9.0.0-canary.4a86f30a0.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bcfd859ef1ece577c5abc009bbc35d1a6fea638c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.4a86f30a0.0.tgz","fileCount":29,"integrity":"sha512-pXbaGoSYKZipfEPpPLWgQDLWNfF80dWr02bN8hEbyw8gC9AYvDx/Wc74ft57kuRsjgkV949hKX5C0RF4s+a3Lw==","signatures":[{"sig":"MEQCIGGAzWCvTWr1mb5lP3NDURuT99xQAdxAoiQQunyHYVslAiA8L0d5Ml40yzBqWPSNRZigqNGn7xp/E83FHydIZqf27g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoedECRA9TVsSAnZWagAA1xgP/2oqFXWrDqIfJd2icert\nTJeIO0bCoLsXvEax/zV8zCEY1yil/oq7abAwOAvxTT+zmIMGpfkLuyRY0ESG\nak3+0cjCMlJa430ZblbU+Mj2J1HAe0oQPj5+agJZxE5SdUydibtbdZdPEW/s\nRPP5Xq8O8hh9qKlqN5xPrw7vLTVF6YJisyu+5ix5ijwM7xfiNEI2NfFdIzLK\niZQs4a5yrn4b+sIWuyjL0PoFECITr1BMjSFoh3vebJ3VJCX9z9jlQXfCjWlA\nFilq12EC7KjFSU8gAekEzn357LupXHQ9ofxHZNlrx2TOjDAFrbVuTH9yVRQb\n8Ds7kFAoQBz16Rh8XXqM6/UVhNp0IuHwHLLsH6Sf3mu0T+DwILOJtdHoZbsY\nQ2M3AHM7QdcoRA3WhuFJNpOejOmSuPwmsBuPgwG+i5UCChmnDvnrYw+DmAsL\nGJUJbntwBTsAUB8mztl5WTA0l5hWHzjfg2EqXyO5ifa0HgVX48SnePW0oTRI\nfDXr76FGtd3289g6Zkz9DrwQt7VWJc0ewXZDxWCgVUMRj3yiRamKAl+nV2o4\nDnZY6QDPXqBM5/oVHkF8/xXw5bFhIIvzdffGj/OgLpTyKVfNsrKbUEhDPm1h\noHI42NXL6K119+zfW5h1CgkfE4H0ePK9h/8YOEriX+Fdo6Cqx6qvrxGVWCaW\n0LQo\r\n=nKTW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ae1cc15cda11f90ef629a1f536e69a9648db906a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.4a86f30a0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.4a86f30a0.0_1604446019624_0.9364204760368189","host":"s3://npm-registry-packages"}},"9.0.0-canary.fc8b045f1.0":{"name":"@material/dom","version":"9.0.0-canary.fc8b045f1.0","license":"MIT","_id":"@material/dom@9.0.0-canary.fc8b045f1.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"24c01c52cf4ed2d95bf299fa0ecf471ae065e140","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.fc8b045f1.0.tgz","fileCount":29,"integrity":"sha512-sSnGukdygtFLXhBh/oigEfbbN0ETawEmsJtYh3jZLLdTccQ69MNKzhmWifngWycd2cEIEuZTWsPCoZxqFvLvCw==","signatures":[{"sig":"MEUCIQCpB/ZfjBaRxGYHq1/RttMNgj46M+0eDY2xUQ7rSnjmNAIgZIeRQnZW+CyQuYZvsz82pAfYPlEBVCQ2Dtpv6rgtJmk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoel6CRA9TVsSAnZWagAA7n8QAJZqZKBboy9/jXL4tFIG\nscxFI83YKaMY9x98nDF5jFAoNG8y5Dq31SE4oGo+jzTFhv53Yq73UT+5PZ/9\nDjpdC1hobavd2OjCrL0NENdp+KCHwnlXT0jhZP4Kzy5g6DgtzNy432eKN/rP\nI1ku7bRruEt2pMtyWotKb1eGuvzCVrKj/GoFiXBOSYBCXXXHfzI6f68WlU1h\nsP4UfDUdforCYk+vAD7ujLEYYWYz3lkrkXLJpNhj0s1Q1uMXROFrAoSUIgGS\nP8wtkP+7rmT+JOuU/hsDEAfwugj9bSrO49u5yrIii64ASmGjWR8CjeeqYBpK\n0ZJ2kC8rVvctu1Uj+s82vy3zmlGkbsYkUGw56G+bZEbihzugQxXCYGMhdpl/\nzLpl+6St57n1nVlfzU8PIdYZOgsaPpsnC8vodNo5v5SYCiPcbY1Xlu1e9BWi\nj3BDlpYGtGkwk3WBrxaEcik+Yy4nCpbnvyEHJZeSOySb/WvZNAbyxB2z6ZFT\na7vY5LHaETwFdAyjxWHZwZpcFcOSeYDIo7R0DLSR39vsmVk11fWcZ/BiqJ9M\n9kzdr+D+eXaq/XI9qb5I4mdch3J4goyNBeF/TVI4PjpWGEniVyNop8H4fjX1\nbgdeJUDAMzqdagxxVYfDrOZja5/+yoebpjZyLTrAWJRUx+XCTp285s+eKCX/\nVv03\r\n=WglR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7df7659dcee84f0af6a1e7d8617abb4056acceb2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.fc8b045f1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.fc8b045f1.0_1604446586419_0.3420541435014033","host":"s3://npm-registry-packages"}},"9.0.0-canary.a0b2db26b.0":{"name":"@material/dom","version":"9.0.0-canary.a0b2db26b.0","license":"MIT","_id":"@material/dom@9.0.0-canary.a0b2db26b.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"53a81035ea95cbb64ad73a08fef14dd592090cb6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.a0b2db26b.0.tgz","fileCount":29,"integrity":"sha512-Rij2pRfzoDU2OdSVW+TSlDp854mB1MLkRGTSJrOvgeW1L9rbQRxg9eb+HIODNYVR6QqEB2KYwahT080FUzSp3g==","signatures":[{"sig":"MEUCIQDRtzTsmx83bD5wuxd1rtFzZC+fj0mFlAoEUa0TqKEpagIgFv6sNsntPbUPuOB0lc9ldTKyOt/ZT2k+ISc/XYOyf7I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfofDgCRA9TVsSAnZWagAAIlcQAIzzc7l2Uq1PkQ4D35i9\n94CApQrjt2zNkFBRvcupZga8PJb9Ka9KRCIjgeU5KRIHjdbzzxyiyEH2J2tq\nt48Zbgxt9dTAbPj6qMQPx+tqWaaPje5m6ROv/+3xyVb3W6K84pO5vrwd0onh\ngupyBBzfPPyxAmhNbcoVXPoNe7Jz4+igEGmuRP9z0ijyVNz6RuxKvgkPsNV7\nloLurGm5vZhrJCOsu+e3rMJ+eQHGVt+DpP06EGXiSbHqDPkn9VVZL0CT2trF\noNW/8bwbL3En/+lVmlYBVh1Xn0OjOq+r89DXdbj4pxSRhtIkPICbJz9xHJ+T\noSVk0xN9oJccGvtqqwY+jNmF6b9bCi02nzOJcz3vsdGkJiiCw+tDYCU7YNvY\n+3obfDiCdZoHOciRMLuwmBSttc0aTeuMscpznAHOrSOYPL6GgppNUmJUWFgC\nPjBMC8Pya+Xsc11aDuy8K3P/gbXAdY0SuIAm4iQwsoRhqSskt16feHX4agXJ\nI5fUrM/cAI4nFRhDpDriokCXQK33O2iemfNJ2dw7/0B/PlypHru779dKNb7j\nXgSKeqTaLs/BbTLp/stcHKl0CRdLCz1DhTE2Rl1JymMmMt8QFLmlBKTiKjlx\nqGneduV6kgvWYzmOAZUGY/sEwXqGpALQmUY3dQZ2U//VjnTAm5t47i2arDIr\nCGsj\r\n=MVnW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"885abc8ece3b0c3cab58996fab25be733f65b5c2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.a0b2db26b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.a0b2db26b.0_1604448480218_0.9494093070718812","host":"s3://npm-registry-packages"}},"9.0.0-canary.419e03572.0":{"name":"@material/dom","version":"9.0.0-canary.419e03572.0","license":"MIT","_id":"@material/dom@9.0.0-canary.419e03572.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c3c662401dc5518296c09f79a6156219ca0956ae","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.419e03572.0.tgz","fileCount":29,"integrity":"sha512-f2t09EHP9i2gxaNn77K+h4t3+fQ0vV/fHzcx2r9lezWVTxurKMiGUzaOOjtjYNv+McaLMgcgO523PCdD8cTiJA==","signatures":[{"sig":"MEUCIQC7YsBNELxxNm+WjcPD2sUwKbEqP8YHTTNVH0+WTxsnlgIgSqAsQ9lfkOmMPWcxpigH4wWxWPIC/u/xCGHEiJNk+yU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfogSlCRA9TVsSAnZWagAA8gsP/296s7aI+2WszYgPBYgr\nX8rk/u0GbpKO7ZnhV8kzIZ+DvPjp20R9Je3FEH673pMiR4+yIx8g8Lu7EV6d\nc4DygIeJXylOEB00Z6w0mnxB+JBtsC2JIV3adwjH0dG+MMS4qg+KpFivA4Pu\nkm47mu05xOln4N86JWvVSWEUt9Dlwhv/JVCYubIYj2+3Akw9+Qal2UdPwsc+\nZ9Q15DL23hn5Y0tDr0HUiHipiZ4J5zSNC1+QWtccDsRDM8y1DqoEJ46EDiZz\nGTXeW/d4Q7Q1h+A/zquo0QhDh48DeIvPKjQyUWv12pPZgchGvgidsIYQ1wXk\nT7JCyGvgOJF91v856EIBKNAl2sKZFvWcrHSaPOhOdpetC3ksqSi8zv2KFMr7\nJYlhb4U4e+LbsGg4h4TOLjdJXJnsw2IMfrPpGEOYO0BoJuCXhpPo996ks09i\nodPqYNxkHNDMjiiWxqiNh3+g/srVZEnPEq5lWSg2v3TBGdYCkNzQA2Yf0WEN\n0eUsP20Si/ukQhHwCC/DON6lniRwWXEDrrnwTCPkAdfFZ1lY7mJp1ljHlt0v\nnmfbaviLOg7shNqzZVM2N250z0Lc0I0WGKN76CoBj2GtS7UHci5tmrHa17rI\ndlD8/yH2aATMu8kVhVtdTyXZ005u4Hx9Ff7LiVQjM7C/ZwbUKGC94LLE7gTw\nOScQ\r\n=gVb5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c9528e0a61f88c4fa2a5bcc6a5e406ccf027d7d4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.22.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.22.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.419e03572.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.419e03572.0_1604453541376_0.33005677868231964","host":"s3://npm-registry-packages"}},"9.0.0-canary.a432ad542.0":{"name":"@material/dom","version":"9.0.0-canary.a432ad542.0","license":"MIT","_id":"@material/dom@9.0.0-canary.a432ad542.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0a094ae5ccf9148031ac6038064e4d1524f5bf7f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.a432ad542.0.tgz","fileCount":29,"integrity":"sha512-P/MFyYPD5oAKFaX8YNW1l1Kv+AdN9CX7KOdRJFg+uzoNoZv5kz15Vco790964/gM/P2wvxlj8n/rTRlEqv/XFA==","signatures":[{"sig":"MEYCIQC8xCqbOX2OpY320+/lJuN3RUBXvKD13ePxyyqpUHzB3QIhANbXnz2nVYTP0//rIEStqYVLZn2aLPe8YM4aGFLHSaDa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpKquCRA9TVsSAnZWagAAzEcP/jTWxsFhVhxOi3sKtWSE\ndz21bUTX/gP72JkodCSSQiVdqQMAH9FtbF9VnglXdOiSUlaNZZCOSr/R5U6S\nj/vEFw9xsZmr4QzIvqwZjNhORAYmTL4BsO8rjilfSa+/yyZ6FTLamxa5mrCm\nMBRGoqjhu3lRji/zDWEv48vYTsqB4vgERu9feT3tKXhhfQMGRZqcXsSBo07K\nbDu68aQPi4wkmvngN/mlM3aedmerU3abdXeX7JbuXCr13BN/5peW2aGML5tV\nqi69E8P4H3diPrmpSovjKC0kCIA9YjbqsQw5EtV9Ltlub7ZwEH1ttxoWKfUa\nqC2duVQwNt+PdYdgNi4tkrsjb2jxn2FP8kCYd4U3tFLjekjrQ/+GHe268Nh4\nrKpzGIij384/c6LRGv8+PBYOTfJM0/JE6Wji/u7ablyZx7PQLkfDD4g4dyM/\nkf8IMPOwdlfHhJXM6UNvpXpFSzXP9NIjvrRAgaqgvBcZYrilosXcrwqbHmhA\nEK1Od/AABjP/su7GMNDweJjdnGdibLsoJDpTNMSOps+iHNoB4GKqkXzpHUvx\nfQoHCqPQKiSxdbvZQ1J6zKt0z0BEDkpbkmYNtd6xMBU2LFuPuNEx4x0tMDVG\nYkH7oCJXyrdGkUjIWgQqt8UiXEsdPgTsBnL4A8Cx+qK5DO5EemacSwatj/et\ntG+H\r\n=I+Ca\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b873a7878b871d2ced45e7f04055b3d4ef0c7af1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.a432ad542.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.a432ad542.0_1604627117548_0.8539649625159924","host":"s3://npm-registry-packages"}},"9.0.0-canary.e2e8aef1e.0":{"name":"@material/dom","version":"9.0.0-canary.e2e8aef1e.0","license":"MIT","_id":"@material/dom@9.0.0-canary.e2e8aef1e.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"be55d7cc316353a4162191f88635de28c60d4eb9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.e2e8aef1e.0.tgz","fileCount":29,"integrity":"sha512-Z5JjkWm5uYTI9u/WK9451KKIY57Ic5U3iZwJi8Tvgs8onmuB71d29iO9cTddcW+HDsELgiuXI85BlhiHk6RalQ==","signatures":[{"sig":"MEUCIEcRF/tDgjBXdDjBrEHxXMof3k8BnMLD6VLjwxp8HaT2AiEA9Ox1vvXmIkwskHvvWAFzs3GRTF/fKRWpB4Uw/0Aa60M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpK8zCRA9TVsSAnZWagAA3UcQAKD3Sy1t4zA50a6nHCqp\nYTE++Etj1yeNKq6SejUw0YPxZH+rA8bDi/dceeYScaUyyj1RDEFN9b9NktW+\nJSWfdgqB0Ma5+yxOskz2TSG2Fat17VJqD3M9fdJBr375akXSN4gy/gvQ6rMw\nTiiKFCqZ9hLkuw1nRSzlQs76d9Oco9vlU4HuVN6zF7nxNfZNmfwBT77pgVSR\nSrf8s/6WEr9Ex0NL/KM4AmQbsMWaw0m8M1sLduF2Yo9x34D8+jcaZ1i3Y57Q\nW26Mh56IvyqVoO3AL4V22QPB4uqreXXMwZkXq/3nmgWz9aOThvc3xxMUOKS4\nghxeRHKQaIhf2I5phKgNFxe9jRVSE0go5qLr2ee32+O0h2Vmiy3l/ENkJuxX\nOo4loUtlEVzrTm/WY2e5wnCaICUjUc++V/r+mJWUyjaVcZmd1I+MgH0GMtI3\nipXNleilyV6+FkrcN8wFLh+jm62KkBTq9HGZKfjF21QAm+hUuLOnkX+fO28d\nK3M5NP8izOWme1f/B4aY2kiFojEhmq9xI/V0kOpDCIIoUtuc5lpwcV4eZOFR\nLzgfh2j++d5XUcIWtrXMlq0M0OihqiA7vmg2mqf46HwiYLtEvNoEjp3zklkf\nAkcXW9ZBd96kMglK765pzpIz9tnY/i61lfFMmRUIoRFjfkOdBg+bYrYFS5q0\nC5wH\r\n=2Exi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"59b208be2f946b47ab6905d82c0135e81316f2a3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.e2e8aef1e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.e2e8aef1e.0_1604628274840_0.7606959864941385","host":"s3://npm-registry-packages"}},"9.0.0-canary.ec6b68b34.0":{"name":"@material/dom","version":"9.0.0-canary.ec6b68b34.0","license":"MIT","_id":"@material/dom@9.0.0-canary.ec6b68b34.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"134390772e011525a5c9621cb1eb1ebd56956f29","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.ec6b68b34.0.tgz","fileCount":29,"integrity":"sha512-ZFY5FEEbmNXMR9Cym64ZGSHyUOMEmWZrk0aMcVo/kCaXzYgVk3zpk2MrwzvSdb8bfYC+713m1no3QInFeb43Nw==","signatures":[{"sig":"MEUCICNdRgjMwiMCvJnMuP5kV+kA+qx/atT8zlNYdbcjQDGyAiEA+31BN3psdzgIUgeDiBvPaW7D6Q3LZ+agJAjgqAiPsdM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpZwxCRA9TVsSAnZWagAAuGMQAKI5j4NrbWNk1FJcj7NG\n057RNMIsvwRRq3/+fCbSCOOqREurcbll/gbTP6EWPmojl1II07CCsgX50/Aa\nlL9rkpERsbb2xMW1oQtj29x8qSTOWR/DSJDqMGp8CS8dO1m0rG7WbSL6iHfv\n7SX6iPApcvmUqoUUV8bKlL2G1VHHGoxGsufmd+bruRAr0ei8rKMtaYI2BSU5\nclIWCYV3BKDmP1V0QmX80fvt9lRPPZg2pMa+DzZIWjdNA9XzyojXWxVsE8aw\nL8cB0tfXwG0hiGmTFNgHXQwlkxVGFGDhFZB8W1Nzwucvrhec75qfBBHet5wH\nkjBLzkPh4Vi/iF/m7jAsXydKjL5PeUBc+LczGIi+eqTtbqhMJeCHkPetGHie\nU7E1qQIWoy+rNb6vnV+wTcAbA5hbK7QC7sBD9+tJqEpQV1jAGODvu0uFLodZ\nAFFvCcwo3kCtrtTvee86LsQrn5Ld6hDh0ZI7xRoT/G1ixDY/jzCseVUMlVxX\nXyry19wCyuUmUxQQgN/BVymZk2xznmC3j2eg7TE1TBqeB5D8q6GSw2VEx+Si\nA9XCbNNYtMkwZIoFiQt48xD6FrFaQwwguoaeQW7NYdwgQtRUsHbBTAFaVkhh\njBzoZRqNrtrsRJEswQbKLyF1ctgUyILznFsIKNHoKej5caxMp1Rwq1gk17Ry\nYB76\r\n=h7Bv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a5005840630991931dd5d6aed79aa4986773a5a4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.ec6b68b34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.ec6b68b34.0_1604688945179_0.06547730895801429","host":"s3://npm-registry-packages"}},"9.0.0-canary.b39094d14.0":{"name":"@material/dom","version":"9.0.0-canary.b39094d14.0","license":"MIT","_id":"@material/dom@9.0.0-canary.b39094d14.0","maintainers":[{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@google.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"72aec321a9b5eedeedd114ae0af6f4a27e8876b7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.b39094d14.0.tgz","fileCount":29,"integrity":"sha512-osl2VceblZX0/V028m4vqG1ex2pUXB6liS2dy9JhTZwFXnZoJxvaQ4OFzHb5qmJkHYuq6AWjmPHxzQMeSXY1eg==","signatures":[{"sig":"MEUCIB4s0LV3qXM41NuoI3jHLlAbwI/SzRpa1XOqSdNaLNlHAiEA7kMJoLaZnnbZZ49eq8mQyjhP30Nkb1WJ8CUq48shDcs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpbzmCRA9TVsSAnZWagAAXnUP/j7hyhyvdLkFZY22b9Gn\n+mjj29f67U/SJEOn94YBND+jwd/PYEAB90Qyj+ESqqd9LRWUwgdu9LI4GDeK\nqpRixP1UHcMr0vS8nDZLyGnAfhwwGYc43CfIS4BTfoz8J6/2Yatt9m55fDHh\nA1NkeGhza2WEEy8vsB006kTeTpkcfCUFA2zRvWvxcplw3YFFGRqwJaVl89rx\niazswuZ69DAwIasufkztKxszC4vXNKA6i/HGwf0WKLKe5VYIuic9ONj1B9qr\nqkrDFDG4chcojM4IJKL1iUvs0a4JGoZaz63MKv/yApfgsIvuAntq7f2YAWx4\n5l2gn3ZfBL45R4YrNFD9BNjr1OU7mPa+cQwOiX8m6xguAlQKmmiaRDKlA6eY\nrAA4JMSWIkl47U05oBrV/kK5471wM3Yn3YkdmNiBsg9hq74TKYl3TTvxdjbI\nkg2aOIXP1JFGb6XlgFEswjILAA4+YqoUvsPYW1rt2Xf4iLNLJ+g6QCIOiDpZ\nJhFQzRasKnNA4YfV1bJ8WsBvP9hQwGk21077dK11l+S77JT3u+FOsNNtHJAv\nLMty1Vrd6tN1cEZi3JH0KiH8/YXnFGt2pdfUuJwsZK7PhVX9v4GxREKW1133\nFa6rzb/iK7ZOSo2JcnQK9m4r+LBzESSgXJ3P5oaaaCXTDAI+GO+n6Db0ZHXo\nEYQW\r\n=f6hk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f8c5ef7d8cee2d0a63421ee4afe42e4e9260cd47","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.b39094d14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.b39094d14.0_1604697317557_0.24135321260815235","host":"s3://npm-registry-packages"}},"9.0.0-canary.8648b8258.0":{"name":"@material/dom","version":"9.0.0-canary.8648b8258.0","license":"MIT","_id":"@material/dom@9.0.0-canary.8648b8258.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cdc869e5089e2dd500941a7938131c456bfcb62d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.8648b8258.0.tgz","fileCount":29,"integrity":"sha512-PZ9hRNlJMOM/BOilv7+RS/t1ay8uaGUNhOCByekUP3NoLUfa+UC9f4SsE+gg9+N6f5Ee8bj+QlZL+Bxcu7ykSg==","signatures":[{"sig":"MEQCIDeV5puO9X2pv+DDAeeRuM0c9BMmvPfHOq/10cW2PjOSAiB01fwHR29memNsCgAi953amubuWf7uga0y3kWjmyTQYA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrRHtCRA9TVsSAnZWagAAxhEP/ArqCpQlGK+SNxWro3Z6\nT7Uw3Y8CS/UMVyzhFXYUr1YDaWpKXQCevqjIAD/qvE3HsHrgjA1p3miYA0na\nrgkLOEF9foXZy1xRTpxstY/uccFf4Z40mMmX+KpOT/S0hBbTO8qOIU+8jRC1\neTz4uAI7g6lYwjjF3x+AbHeZt6WJMbmwx1y8GoqX2GV947giUlnat1mw41Ff\nfhHMM5S8q6NNUuqDxuLKYCr+gLtcUVxFzUPEMLL0iclkAuV/Nsv1KGJOuoOI\nb/2vdeSOSqQ4frqoZ020heGa+V53Xl87U7OfnMDH9VsKhjomLal652u6nZ/F\n+obuyAoubDIeZ7SVViC9gwHrlOo/LJzNmMvmsBxD32TmlH5KQgMTaz22BZ9N\nD8f0HjAavGBuRe68mwtgzTiNSof+FK3/8mwWR+vKCB10SNx+KBhyFsemxwgq\nTtpKYNLEHQP+JV3Ppybhfa6GKt/Q0/iGZ49/P3FfBfsB1PqKyrTQnzfwXtgf\nwq8fLG9yq+oGgPvJR8ZbvBCpiY2KFVb2UBeJzfQbxBc00IdT0VEAaX7rjNGC\nRktSavgyHIyMSS1D2VKN3/yYwMUS33bPWfHL1rhfHGslrajFrM3ze+86vOm8\nG4JqmYGXJjkp4mimhexAf/01k7RIlmQjmK00+qh9bBBMjy4hsJHLTiw/yEJB\nqvxV\r\n=x+yf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d98de60dd3d91dc14a84abb664678188ae936030","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.8648b8258.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.8648b8258.0_1605177837200_0.9993969746666047","host":"s3://npm-registry-packages"}},"9.0.0-canary.240c5f74f.0":{"name":"@material/dom","version":"9.0.0-canary.240c5f74f.0","license":"MIT","_id":"@material/dom@9.0.0-canary.240c5f74f.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c5a97fb836cb90bd98bbb949b909a4348c54e3f3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.240c5f74f.0.tgz","fileCount":29,"integrity":"sha512-f9UhZ+UDFiJmu4vC2vuuD1V27YfTjnN/P35k5kWjB28GmD+5HYboL5JGce9fYuFCHkTVE54x9pcwI6hAUMQzSA==","signatures":[{"sig":"MEUCIFCGZ51k1LDwWkjR7+ibS1YhWvPcPUa/gZy9TBDd/ZRlAiEAtPfqy8yH86KUeNFawQNqArTXEGxKwfbTC1DE0YdV4/I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrZjoCRA9TVsSAnZWagAA1f8P/3WDDUVf9AR+S1gyfb9b\nKwBgFmSN16G6lJdvlXPqdwt75ZqgTg0l21YHKGLPgf+ngpgmkBW9lB1Puzgx\ndm+dRfLtUXEXAnmrxI90a0VIxpEeFgoq/fsseHKqSoSCKM+Wv5+qaaAF6TyV\nZ4LljYoWZRkbEyE/SX3W2KZajWjOIfDB1roIiZZDurqIe7aOD2Ib+a6wkwnB\n/Dy6yX16qhTWYlRkpyOX80+6Me5PKY+XOcXa0+W3pNP++2Sz7QvCK2+MJImP\ntmDs11rCaZTVxJYQJw8/wi3ezu5nk3GH7kEuq1gGEQ8dC7HkL22GRhvsUwMR\n8HAdRjT3VasqgFp+OCyPA+RGogmgbVU3nvRQaVlMdARVHxSCyvM9XrCPyhu3\nrfu8Yi5ZCbiE8cbyPC7CVd8bEy1P5iMkBe7ScztRhyxDvkKE/fb6aAOyMGla\nZi1AbuP8t9qekFYj3g/jTbXG2rDnQLDrk9RmwWcUjVwvyT+sDW2xEho9Motl\nIWRHZNFKCW8fSHcp1ZvVnGOfeFystmePTCk3QUKPzXUOZU0fEUhsNYk1uD4K\n+eHJ0PU2MoUyCUgTRw1rTCC+tynC58scqHQFQM7Aludc2cfG7Elhp7gEcChK\nmEFMg7FH8IBT+fuZkZamA+kCKssO3Dc3Jwr2nruVDqtliJrY4KIM/6j/eckw\nTDDj\r\n=BPeG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"33b77622681b24909d892ec906f608e75f5e9809","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.240c5f74f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.240c5f74f.0_1605212391694_0.6338473338649033","host":"s3://npm-registry-packages"}},"9.0.0-canary.6cf6ba4f4.0":{"name":"@material/dom","version":"9.0.0-canary.6cf6ba4f4.0","license":"MIT","_id":"@material/dom@9.0.0-canary.6cf6ba4f4.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a8b5cee15d456b01eba9ad08f2df5e9c7284e4ab","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.6cf6ba4f4.0.tgz","fileCount":29,"integrity":"sha512-B5By0afn3leBa42pXD3B4uBKUm26Bqvq+UHxMQiXUVe3sfUPdW6BcudSOdStEIfryDRDrTLPzqURTzl9SnaAJQ==","signatures":[{"sig":"MEQCIDOBRe5VjfxQr1FLPLtzulYa63tAhu6wHeFGOE4GQLPEAiBLKFSj60pTmUzUo+ry+qi/GFe6eWmDEw0n50nzf0qYlQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfssmoCRA9TVsSAnZWagAALVEP/RkHKiCW8dBWt+uOucvQ\nFyqbyA5EoelFZftGpn+2yK2rRmVx9mStcAqbDdfehAJHX49QXSPZln1d1peM\nj4IbaE1etgHJ9EntQKaY+BZagv1YTUWOJaoebzmAgjYXAVRGS9iSPVHBXD4P\nyCLbhTiNZaGQGsHlDD0uOhaw6seraLRLTAmMFzDROfvey3HamKQk05uTROSP\nJ1PEv7DdiOIeFh4ANF1zvEDOXfRambeSDuyaWZ2NfCfx2INHbeF9BRJsnIAw\nOrbqW5PnnSxTxm8dUPQFab5JI2q+JKyGgnmk2E/gczt9mXhf2qTfo8fdvOZx\nSHvGWI82Yk3mLGDvvxioQA9/hi1UJyqgPP2dGVAXGeb/SiBaS5tzpzwsnzkh\nW5VG9lBovkwjAuR2+ntiufxjJgZ1py3Q5c5K5zgBzldg++ujdy88++AEW40Q\nofbbHVoihdz4I4qOokNR3g7vv9sFCm8agZthZ6fwZvVldNtcZwvFaAmYalx0\nsa92oP1aWCAdq+FGd/d6C7u+U2fvqDWkOoiao5pVs+gynog+kwSiBG3z7/DM\nroQnQOkPQW4d3vI3GRAjhAo+dONSTp7QdQivotjrJi1tebWT4BT9q2ZsNHV+\n5kKLeolJuaAIRXCkjIE2Hl53zegRnKO8d9z3QN2kORUjfETSt9UtI/dYouJC\nUxza\r\n=qLNG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d2d4890ac5812ec797b5f621137f4e8a077c3c0c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.6cf6ba4f4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.6cf6ba4f4.0_1605552552114_0.31352553619663115","host":"s3://npm-registry-packages"}},"9.0.0-canary.07f3e01b7.0":{"name":"@material/dom","version":"9.0.0-canary.07f3e01b7.0","license":"MIT","_id":"@material/dom@9.0.0-canary.07f3e01b7.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2baf524084fb93457cd062678bbf727846498b2e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.07f3e01b7.0.tgz","fileCount":29,"integrity":"sha512-ZA6UklN+UiB2W4OgOYwS4JOC6dBHmat6uNn5ajI8dMszdmEAs6c0W1wenpqt/LffMIXKimGarBwQr1EDuCs06Q==","signatures":[{"sig":"MEYCIQCf3CoR826Q6fGKflbccVIO5kbSFLsXgmjbC6KgKiwzbwIhAJWQbwroc+7N7za+2N993pb5RxIy+rI8mcTiVkG+v7kL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsvLaCRA9TVsSAnZWagAAfFEP/0tnSUUaDuZqQU1TnFAO\nOP2I2rtsGJCsfJ8v01SD3uP+FN54vyX5Mt6v3cNcA96uiUjDhTv1eLRZ9iQM\nzSTesJs+s6V8JBDLW/a2EHWL5wI1HSbYxKFNujpPAYoJ2ICpaVklG/GAbRzG\nKj5wdsWvDpIhWQW3VnDKoO1J2ywVXHr35GXpEIS1S3LSx7caKvEFbJZmdp4b\nkGo2eJccw7sdGXypFdF8MD7pqkPVCyd/bGoA9UCmFNB6ji9UMKupoxwcM/Du\nooZKEJHEW8dwpvjynj+/Xp+3oIeJEjawR2TabFpwgjxAYSObgC8D5RwvMljr\nwY79Xdm19DfpWcFTrkpYXM25OXUrB9hz8/2CREj6jgqAE/aCj1uZUg+advgS\nokQIAwjGCGnsoXauyDDtwsK1iUYoWgYmLNo9x1dAonHT7fHi8qs0xNOrWyh0\nPVWOJSmdlt0qdBsUBe3O0HyXFjRyBHz+VXvRA8+wpQfeNK12e+6DihAzrVzx\nVkFJS+it22mwuJBsNm9xwnlsOfa4rLnFyK8KcBoGpF6unqOU+PSgZ6hhyfUb\n1SPkeDeGnXSvjQThZ+MkwicPsq+HZSp8oEHauNX35UNkKCl3ptsKCPNWF/0W\nIeaCZZyfb1oFgX7KSz/Mt+kAcSX8EhZywtfWqnhbba5tIe6+PKlVUdo3dt3r\nnEXt\r\n=zukH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"39f1e043d0db0c6881d84b3d7b54423f64cc8c0b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.07f3e01b7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.07f3e01b7.0_1605563098077_0.05581344199605409","host":"s3://npm-registry-packages"}},"9.0.0-canary.23491cf85.0":{"name":"@material/dom","version":"9.0.0-canary.23491cf85.0","license":"MIT","_id":"@material/dom@9.0.0-canary.23491cf85.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dffe50fba8afdc46362d1b29d95346a3f85f5b4d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.23491cf85.0.tgz","fileCount":29,"integrity":"sha512-YDT3IsE+ZlXw+m/5nbpqYicEAprWffKyrQn4FX25phJUrFT3YQGDn6Itc0fkxxUIoXHqTNttDTb5KsviXLRSZw==","signatures":[{"sig":"MEUCIA13hEP7VqxyZFGNplvM9jS+Uv7W+fVuZVgUVb7q+ySDAiEAinMAzbhdiEYJU/s0HMZJmW/+Pj7CZGSt0Fm9yPm407g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsxZgCRA9TVsSAnZWagAAaQAQAKMYeWvyG4oU6gtLIehX\nCCSKFMXvflYSGTVSdGRIglwwDbbBg8QE5S9ZEIEfhY+IwQh+XqMTC1FlXEFW\nHt3a/b+lPSuGjYSnltlzxCfqmP1Z5tufGpkq7/75OX9oNU24afEu7mvuMUbW\nwv9yh6Wy9NI78W8SW2nCGQRiYr6VghAgcN7LrXGHxWvOCECxHq+a8LOnmJjf\nmCS140GU6GZceH8ADM0A26aWKZGl2CiHw7FbMGmHtSsyYf0fxErhEncfUq4V\nUZah/HvQrbZJJuB03UZ7KpZsc+jnR812Vq7kS5G4KNt4g5kYpdbXW3csKD6l\nWiPMfdK3CtVfbXfdvc+hAcZfxig7ePFMp1RTsiL/y6D9zSFVQELUOjJCPugh\n/n+bjHo7MzjQzygymMpIy9+UmhGWMMA6r6cAgo2qHQ2+Ag+BeIhQvY9K+6eq\nMKBTfOSxOTipGaQL2vys+4LpcS50+JhU1LsFYSjudbv1Yti4m8OcIUJd7VGH\nYuyFyo8D+C5zXxBvy7rpr0bZKHTnmIYhvyEZDEUix0vrSiaOqmaOmjKL1DmA\nCoioGK9pjZXJVDniR0tMwfoJR83xb6Ovlc4YPogxlCEcyktvysdGEIpexZIu\nhBWeKblRLjwWTXsDnOwNXArW5ENJ3eO3JJGCoK5cVg8ucWKGfyJFN0/QZfD+\nFR7i\r\n=GhWI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cc2535ba5f66f73426d236b8a85291d7395ce589","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.23491cf85.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.23491cf85.0_1605572192169_0.9949367779269993","host":"s3://npm-registry-packages"}},"9.0.0-canary.b659d4fc3.0":{"name":"@material/dom","version":"9.0.0-canary.b659d4fc3.0","license":"MIT","_id":"@material/dom@9.0.0-canary.b659d4fc3.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9ebe023f987d90b6eb3af6f8c92432b3f7de0afa","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.b659d4fc3.0.tgz","fileCount":29,"integrity":"sha512-UWAXrx7oQumTHrcMdVUtFdvpWtm80GgfGa365kFrdtdYOEZYJGO1mQ3z5G/+mNA/7R3K6UAyaPXkDiBSd3zPgw==","signatures":[{"sig":"MEUCIAmmeI8c9rNnzoXJzjZEHmgvCHSYMKbk29SfI9KwjA4SAiEAtIEOwAgTJLN/fQaJigkETiV8HBjOJRnJavOcdMGBXcY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsxgtCRA9TVsSAnZWagAAKJgP/2XwcPY5PV8dQWY65Sja\nKDaiaP/CeskiC96R7YHMWSRBcxc/pfK0yiQl7Uc99T1QliHc9AFPG40UvFpO\n0hDgupQjJfLNDsnt7ASqY1JMUaHvQjDs9rOoBR2yG8CSG0Tj6ZMwuoBWTGF+\ncijkrn/e3VEHO9Gfi6bdgV8IWjFTuzVMjN36Js1A7AmFCsb8mK76n3DOEYJt\ncQpHErHfxsrIrKw5LKd0EoeEXByd+QE9mI7MdtuNT2j0c2miZkJeIfYwDWHk\nPanzTa9DI2ber/c7PLyeyT/HbDV1kuFK6s3E8fP32ro2+LeZkS/RO3Nmf9ZK\nBPYFDfpftUgSfNpJxjg9JWJSCTYJrOasiwhTwRX4RLSL+rF5olgInK9XCBjO\nZ9mC82NosXlVzVDMrWIDB+3WD1X0vNhPvnmw/W27AKhRvtSWPF/cWBXgJ43U\nyR7CxpYq/ZyMbdDoutWOUcvCPOi7cCPv2aHE6E9ezEH4HVJFxprWBERp9zr3\nPS+yo1ZGSpZltbpHYisAgcW74dTCNlScSVUoN5/Yrg3xSBcyuc9DnzB4JZBb\nS2QHPWGX4Jt+EcTQFoydDU5aHhml4XzN6rGC91zJpff/iOOb0UP9THMoUJdK\nR0JhXE8IS/S+GCyNlH4yGNVa7PGDJVzhHDQfdFfhIHBP4h0zb6IwAWWy0KRo\nubqL\r\n=8wPj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"da948526208886bd05bb015d249db8d19d4b3f05","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.b659d4fc3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.b659d4fc3.0_1605572653452_0.47604443561612064","host":"s3://npm-registry-packages"}},"9.0.0-canary.d8a3aed67.0":{"name":"@material/dom","version":"9.0.0-canary.d8a3aed67.0","license":"MIT","_id":"@material/dom@9.0.0-canary.d8a3aed67.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6621bc0bc43384688f681cd49aaf7b4ba7f73a1e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.d8a3aed67.0.tgz","fileCount":29,"integrity":"sha512-/gT4engOHZCGvyWK13IKrV+mZEfvNuXrpbvt3E0TmgJEBkrCiS9X8Gxe3lCe2UdHKhC/y0T29xM9OpbETmtNqQ==","signatures":[{"sig":"MEUCIF23o8ADXVLGTlMze2bmBDQUmjPcQGuNfdPmsVccRx9YAiEAxhrSMd+D4ATr7RbE8Snosllax7q4wYHhBX+C3Z/nWIk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfs+uiCRA9TVsSAnZWagAATvUP/i6Qr5eqq0RnMb3/nC8Z\nvcwLXSSC0x/UD9P/Rd8vXrmbQMEQ9mpN/EIGsv0bNmt2yvf61pZQmaC3JVdk\nLT2OW0DY3aGKWOXQtzTFI0I5p4euATogsAC4VYwS9hD2UzWQ3tQQFu1gVjBg\n9qpK3kKincX4WbG8jCjFhJDd/MwswEy/IGzovSY8fNHgv8/ILD5BHrIvw8V1\nRTNxrrLJTHI7zLP7Fi78qVZU7J7M8HJIcG7xalDugleSbYiRneUvsxUU+Axa\ny1Ao0Gd7V4bqbJyLyIJvnFo9jUfUiVokhszibdY0ItDVoVURAzt1d1spwu5o\nL995izY0AV4klAVTHC29yI5WdluxyAtv83MP5VUZXfe6Lbc8QsF1FESPDsgp\n1mTrOdD8fj7xMiVxBdX7KkPO3v0PVlnTOXQGNccG3za8Sp5bQfqqwIwvlSix\nx+mYDCf+fUE8j0/GiRAsKT1VhKL708uMZH4XBL/cGEJcyQrW8VZ8kspdYoX4\nHpH8jvl5y+kDz+bi6ZtLNSBwh1LsFUt9F0Vnoam8scU9Qi/aKe8T1P5pRLn2\nMVCTsELqxi6HHTKeeImW4E05bH1Yhlj4wVgt49sbJm7rXwizD3ANJ1ObzSvK\nwlmtlwRaq2bspVyY1iGmslEpqt5eBRL5p6qi4BkSRj1aTSNxXsInnksx58bp\nVyNl\r\n=4KTj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e70765503f122fcb3d748ffd41882655d9d4035e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.d8a3aed67.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.d8a3aed67.0_1605626785501_0.1730366373872807","host":"s3://npm-registry-packages"}},"9.0.0-canary.482ff9091.0":{"name":"@material/dom","version":"9.0.0-canary.482ff9091.0","license":"MIT","_id":"@material/dom@9.0.0-canary.482ff9091.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"afffb08d462092ea4a4ee703cbfe28135b465b8d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.482ff9091.0.tgz","fileCount":29,"integrity":"sha512-HFI+MA8X35sPrYIstlTgOmh3+mSODgR/FGcgvbgPEngFIGcWNG2luL609pesjEDitNCMmrUIDvPHOEuC+T4mwQ==","signatures":[{"sig":"MEUCICcwGfulF/sgsQGACmVChWBbmAD9opy+QbM8atFFXqw7AiEAwY4vck158KgKvKmDt7aXLmw7mMqNg9Ocp3/2jko3L1E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftA74CRA9TVsSAnZWagAA5VYP+gKjuFut1r5NnsxA1Pt1\neJwvByRI4UCtjJ3R0bC8VZjUK+c1qfxEEyzSbPZlN0KQpjsR7tRoS9L7r/ih\n/5ugBQnHK6D5Vz0Ih/2MgUwg0pGiZUH9TW1owNHkt4qpRKBqCbnwMRIh21Pc\nkeTU0D0MtDePcWkjVDSYVGofo0QdJolXFEZdbVnE52xQD+geYVjELDbXmFCO\nmQpiSanGXmVlz7/OvKwahCfHxExqgyGJfKO4f8vWFFrZkbqZEnQpJrTfGHuo\nGx30FadhcdASIC/q8W9GIJEeT6CmYyCtNe1PuBtLqW0oWNEzeTy2RTUDUQb5\nkeBECvk/P+LF1mJqFZfKLG7rOXj6uq/i4ZK4s/lmA2kAk8CoresXRKfKRWrT\n86kvspFuhyFeMvtvPc0JUdZ/ZoR8Pg/d86eXvpf30zYsnxTy37LlabF2p/Fk\n0Af1XtWSa7kLxA/NtwBCOtwv80r9T1pbYhz1595PDvn6WkU0xCJDz1hNPw/r\nbDoicqZ7Ax6v+A/qdj50pty1gmoPCT9hv/oqkFAheidCODaFxOr18mMZNobE\nP2VOv/Ma1xudaIoT3Up694PW5LWalVBe23ArLgMyw3kmDZpZ+53K1BRNxQkv\naVvQgnjkX6Vay4gENUiftnU9zlfq0J9L3Nz/IidBUB/5o/jrol9+rHDnqPGp\nveUG\r\n=lWM7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5b4b306ef0e5d1d3654252169bb9fb9d75490dc1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.482ff9091.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.482ff9091.0_1605635832360_0.12041722832256929","host":"s3://npm-registry-packages"}},"9.0.0-canary.99cfb6bd5.0":{"name":"@material/dom","version":"9.0.0-canary.99cfb6bd5.0","license":"MIT","_id":"@material/dom@9.0.0-canary.99cfb6bd5.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"39d48d87fe554cfb4ced320271ffbc335fcbdda1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.99cfb6bd5.0.tgz","fileCount":29,"integrity":"sha512-hkMGUkWv+vSkZZj7ZXA1lXAka0c1SezbeyHxgqlWgpyvE5JtjuaYOu+i2LzlKFzr81IpPPqtC0YueOcopOTXww==","signatures":[{"sig":"MEQCIFEBjKPyfqHuAKq96yIr9sUFqScweOLrtj2xPdkOSwhhAiBwFEkz22R01SR4lJh/PI9bedgjlCxipLqCiQOxYZsG5A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftWsyCRA9TVsSAnZWagAAQMUP/js5Qvm6VagWLGzJiVto\nQ3vUbhaZcKueVTNY1Dl6/023XvUummBZZf1yDommVA+5rDJrfKUEtpXKhCV+\na516P8wMBgsB47eF4O3xv5lZAvzastSPk0ebaqXalv1xujuO1oIiy6WOGg/j\n0oBUXvkA5/ppK6CcpkBZFXWd45oYkh9YEV6S0Y4mQbuC/6lV2wtSj5A6Ucmv\nFJXd0IFjzJxXmtoh5TuH14O/T8ROundy9ORf58PgfRQz4c4dX6bmnk95SJNx\nUPvEZxF+/OBvhlArjIclOwzPhdC6vUgi1g8Fh9HSQ+Zc6DrI7Fok/zLSxYx4\nlcoJTGb5odBQiqM3A3SvQRmSabNQugLjyA6mKRIbdwiHHcF0UA2HoWs328e1\nXM/OecEKDMYmdKQXood4h4t8iJW3CeEt0mRlrw/ZqLPdzZTMsxwjfoipzY1u\n0Ln9ZE0Cgac5qJZ8o5XLxuOl2l97iaO6V9e+DGVNgkzJ3KWtQbK2QZYBHUC7\nkU3owMjUKGx60NszpnE8c3gGO1C64p91mKwTtwUVu44Fqu//7OpDq7iNNWAn\noeqhGbPLWRr09KZKYPEl5oesH0oPy2macpiTXs3fLpgyPvVfyprEPWNKy8Q2\neWThpJf934xYNuNhVzgBL6gHahU3A6odx+hgXnPbXYmZX6ABc3QJlXkcJkfl\n/Z4E\r\n=vMO+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"97b5b434f189a370838c9b867dfe1b766ae52fde","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.99cfb6bd5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.99cfb6bd5.0_1605724978280_0.980051608426816","host":"s3://npm-registry-packages"}},"9.0.0-canary.b98d15d90.0":{"name":"@material/dom","version":"9.0.0-canary.b98d15d90.0","license":"MIT","_id":"@material/dom@9.0.0-canary.b98d15d90.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e7b5ff5d286041cd7f67a7f6d2b3263d2c03ad78","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.b98d15d90.0.tgz","fileCount":29,"integrity":"sha512-hl+9GKLQqcXeBp5N3Se7tK+jLZmMDzDR6B+GS3agDUB8pbKdrP7D9ARu6rThLXaSyLFx2uHGPtceaMgfadNUGQ==","signatures":[{"sig":"MEUCIFLDccZZyvq0m+1TpPxqaUoL3UuT3TLpNaa74pe4KKkBAiEA9CAlCFFROMBLPoMIQyr6DYEXoTuckMA2iQTqL1GI7Gw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftaFjCRA9TVsSAnZWagAAEsIP/3GGdjtTEbEk6zfYzZm9\nxyNEZw/wFQivebizss+BayzjftN19aNgbks8CeLEAso8Id+P7v1npzYIUZ0W\nk23cArufVyCnrMgxna3d/yv5xpfjHpzAgVCKItYuM4waevgYZFXUXsjbAqy2\n31plWs0aUaS7UoYFMZ1x0x66zPR2CQq735sqIl+Kq55mA+rClgCaEzMauz/w\n4dbT68zVUAAwxLEhmDgxwK7ZFB2U8f2wXAK+Jp0TnBG/tfcqB/ZbXL7diyOF\nNPnJKp9VW2S2NSeHoza1PCHyPnscvkRRxRURtGnaXhfdCJvLgWGQaZ3HAen6\nsAgs4hdFc/GB9zcRs9t1HloaKmIwmPq/02DZAfHmS//lwSWXiL3ZmyA8b1W3\nf2JXZgaHgThDIXywd74B2KO8HLGGLZUmCBavFKCMAovGt1T6+VmxvJ73CQ3b\nw+eVh0NWSkSOUyW/4WlAqHvtrmg4hgTuoRZn5pq4bQDVs09BG3+JTD94bcYI\n7mKbszySqeiMnRDohikIH6JKGM5mp+5zvJS9YDoIo7scewyrIclAzVX4EA7s\ni9PJTXl1FfsTiJsQvRq7Ql68+yfOv6NHe8ppc+CIeEyIJbXA4taAzajmRIHR\nrxDaR1EJDSMzxyf6UZW0w9mSrBBKQkZYfkcLpJ4EsUmuLai2LusyGXBVYYEa\nl5EG\r\n=ytyk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"abbd2c5bad9fedd634d7a0c98bb8e4a8b0bf3439","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.b98d15d90.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.b98d15d90.0_1605738851195_0.5323378216713115","host":"s3://npm-registry-packages"}},"9.0.0-canary.30c11bfc2.0":{"name":"@material/dom","version":"9.0.0-canary.30c11bfc2.0","license":"MIT","_id":"@material/dom@9.0.0-canary.30c11bfc2.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"aa25bf535c808eac4f70f9ac56d6caf718255b43","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.30c11bfc2.0.tgz","fileCount":29,"integrity":"sha512-ZC6dvK2yO+R2U+RXSAKTLaqZG5UHGogXU6MI1ZPVpqK67lsVkeQZeNa5UpLGsCjFOulUQ3PnV5jRfA51D3hG2w==","signatures":[{"sig":"MEQCH3JB0kEmkA83UPDyg95M8ezojEvyIzLrFPfBsSD8uk8CIQD2GofULvpz/QIqkax9qTzVvm9HsjsFMCrEbNufJ0cwhA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftcl9CRA9TVsSAnZWagAAaUwP/3Et6GrINN380HOimdlO\nEkzGw4juPbWo96E/sMF3dGXgK7g0E3GD8olMCWShJVvRoumXei4xYj3I/3Y+\nkXBIQ7QQl2OqvcmaIzo1rZaJcFHDDgPwq4VpBd3agA7tQYhnnQYmNPf9XacU\niHTELP0iu9AaRCX1jsckwOsdHwqSD3e89nK/40EEeN4q5bKLFscmHzyi1rwb\nbd+YJy8vOAYDx4OsikTzoReC3bpr/EbfrSs16s6Qlc0avmeKOBe5T4SjY+pZ\nXxihOco0kt6SDDbB24+AR6P5otMwubNuJ8KRkUcebhPb9kDfvMlGgPCEnca8\nSxf++CBYqz+A06LtPiZQ2hY9lk9XyhUYfH7OX+44H6j/cDJP2X7JmzljPfXO\n1lYs+N+KPJW2gUnfZrK8waKX03FbT3tzxVvq2GrKTxMmS8xB3ppJxkSmw+42\nzjeTwhi7cOGFJg++aOjB/qYzaiEfSVcSZOs7x1kLhzoKjAA3HJ4u2q0iAK4U\nhGhCu/gAVNFTAT+oviYHHKQUWycvvhB0/BmF27yjVqg7EaSoTfXBrfSwfkI0\n+Olj/EP0Vr3UvTJT4I5JGL6SGgxjFPeCklJ4g8pP3gUwB9fHlyPQMDvJW+VM\ntvJDymK9CpyxTbozsScknPwAHUleQaQH/vB2EcSXpfleVBQzqaxVANS8CaOp\nVitg\r\n=eXdp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bde404a844a4528a097cb2c90d03c4ce8bba9d74","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.30c11bfc2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.30c11bfc2.0_1605749117220_0.8422718566678127","host":"s3://npm-registry-packages"}},"9.0.0-canary.1b731d51b.0":{"name":"@material/dom","version":"9.0.0-canary.1b731d51b.0","license":"MIT","_id":"@material/dom@9.0.0-canary.1b731d51b.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a1323ba1c35bedb277a735098f1597def62ef62f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.1b731d51b.0.tgz","fileCount":29,"integrity":"sha512-8pT5N2kqwKcePd9ebbUn0ap1GPDB6KNzmDuVeYqe9N8nAtK//I01jTwQaXCGvIJvoU+FLh/H1cqIVd3t2pcVzQ==","signatures":[{"sig":"MEUCIQDYWh28mXlnhur/J5oqauG5ANSswHRJ+lBC/AcKTje4KgIgW+QdzqL13oYPpCRO3/Hi+0/qv/SlsEW8QkxsRoWYp6Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftr60CRA9TVsSAnZWagAAhawP/R05+1Ad79U+wzH28W4F\nr3WGXm6qHGQJ8dd/69+cLN5lgu+JSrZCjXIiMSEsoTRSaU0Jpdp7eOVmThwK\nxYFDTRi0Jo6pTfoicUH7RwTl98t9rMazUao5zHW2wP3v3wqL+dLcVDuBSMSq\nJSMTWvoBRVEm/pRX2CMaBb+b8mbgCmk87yqL1lARcM8I4HmwhpamFQUnxBNE\nImlzY4gKo4UjD8v1y5kytF/juj9QKzWqz7ElJQsAig6mYhxJLzaJjrE/VLRl\nuNcReouHcnJwLYHoIL5p6hf/aXSADkznet55e1x8ZvBD9bA8JOsBbg6En8v3\nBkZ9k3K8+o3B5EduciDe39Eo2JwKMr56HC0Gxh/E/cPBbeHb9pCSg2WsbOG2\nWs9K5e0UXUtVSz2fCeGZ16p+n8DCy+lbgkRHunzk2MO6l7i2c9SX2Jao+YvK\naQJBqd469k+oxyN0X/P+qB5F9cOwoJtdP3XkvcFu7GRJYXA4mzMY/IQL437n\njSsVxr0ZhvvajhBlkinyv4U7ZhGFj3BFwBwE87atQy+dMN1ogV0vLDhyB22y\n8SrH2ep1wswpqVMJiWhc7mIk2U+knkILSLi4kyHrkSIcsXaPu2V3Roumsel7\nXb2pXJP+pN1viE+ASNEn4Spuvo1oa3XLxJkUJAuBfQD4JNFmmNNgUiAaLLbO\nc2oR\r\n=w2+3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"22fd036a79b754fbad742c64041cedbac73ce410","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.1b731d51b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.1b731d51b.0_1605811891790_0.5263273680711169","host":"s3://npm-registry-packages"}},"9.0.0-canary.4ae94ff78.0":{"name":"@material/dom","version":"9.0.0-canary.4ae94ff78.0","license":"MIT","_id":"@material/dom@9.0.0-canary.4ae94ff78.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fdf3b821c6a6eef279a78206bf32fc95b45d6723","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.4ae94ff78.0.tgz","fileCount":29,"integrity":"sha512-LHhDWDkRs/Lp9Qv5oyt7b3f41NEdP1d86/XpXMp3efmObuqhkgsZlTrfrMqoLa4cQQWlElHHb3xYScd8dBCguQ==","signatures":[{"sig":"MEUCIQCsXAm21PNRyAwDDIBqqLU+Fh56jbPrOdxW8H8yMlLhQgIgbWC4IzCRNT7CnRtSUBPuCdbESrTYLMAjq5O8IY612aU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftr9fCRA9TVsSAnZWagAA7pEP/R4w1Ffii0lh1xQXFRLS\n4qG8AHNsb/+leMyg6GpyG2h43b7wVsXH8wq7SoUfJb8YOKmTFj9Ids9KDEsH\nU/gzlA/WC52ID+20siaJJprZeLuMU3e75CXXlcQ5FqTPC+ScVyRJ+/wkhrGT\nYhycGoOR7yA7q6Q2J5Xg/L/e0vGBuQY7nvlByj3JVzY2phHA5BpoZ5vkkd/y\nPU7QyF211zJ7A8rvRT9PLsSuduKnoyb2j/rUJOwHpBChqUC/KBk4GdrUZtL3\n/AFDoPTGglrNSVa5TL6e/dNTc/RgdrWkgWaMg75PJSbADwRestzhNS4iHXby\nh0KxoMWdKTbS/ryDxgkNPZnZM3pR4qIhorNTS7nfa0uISfDqfdfz6rbnVyXi\nP9ITA7avaVyA2YxCrqDLx0jOq6SBZniuuwytYOtfMQ4Lnb9QFpHkLJRHN/Gj\nzUH0chL7NBD/iBl7s7rfOB+l4Jphfp1SI3xAOHjvvGuB6KIVtZP3rl9VMwjO\nnqxDTYaeXdMmNIqdCgm5yR5cD/rG9+j+7wCn617sUi1v5/vcHsVk67QupEu2\naWSr6/eJiDbOkA4ySOuiyojw2Cageu8rOhmkHCAr9pKmdNBkhub5H5RYSUmj\nT9tkBgUQqICe8mvVpWqdiY0/Ht9NpWPsIlqmzPvrx3yIZIGahyGQIYCg4d9U\nd/Dl\r\n=E0fa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"34c69ebecd44026cff9ea0d681fc2be3de9900b2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.4ae94ff78.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.4ae94ff78.0_1605812062778_0.24913293521261193","host":"s3://npm-registry-packages"}},"9.0.0-canary.7ad038e1d.0":{"name":"@material/dom","version":"9.0.0-canary.7ad038e1d.0","license":"MIT","_id":"@material/dom@9.0.0-canary.7ad038e1d.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0c34d9278328389538d3745e5375048a6f18cefb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.7ad038e1d.0.tgz","fileCount":29,"integrity":"sha512-X42tNoVUTKNIXSeHqoCRaZAPOcX+xh4/5dUYirnIhMTkWmi1OdvwjB6HrjTGeZACi8NBRlllPwhQoqBw10iJDw==","signatures":[{"sig":"MEUCIBYMQHJG6cArIYgL6BBahYLWI6c7HZSfB5eEyra/jLlnAiEAlZsg30FJSvQGCPIkir6JLXgxyZtsHLSzX5iwvU+ltFU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftsTWCRA9TVsSAnZWagAAQFIP/AssWCPzjyoCGOA0fG5e\nXHghDmr9MLACcG1vKLLkhDRw31rku+sC5+bTiIK/itsn1BMUmy5UzKZ6PgAx\n00bP4WcCZJt9ruck4gbb0Ft97MjB0b69Xcv5fJPOLrk29dKu0dSZEzleISuz\npDjctzYkgTdgitu2/Zi6Z3OuBQeMgM7EYDqAB8qmJCjSyZfzWszz5VscDcr+\nAx4f/+6OrqeJvh+b6G8e5b+6v2cxOYsMIrC7kPz16gB67XQGkBGzcdBzR0/n\nDcZS0FCL7mQUF9c4+6uq4m99nrcWLPT/vqtqx22XJCUcUy6xbTwB1cJUwE+e\ngW+V71Dd8CK8EapWaZbi7fMVcyEPJuRergwuLSexmCHN5LhIxgmCBcITHG2b\nUKzRNG9+44nTnULlDqTJ1Epr5dyQp7iEc0JUta93HyvIhvQ7IuSM0T+6H0cl\n7SXykUpqB8QT8a5oKIylJIBKn+ohba/vYi5niW/ScV42ag4Y4KoplqdkK8GK\n3TVT0Xikez2rVFN7+YeEWQxTAOvTMwCZVUPmrO8m/wcvPFjxhvjHtiIUEUXQ\nznqJP0RgKvkfwgFh2X01sTWPX5xO6481TqGan+iWurqsFd6WGHCG/EbWtSkY\npslOSmN8L4CMuXLhg0YyDIbn2q1bG6tghlCGWyU9RG7S8vsiLnjGXqM2bs/8\nwsD4\r\n=3PSU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ae5e88e00f948f916eeb8f578dc80b6aa2084116","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.7ad038e1d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.7ad038e1d.0_1605813461929_0.21421709272547318","host":"s3://npm-registry-packages"}},"9.0.0-canary.a41527604.0":{"name":"@material/dom","version":"9.0.0-canary.a41527604.0","license":"MIT","_id":"@material/dom@9.0.0-canary.a41527604.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1236c5c5971cdb474e37871d20df2d31cbf56503","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.a41527604.0.tgz","fileCount":29,"integrity":"sha512-ACaZ9KxhYzMlKVuiAYoC3pDWtB5CJadup0+3RezZQNRyEnycpf0nO6l7ju7q1u4dqwF/Hpt4mTuOzMVmLg6lhA==","signatures":[{"sig":"MEUCIQCPJfxDkNBmyatXphveMPlJSGL8eFd1UNObNLfozhO4/gIgVqPnRSAsyPAk0bY//nSt6NhVcUjJ79gnZprDm5kOTMo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfts6QCRA9TVsSAnZWagAAYwIQAIQUPO82s1zP9RsMkO4A\n/eMaTlCPvyi3TAnhwTbKXF3xspL9iETzFe6jk9ECVeDOpZ10rsd4xbrIwLv8\nnrC8hz0UT12kGrQaQss1iv8lgoW2W6100mg9dqbPtGgBgxx4s7oRcWn5N6oe\nB3ZbvBuHVanaVTiypBgcuK4jvSwZKwf8Su2G6dctKd/8opPZX++pfHU/R9Qv\nP6vNflWVOPiB6OyHL9lfTULPBNCGCNwSARM8N0ZvNcSTt0WXFDvQTPlLEY7p\n5D3urYKqof0gwMfA5KBHi+82hqEZ7egk4OUBxkS8zjnDmCVq04n8zV4bgD2c\nRBbEPbV+CAQitv0PIHDLIMbH8bwPMrrMQVQr4u7D29AEGpZ9v5Fm2hWtKMpi\nDjIwkiQBMn13jllC5jc9Ii+xDH0yiVOfObIte2Z8ScJUYMhUrJHeN6DO7zbb\nQ8iqeS9bLQRP9PWcWORY7wxQRD/jXGG5uH8vZtKDaaOmKqQeYVnS+kQhFfMj\nyLNvysDrVLIu+VkaLXVDzFf0+uLdcZjeru+WfkpUPuK2G7jKga+jwiNbN1s5\n9VrwxFlV/5apH8ckIaqWaZG+mkUJ/5puybyio308jlDTs5gWFLqBfNOsOv1b\ny5mp7dnt0IiyphbHHFnNmVopq/mCH37Bwtm54fLRBBesXPw/8sKx8AOrjlhC\n93UI\r\n=0h81\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4419897c2a5ae382f471047e38ac619bef815058","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.a41527604.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.a41527604.0_1605815951870_0.2115365582876103","host":"s3://npm-registry-packages"}},"9.0.0-canary.7b0e2b377.0":{"name":"@material/dom","version":"9.0.0-canary.7b0e2b377.0","license":"MIT","_id":"@material/dom@9.0.0-canary.7b0e2b377.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"93cf0ecd3023ecf670c213baed2b3394bf5f050b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.7b0e2b377.0.tgz","fileCount":29,"integrity":"sha512-EZv4A5F0XUPPX6MJCCL58VaKnXk+pp7OwvmsgfF2S7WRV8AgGpnb+EwYWIgHWW9770XSnovGWPGm3Jg1N4IDRw==","signatures":[{"sig":"MEQCIH/oQ4UCRZUUSxJG0fkxnNR8bFxdPM+W6u972j1rVPlpAiAkzDCEpOaiUvPUpi/Rvc8QkKHsA7l/jKOPCsu7J8C4eg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuEk3CRA9TVsSAnZWagAAVCAP/1dimhwK4m7Fdb2Tq6GF\noLgiuqZ5md+h+DWNwqDvbXKpnZFw5qtPeWdVNHEGhGBfWeLjnTOtaSEqaxxM\nQGr7LYVF0j6o/4Fi/La+I5urVkwdbSIraZaj4xRb0JviU0Hpyg6pZw/yzRv4\n/q/AipsFYr9CT81wvt06I+UPMmyDew1toJA/ywArD8PvuqsmQEYnsmkZhdRo\nwSxeOIRlQqcGtyhEtL8CnbbPeNK9lz9QuflMAspXCY8M9GVJJqdvq9VWlw7w\nDKSgijBHkxAIwQB1mifpwD+LJ3zk//jYMrhfrBSk7GTwx0259p0plUKvlRNj\nnbAb5Wh13rE8p26ruyOW+1Ux/qABaYB35Q8J5dUULIyP57AQrPPWFPj8Kh/x\nGPRu16GyWlsc0JKWDJBJCmCpMKaSBfTT0WcMleP09I3Z27ZyBBwqnC6TmY5S\nutHE5CFtUs6KIgYgFee6ZQ/dntVJdt/BJ4ZJoO/36M8IgJexD3+UEq4namr5\nJadWa3cIAQXoGHJ5RyIAvxlN3N5OBWLr0mqE6eYjOv7a/ENTd3rPurqyalhj\nHCTw3lnWzNR+xhxhnvAvgd++OmPnIiavztH18j7Uf68Qfll3yoSjB9JMCJnm\nuk8RYHc8oThZHOmyp+yKVeKCAmdMGY0qkcdSM9FkfANxSEVbDvykdaQDTvpu\nnYFd\r\n=9xa5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"51086f360a63319c786c7b166e515a34aa76c112","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.7b0e2b377.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.7b0e2b377.0_1605912887400_0.8003349480828867","host":"s3://npm-registry-packages"}},"9.0.0-canary.c927a5d05.0":{"name":"@material/dom","version":"9.0.0-canary.c927a5d05.0","license":"MIT","_id":"@material/dom@9.0.0-canary.c927a5d05.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ff784b283c5a035b182348801eff2aa660537bdf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.c927a5d05.0.tgz","fileCount":29,"integrity":"sha512-qOAY8v9hsYAJA6r3nnkwBeepnecNaHfshOwu+qt+51AZRLWuQ2UbDqBN9ok9hjZJkS5x3XPCDP2JEWWYdyGNZQ==","signatures":[{"sig":"MEQCICMhxqcycxhrBFUFHVKjT8i1e4/5a1rKuM75+ev4rHdVAiBc595/YHckGIqz/41ODPLg1ka5iMw/408/SyizCd67QA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvBGeCRA9TVsSAnZWagAAnYEP+wXDD9YyginF7dKQRZPa\nSW3bpgXJg/FWVRkQaGNa/InS8EKoYzJ7x4IMXuQCx2FHf7lglfzsb4m0xt/2\nQ+qdxUK52f6A30wGG1No4IijoG6ndQkXIjAvJV7b69wQU6appZVp3KlIg2YG\nX56BeJhbJqjuju2K54sqRWNidIzeXb3ybsRlw/Byh8arEBW3YipKq+RSNQgd\nQpKlBPbqSLJiT8wuacQ9p+6B9jQyPzBFOGwWRmX+a7nE20cV/zkwyjJpWJ2A\nf5jTArkKDOQzykbUaboDD0Hzoj40Qew0aANO0T97WLeYfccj8huM0Y0RAW1v\n00rZ2sk3OQU1afMdgMMLo8LBggwC5SS+lJH8SpPEulXZnIzp6raWaKb+4Ijr\nfak9YiDzP2Zqi2PMWlmfSUhkjDEJmCGAe6uc2Wnb/bKY08i0DBWr/d6Rq0wO\nKKuKg4mwZnyTo3S7j6Yg7tSU396rSrqpXKFAWgm6Ckb7ul/A/xdOD1VqNDWB\ndfgPK+9ui9gutrCzV+1GpBVtpB9xW/9D/WJiqZ6bArQPao0uGvDFCJaotWnI\n9zSr9undeUxvtzRxhnGVkSY3aqcnDsdcHuhuBmrWoKuOI7MzNvoZbTgkAde8\n3O8NRMuRWqtetPdp28OlHLidvm8PMCfvfjjkM1rezJyExnBby32OJYCIUMeI\nFSYg\r\n=erBp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1e41eddb7d951c0eeca983e08e3fbb7b21cc3776","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.c927a5d05.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.c927a5d05.0_1606160797415_0.40814892732072083","host":"s3://npm-registry-packages"}},"9.0.0-canary.b349b5185.0":{"name":"@material/dom","version":"9.0.0-canary.b349b5185.0","license":"MIT","_id":"@material/dom@9.0.0-canary.b349b5185.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"690ae9db35f5c01ab3f3eec18712afb40c3bba8a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.b349b5185.0.tgz","fileCount":29,"integrity":"sha512-1+Z9CEA9WFarrDyl325WAkEeXp7w7Fwb2irllfw6IK2pULE/LKRkZoyQq7J9NHs+zn9Qq5tlk1Z6+185U7CMOA==","signatures":[{"sig":"MEUCIGRFjuNN6n8AKR4hR0H4u3MSfn8xDi/6Ykrf708D/hTQAiEAt1Soxc0XrhhFAg2YUVuewugEjXClhMkuPOiazhGU3kw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvT3tCRA9TVsSAnZWagAAbnEP/jbraCYb2Cmk1/CA6H5r\nR29V05WZWrwhRgz14awWJpEDKrBvLxDUdow8Sj5NsXVzmg04wmcIQf2m+lUl\nk/5jx759N4P9UR8CXZS+P8+FvST/rQPbqMwI05e4AoOJf0+Nh25Wnxon9HaD\nA6weEl3QaO2Ss8jCsaCVAK6BnJMA9a0xP9RpOhHWrLjaAaPXKTVSfY4N0Pzh\nfBZuyeL6GhkO0dz6wLfgXTPgTw3vYXoOvic3rhAsjss7/CcidLB7+iVG9fAU\nIKkEHaj9ShaxxSHP+HYLr/D1OZwEkIg0OrxfVioo6h8d8kAmq/etjvkJizXf\niyx2uKWrv1/pHjXw7v1P3MGIl1F0rGCoxUZOK5QG+y+W3SYxlHwS87q1HFz7\nqJiB6Tpxg2EgpLrKfiTcBfJBYQk2n+7ap1okpGi9wRUn2sEPbrzCs8j28WXf\n3MEb/RdTEgF2f5ms8AiHpatZe6u/0VNFNCRs8LJa3L4uh+wkBj1jIKK1fmJk\nY7Ko6KeYXKOke6PsHkbu9MUn7bWjM5DPTJF2mlRbUJvSLoLh5+WHEk/OH9g5\nzlqdp+DshQrugQGYX2wprsUfzcQ8tF1KRepG6bg/IfFiCtedPpvN9DsYwu6C\nbuvJoPjE5U1U8MwKsYc4+QxljnhLcraF4LlJJ/OQcwOOnHJkF9obc4QbApVc\nP1gW\r\n=9Heg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"92e0cccba580778200706f15aef4e667fc007066","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.b349b5185.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.b349b5185.0_1606237676852_0.6364953322882332","host":"s3://npm-registry-packages"}},"9.0.0-canary.9083b7d61.0":{"name":"@material/dom","version":"9.0.0-canary.9083b7d61.0","license":"MIT","_id":"@material/dom@9.0.0-canary.9083b7d61.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"759e01a41ef3b445f06774ac0e84df6e5f58cd1c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.9083b7d61.0.tgz","fileCount":29,"integrity":"sha512-DgRTCZmZq7VY0DHxXGOzYU5hic1fodaXEU+mILGao6KGdqhtVEYVAoEhavbHaIFLaCgDFsNP4IjefIlUgnu93g==","signatures":[{"sig":"MEQCIFdLFRhplw8LKihvELK/SHIznjsZW0QtBDx30mX4KyYKAiBiHlC4mce23xmkuUcLEtuMxXSaBIFZLMWgWpzAKvZwYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvXfLCRA9TVsSAnZWagAAODIQAICdTnGZTd6GgKGoIUHu\nEYaOj5vEZvUqkb/6LlJhR5twnRZpJP5L2VpLTP8Bwh+99503lWRGEEXe9sdi\nlrytpkXO7yp/jJPakwBVpA2qEYqw88w9qwvpiTq6st0g5TD82EI18Zr+JBnv\nNCZ+eH8QRZfStP5sk43dBmsi6N+MszmoTYvO6EsfB5JGcvbWN/fJpUTnyu5i\n0c1J64zYJjrgUjTGLC94kBUqc2qR0hhv9KsrkqeO33nDvZnmfU+5ihecr1jO\nF4VR7mrO9oHa9zBIX0dxfOu/BycHZyJ87x+F4pT64/pykhEMNz1qt9jiXiRq\nuOvz/tX4tF1SZB8tVoVXd5nJL+kAWiRcD/QDQQqY1XOVSUdaHszsXlAmdlxe\nrqxyFXcUpbTX16zlLsw7kmNePL6fFIVsiGG74NLihN5Ai+ZeTbxJMBDarGFi\n7Y1A1vVfNbbG6PIRppUPgtZFObx8JfRHKT8BYq0YU0NgN49jp4qTegVVaQcJ\ns/i4umj9kx4p4QLKlpMOcfY0Pl7FCKvuYmu58tSkqc7ZbjyMwKjgDnvBPIge\nL+2Y9yEBjlVpmqhLuk99icQKhV5qAzTBm2kzSZt5yt8W64jAHOhCLwzYMlcq\n5qabUSkWsFYP8fU8dFk2cYvKrozLSwh3OwnKHbHacv0IxomyciTUrLEoGVH+\na/TY\r\n=/HyH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c6192773b6d2ce6a74a5b464d7df3e9b57b238d4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.9083b7d61.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.9083b7d61.0_1606252491172_0.33484489744204504","host":"s3://npm-registry-packages"}},"9.0.0-canary.eff7b46ac.0":{"name":"@material/dom","version":"9.0.0-canary.eff7b46ac.0","license":"MIT","_id":"@material/dom@9.0.0-canary.eff7b46ac.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7b758ca6f2ff4a22f68024a144c0691123037a5e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.eff7b46ac.0.tgz","fileCount":29,"integrity":"sha512-OXQGNNEDZlr0ZtCKThg8E0KQayUZBy91xq/3D5Ci3ZY0OjpmvH3OsivQjnjwaD93ox2BoRTPZkk+0ASMp6833A==","signatures":[{"sig":"MEUCIQDxbgKZtKVRHCiZPyisp9asHg1pibVdyjcC1V9daIvp2QIgHtPVkRJRsO2JZkEWPzok1dsoor0mQWZYPCb8wfsppBw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvZeFCRA9TVsSAnZWagAAm84P/21zy8EXepurEut6vL9Z\n80RNx3KkwPdXDi6oc+YCqKgrkaOR+4DRk3LuWh7IwD4wGKijhTDfXr2EXNrl\nqZb07i/bmyeP21aYULW+ZoMDmX2pNVXuTWb7+baHoGATo/4OgC6ouvR/tIfP\noN9pxdE+cPkN+ZrehssrPI3c4iFNisZP+HFg95w368F9nvkzXs2JcbPpXz7H\nYS+1Hdy6Es4/9JCITos0L2+Xd8iJlGvyYOqARsYvBrvfoYjH7onUjb6qhoIA\n2TOvWViH9QKVXNMm55W5O/uX5hCwrDtCSdOvyY45WEwj0kxbq5y7r7zBoPL9\noz0wW+fgEA8VfK/0G1wUEL1yLB1gFZk/SoNRolxk6QbFKazTd9Yz+TgRtnWm\nXxs4SMaL9UMgpJJmyXsuEJ/uOpnccF9oMBIWVjooY/kYlSFjvHohB/TxZf1B\n1+b3bEoUBe1u1HU+gxFrjyK9S/nBZKOYwNW5SULdFD7HidYCrsrLzqpiz7xi\n/qYAXab4ykDe68LYMXHW/s+jGNDHECpQtOgYA7lKz6RsHE2uv9GjJvPZCqYb\ns+cCyyySRMhnMONlt+gnJ9bhGWBZBwTYuKaxRqbVEHGXxHs4A76eLCNdS1IW\nMkNgsVOXYNQyuQghCLLZhyfNtq/cbSuvzA4rhcFIGLAvvcgZhjQlpJ1KlxX9\nG7og\r\n=c4Td\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b8790bb41654e5c7f7a7725e8e58c9dd08551129","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.eff7b46ac.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.eff7b46ac.0_1606260613396_0.7870259411701748","host":"s3://npm-registry-packages"}},"9.0.0-canary.ae27b44b0.0":{"name":"@material/dom","version":"9.0.0-canary.ae27b44b0.0","license":"MIT","_id":"@material/dom@9.0.0-canary.ae27b44b0.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6a187b1436d181e1a068aee7fd4d30612a41d0e3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.ae27b44b0.0.tgz","fileCount":29,"integrity":"sha512-ACcDDPTWyzrMHmf60OuJWJBTG61/REdY92QvaudqeZamyWKDlTHamjS+iULIrDsqd/zQEJZ1Kiim3Cw0XkbS3w==","signatures":[{"sig":"MEUCIQC5Hfc1NfnoZbLgqY9EAAnG0ejSFhEeIVn/2Pr2OF01+AIgMpBnyHP4ZuW/j0MP7pz1KcOpvJcFmRqpa279anPI3T4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvnjrCRA9TVsSAnZWagAAu8MQAItGlpI+hJ4kk5Nbtl8g\nE3VucKlOU0Us6HgacX0mSmmZJ53z9bS6aYLuqeZorhoX0uI18atPOEI4MMvh\nVDBO1w0QvVlJDDO3fGFdlJuWU6bwqzGB6TdcFFNMhdCxvttpuaZBLYceR760\nnaJ5JCU4p9wLhr2VAs4amjiXwuoOJc/GEL6U8/TTg8Xi+Nbc8YsWK2GdsOeo\nqUsewYhEjhASmf0qSgYsaQ6Ny7wmBYedhT+CcTAmFZ5zVXnjMJEm0YNRNx/Y\n0tJZ+kxutzSlPuRLbRcK6XVz6XLDUYUuQoQ9McyFkoJSYZ+AF2xUSuyNk368\n45KCcRdrD8vOBBTAyCsmq3orC3dHpdqLYFFj83DBFoVpmGC+g3edGLVywsIX\nm/Ufg4hTm4EsKISbjl4DJUuzCZAsLnmkWypD/QlM7JAv+wmQmh2z2aeDCpgd\nkt+aHomBJreKEA/DWkOJvCgWyhbr8uBitJYxihM6wYdTd2HPzD2nu+pkt67h\nQiI5g5rP3gCk6rladRu5lHymGcAKpJa0aXkWV419BQ/dTMQURSuEKVGAuEqu\nlTBdibWDHPf8T2eXwbSd4SEYeDsNojDI2ZMmXndT7oHgPl24lGglSU5Hgf17\nA7K+H5YdNGcwiffxazxLzZc2MNPT6PofdOEptsKXF9E9fhabzP8znBXrJTjS\nFg7r\r\n=xDND\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"eb690fa0e9558b61ded00dc6e4b467cbeaed4c4b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.ae27b44b0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.ae27b44b0.0_1606318314572_0.8009788820388082","host":"s3://npm-registry-packages"}},"9.0.0-canary.2fbba2554.0":{"name":"@material/dom","version":"9.0.0-canary.2fbba2554.0","license":"MIT","_id":"@material/dom@9.0.0-canary.2fbba2554.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4882d9fc01a0f906ff77b20cd5164a60afde7a73","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.2fbba2554.0.tgz","fileCount":29,"integrity":"sha512-KM4iARiHGWJEE1at3r6h+nFuUpmN8r4hoO2S0WoyjhoWUj2Yp6ajhpIbGxsluWL3PMWpzeh3jdutGV5MlhsUjQ==","signatures":[{"sig":"MEUCIQCUpfvmxZqP8ye+N+ClST6fznTevNp5iHelZlYHoStyoQIgboUMTjFmVW6ccldFAx2wfop8SMqVhO8g4CVdKdlRy6E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxS5YCRA9TVsSAnZWagAARfYP/inDBLUforSvvVhriYja\nlvFJbYieUk/DiCtzTOAAXdEruKq70Dq2L+90hdHdLerhyz7QWo7p+Sb2twkr\n9sgdg4yEttuZSauUmFY0pVULFnW1ufsiHcHVNRfk28DaCkzyzf/UzWNqTgFb\nzKd1CHZKawIyQZg32wJaPUF8qpJ78CYLl+y7gQ0C3jFlc1wICkKcKH3q6JnG\nIuc+oWZIbFtAprCJRo9s6bbjzCWrLMuoFeVXCulJ+oOGOFil6X3ZUBDxoLcm\nSDevDQVIZOF83Ajb2jUQtHmtcRbuuKy0aiZKGGVvG5X2fn/vqA34L7Hcu/su\n/okKixvOZ+V2z6GFeisjw3hej0uYbsW6c8CP6/okDrCcg77/RIbtDd+/AuIG\nwDNm7XDMmoSg4/bUjLqjk4ODWHBAmVm2DaowbrvsaDiWcF+LdnQ+5Bt9mcNy\nfuPJ5f1XYzXbrUA1J4vs5wWgXbv99dxAFmRyITleHxRhSeyT8OVsXFcGuh/q\nFxTcjzyQfFm09SW5E2NGKAupcOW2/UCR5mml3Rg62FRY1Sh58R7qwo5Wg/dl\nWbjXpht5JpUZiPrHKRY8konkboSZfzfOZT9fCw+w7M3ukihJoeI+JRwmJbjn\nvFZnjXwdOFGSkDMmJlz6BmA16D1A1A0XDlLb+yaRK2SQVNk6nLvVeGabZ0cZ\nmZPW\r\n=Xnl/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"93356628825eb23bea706adfd527933f0c5e430d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.2fbba2554.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.2fbba2554.0_1606757976010_0.154705465895435","host":"s3://npm-registry-packages"}},"9.0.0-canary.6d8574fe1.0":{"name":"@material/dom","version":"9.0.0-canary.6d8574fe1.0","license":"MIT","_id":"@material/dom@9.0.0-canary.6d8574fe1.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6d2184768c248d4636066c185ed605d57a6bf26e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.6d8574fe1.0.tgz","fileCount":29,"integrity":"sha512-SLoQTuxDueO8+eLjkD5AInzO4OByk1GpEZR9g9ufs2VTP4fOp48c4z59yHJY7SJUYkgg1nk2fgAP+NCEEtQGWQ==","signatures":[{"sig":"MEUCIQC1Ob4cZbVfUxZJVk86ay51xx3pFG/roclib7I02GPjRAIgbVkNpQ1HJFSgOr9Ifw3fAszngqyPtrp+eclob6pNuj4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxTDxCRA9TVsSAnZWagAA6pEQAJJcfTHjIRP9VqzDc8Zd\nnsygVT9pPn60R7l/RAf/wEDeNUHNKRl06kL3QCcTKPzgELVyTE1D/HgIKBzk\nmCu/jzps22jphoV1mdeyBgAkGHrBu/3Xbn4U6M2KgHuxam1oIiSru5XRvBu8\nkcQHXJuelSxS50ndnTILov4qUFwD+BapfWalo17omRxSTvyHG0v57yoTraih\nnclmqZKUZsz1vFDf0pCx2UqsDpPld6fBYTtPajqDuxRSESrGHMgvXPNxJ3oh\nOeJftKeIjpx+jVX/UuLYFhrcxvkHqqOthx7hwoaM1tFCtbfvj+fM7COzEkYS\nwFnSdtK8t6Ykf967B3/W1N1gOxNiuVKxJKSxIp7taBAGVlHO5DLkBvkHJya9\nYo8RuzHuIEyeZ5SGHCgs7lDc39oGmA8Nn2/xj19S8M0xd/z1W/uF2Aki78WH\nA+RBzQ2h0wEnRtaYVFmxHVgKQHW7xYA4oyIdyYj/4alaWb+n0fwfPYZAz51p\nShoPZv6UZ4brz3DVUr+AtGhCZKX9TIeW2v4zjI4tEt7xoRo2xDyMtJovgmIi\nfOv/YkU5oSEEj+EsPPp8Zr8w7pw8e8yY+dUZ9DwdsOEOZYw2Qogm4DyyIpbj\nXamlM6BTXScbTXSyGER3BoCdP8I4/efMKe9Q9q+s/Z1YVg5NmCHtg7aXuNwH\ng4q7\r\n=Wi/M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b98a165c81d2497f6c0e8e5652743d71d87029e3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.6d8574fe1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.6d8574fe1.0_1606758641168_0.1700310590619709","host":"s3://npm-registry-packages"}},"9.0.0-canary.fd22355f7.0":{"name":"@material/dom","version":"9.0.0-canary.fd22355f7.0","license":"MIT","_id":"@material/dom@9.0.0-canary.fd22355f7.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4ff332249a4d7c0ce25a78bc4f462383f5b74a00","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.fd22355f7.0.tgz","fileCount":29,"integrity":"sha512-hXb9+CYbMItkK0SGmejd+++vlEe+6Nvo91CK9e5gqjSLyhacQW0O9GWVnenwVejeaIY7XnEwdEXAxfZxtFSDaQ==","signatures":[{"sig":"MEUCIQDwK9M25M+Ez3pDhb1OklMpejtkwJRiNR0dZAr5Ppl7LgIgUs0hXVXNan73s1MMx/9H+OS828uboArmdB4jqGXP3q0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxXknCRA9TVsSAnZWagAAkXcP/RDd4jtH+4WZQYDtY32o\njM7598t8I1DgHHqO9818wPA3hDmMIj4AkipSrl/wDuEEcvF22fVucX2tkDrG\nhaAC/ONSBgAtjQQpMXrMWH8unN4CqzjROSdVVebIxqZxhdaxZsHEuFKNFihR\n622y9911Xtt68cPMsUyICrxQp/FB11NlHKcHiPQOOzTnY63Fcfu72LtU87WX\nRM09HAi/91gdio11aSKl0GH55fQT4ytSkNe3FDp1ohUwy4vN8ozhODHkDL0L\nLGQSdlV0U42wTGtAy5pVYHjeyTjAXHAvO+D8AEfpXAZo4chkRFrfh6jSJb9U\nzgEkCrWEDByWesbe0CDpmgCMzZ0mrirZGL3UoAzzrecz3OkQDd9GEdv45sXe\n8mXplnzsd49oHENa363TTPORJUNyJ81cAy9phORd4IiliuAalYOWxlbHIS0b\nvZGSZuiD9GDsrmB8hnly/fMv2UIgfUUxLwsvTSTYGEtRH1iHSrlEl5Hhmpc3\n9e9PIqvqK4sV5BRGEPtzxcvpyd9ahaHdHHLx5gRfHwe2JvHzk39iwXJDkjLG\nugjl4Hq+RIs1nLuQP/cKVsWYUwsbwUI4HPKtsJeOt83edwZknQVgF23oLMSa\nzvHMWoL/3GXVDHJoaNOvwIlQeM11rX0+VVxBnJuJnvVR93wPG+D5mT5E9WP1\ncb0E\r\n=DxaD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"86a40292baea3adb58a6c26ed8c68a9a425cef18","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.fd22355f7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.fd22355f7.0_1606777127046_0.6544506026652523","host":"s3://npm-registry-packages"}},"9.0.0-canary.c4ab98722.0":{"name":"@material/dom","version":"9.0.0-canary.c4ab98722.0","license":"MIT","_id":"@material/dom@9.0.0-canary.c4ab98722.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e0c914474c1e00ff86c359dcaf6b80306ee0376f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.c4ab98722.0.tgz","fileCount":29,"integrity":"sha512-FtgBuwEQRf+9T0/rmPV5bsMxi6YkLlQJ6/kcP/JKCrBsbdOtjZY+/tK+O1WeXMiI/6rjtMs6rlVEUUH44/V1VA==","signatures":[{"sig":"MEYCIQCst4Oh0Qs3Togye/dBykXITVT/dSSBZOrImUnIggif3gIhAJmAD4zxhzV27zE6k65HDuECyw7B3BC9QPTyXAIx87X0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxuYQCRA9TVsSAnZWagAAhowP/0ZVyc5hPFqaEt35gChe\nGJKfrl5wHatkcZaTwm8yfNleUK4FTqjnGRwa5Mx5pfJOJNczWuLyjNwpOPG9\num9LWU/ncNz+yk+cY5HXz5P5aHcv0BEcNokq/eck8/nVOBk6cQwHDwYxLj4n\n5ZDPM8k5GP4Wzzt0EVVBmFtN355ynMEAp9yrgyOiqjL1k45PXUonyn9+qZ7A\nSASsNP4s8M79box+pRp5x+rTYCW2qjewe6v0VwtYX73RATKuWOH+6QrYaTqi\nFPuaq/ilvk4EZf7UEosIV1ZkH6Z7y+Zc5AZ2+UHpDiPuPI11RVQYvrMHcnfF\nRDBmTvDIHAmELkS336TIimQqNFTA3t7YeaHFXfSOKAMLjB172wQZkurnXzVn\nTrGJKA2vyRuRR1FJJa+4L0WupwT+GOB+fW10mPt9LgvE3LS86ZqMTK41l2O3\nX3WFetAwuCAPS/zHJZf56AVE8fzlx2neLlWMaOnMBhKhWcdhZCbSltM3TNty\ngOay+AHxXGNe29bdgbIE8KuC3hL4OwJww7jaOxkDqhLUqDTzrEYmcGCdTew+\nDs5jsh0J+4a1zSnhL51ENH6vcVdkRulAJepo6U5a9Lrb4/hWiotUFWJlOkf+\njSirX47FwWQrslph7b8QuMzkUEhwr2KERXRlOi+6wdNvqjN6lld0jPJb/76r\n77Cn\r\n=E8rm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e6187eb74996c124e1abdcea72dfb697bdb1820f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.c4ab98722.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.c4ab98722.0_1606870543642_0.7673774515331291","host":"s3://npm-registry-packages"}},"9.0.0-canary.977585650.0":{"name":"@material/dom","version":"9.0.0-canary.977585650.0","license":"MIT","_id":"@material/dom@9.0.0-canary.977585650.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"978f62c1d7381bb7f95c29a4e92eaacc91527285","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.977585650.0.tgz","fileCount":29,"integrity":"sha512-Wioc2k9CGkBrEziErMQspo+lC7QZze1R/8YmPDjuFVPH3moPvxkwa0se50Ko3po/fODON+xnVU2NH81Rie9cig==","signatures":[{"sig":"MEYCIQDQz0l6iUC09UpwGWM4XHQnnMDdQLaiwaX9znFe8GPj0wIhAPpDyJfzy1L06nmqRCgNNHC5PiHeN9/uVYh4Nz9s8X8j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfx6eFCRA9TVsSAnZWagAAmLsQAJIlDQM5fhgzxtk4UCwr\n2n5ZHKOJxto+V7iSSmnT+Q8viqtbYQ8tBScoKllcY/5BLru6gqnKfMxQIi4L\nkhVARTaE04GvmNIQIZRIcCRzIU/qgiyKmmU5Vyjdk/uDj7DmTgOtgTuLibCd\nC9DyOZ6gEQ/IS4dvAwu2kOZqkr6bWWIFwJp8zbv+3akUS5Rj4JAV4KT9aWOA\nQzDBCqFCumgJcU0Pb9xKgin8GVvnJWkHGhP88cuAdiVblUCVYQcK2JE7MSWd\n+yI+vR/CD0/sVrGEaAwxYoCq/seX6/4B9qX6X2PYecQLWFMISa/eRpfflG9A\nKioWICYBpUy+PrHSMiERGKDAge0D1NHgLh78NgBw1n8w5zlDTMhJiTqGGB+V\nc29G6QQHGnX40eg+GTVNoW/zCjHw+jqi2Ur0jLSTfKEEvOWGgUu2fIAhwnWC\nGoJ7ZW3h1gSKr8Bu3T2e3WiMDl8TfRGyiTXxLpuzg4dQoFwvZj9I/0qFIoVB\nzkBaaD7JU7IeBqrKaECgh8XRB9oVE82jdf6dv10I6WhFzT6JBJxNXHrTy2cS\n8IKpYtO5h+06QlsKhQilgsqX+h3S/RxuX+KvRgGGSqkYklc4gB3DqbPj+2O+\nr6u7bJ5b0CvY8Rkn7J8WixDx6TDDP+GicKO+7U6tb1gHJ+EWTGwjzRdgPPnW\nTKSB\r\n=B6go\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b008ede8c0d581314d3b967bd295990ca8eee38e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.977585650.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.977585650.0_1606920068845_0.5131640120929684","host":"s3://npm-registry-packages"}},"9.0.0-canary.c7edfc7b6.0":{"name":"@material/dom","version":"9.0.0-canary.c7edfc7b6.0","license":"MIT","_id":"@material/dom@9.0.0-canary.c7edfc7b6.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cb7c9564303db7a22d84a6c24adb4703198fb02a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.c7edfc7b6.0.tgz","fileCount":29,"integrity":"sha512-PkuhCyJhdF+4TMttAG62z8aNUaHBSh6iF5TB4qzgN3WSUEGhPCqW7EZmIU8V7nJwISJoT9+gsMLQlzHllMor5w==","signatures":[{"sig":"MEUCIQCJxU3cGeVCfnZJmwNyyFxtYkNLE9F8U2dZRWpIZYVJfwIgV7um25yTJdg4rVjqcW15CFzCGHCSeDNR6EU4Z5fNYH4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfx6lSCRA9TVsSAnZWagAAb1QQAJZ+cUNcFgk5Th0peQWo\n4Ye5u64h1Ze87NgoSAs233OBwegl0aLvNPA6/p5Endj1I6bkbais0i8ynVLq\n5uu5A173+Pv9C5rDg2Ntksx8xTlvqFIDKVPwVCzt6iOZ/ZlKRfwuRLtunCY4\nhcHUqLQN50KDzT6L+7Zl5M+Q1SS7fnbPf4BlVYmn/Buez3oFEPMojXFE8EBa\npK5Ig8iqBcBAgmiYCh+QKVlJB30ils/BI1MDMoLExOowe3NCr/00T4Aecnmn\ng5WhY7RUhqOw7bUDv88YB28OW8b45D0ufNSKd2BKk1SkXIqOvbXTpCatBck5\nCl2c/cdCr8yy6pdQPgAFlEWsVaBOsNECaX7AujaMxCfcjPi7wIGGxPXNDF8J\ncN4GvlMq83T5Y+TNxR/aAc3Sz1vXtKpW3YstXKlIMKUhK0F8bCugBaLets4Y\nK3p9d/RVAmEBxuiTTARguXmJBGbaCRQsMjPESEYXx5jYfS37p3bdxseMgKLY\nkgs+nrUPMyZBOf1CWj92LpgOurAgfHMMugUOGY3ELkJp+QbM9Hg9AUa/iCZT\nSYREeusauOzAcujVnLH7C/6yDDP+BNOHD9ooF/ohiLKCjkJ8BuManA6aL5xh\nEk1IWeysorCt68vNLFZ7OFRfi5/TKgQlckeIKsGqpHht9HiaQUwUlQS0LhtG\n15FJ\r\n=3Z7B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"791973660a1d63a77aa10d2bd0df7c0e6ea94698","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.c7edfc7b6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.c7edfc7b6.0_1606920529582_0.9722979026609713","host":"s3://npm-registry-packages"}},"9.0.0-canary.4f3347306.0":{"name":"@material/dom","version":"9.0.0-canary.4f3347306.0","license":"MIT","_id":"@material/dom@9.0.0-canary.4f3347306.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f8c9c2c7b3aab4ac6dc76be766f0b324f6a0e30b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.4f3347306.0.tgz","fileCount":29,"integrity":"sha512-wtx0feOoCeoXeECr+hX9uVLfj2rvMjm6v2QRaAJgsBH2g2C4ReU/QBygovyVH00FUSWtB6q4m5Nq/JK+vOIGWw==","signatures":[{"sig":"MEUCIHRiXWt9rLgy1GY6MuyBYh3/tW55FwlJG6xuqogSh5AhAiEA7jymtM8rGCGZ9/YtuRXinaBXEvuhlkqgGXnC7sFVhmI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfx62ECRA9TVsSAnZWagAAOB8P/2HFHnE+ydIydBW89tCo\nn4BthQndBVhPZKUXu4uyOVGBxU2nkilX/D9cGAP5zj4m4sc1t4jeKXW5kz9J\nNx/bOkf2N3/AXvpQPF4FB0nthJpQHMKc7u/SsS5RovWU0EyCX95aBj2FZ1OA\nFIxAyQLM11PYvyXCCe/kp9IVejkhrE0+oSNrucVG6LFAXVCwXU3AATXvb4VV\nxkHf4N4M4VZIcb+3TV7OrowwBsab4J1tIGQ0O9W8lOjCEZr0rk1g9+eA9+Fb\n2GJJ6aMADXocHHy3ef4KHEEpxsYvEsHtFtHNkOEy3EXzXEntEgVb2laYY9DL\ntjVBbURrCh4aXyEL0cAWyskaGePFGM+wwqgyvojECXua+ddw47PejY+upTFZ\nXSag/RF/X37bTWsimVRQ7x9RBgr+11ui5yqlOZA199yy/liv7/RDDksz1OPO\nWCnLCkXbkOte7Hr1FkfBYSXjTzfea/gtoNkBlZTqc2fLtppd4MNTcXAOcF71\nXnnqrL1hcJ2qERj2hIYQdFmdWGUO5H9R0KMfERjNMtjZrJdfq/qbV6h8+OUz\nSjVi1RF4GNKibUmEXZmKxkTEIzWNaj291llYEJrESpj2wc9NL2+UEU/Kl8Ul\nH24AB1EOuBLp6NZrKCJx60Bc1zETQ/WFcXzl9OnvYNrHbnEDuN4a2DKnkH/0\nVdZQ\r\n=TAVq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"31d08595c0470096709a4d5518ba7444313882e7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.4f3347306.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.4f3347306.0_1606921604252_0.3672581214871391","host":"s3://npm-registry-packages"}},"9.0.0-canary.37fbae10d.0":{"name":"@material/dom","version":"9.0.0-canary.37fbae10d.0","license":"MIT","_id":"@material/dom@9.0.0-canary.37fbae10d.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d14944fdd952c7bf6204c921ac27541f0d259af6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.37fbae10d.0.tgz","fileCount":29,"integrity":"sha512-2QNz816dm1z/cW9vjOcYANRiuiluOWYpyKAaHZW+VosviDhIoOSjnzeKxTBfx3PMD7SAiPba5WpU6yLBkwXPZA==","signatures":[{"sig":"MEQCID/9REtuB4v5FjfWRxNPsGHxvrOFK9CdmmYXM0qTZNnkAiApogAK47kwXa9SGdDw22wiQigbpv44JCLslq9rqHyoMg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfx9nLCRA9TVsSAnZWagAAPWMP/1J04cACrTcOmdo0ArRv\nRMCu5TZdio1oZ46l1KV4JWtf4cZKJ8VY+4TfxwbS+VeV1tRw57l6wWdJZ522\nCMsYSqTbyQBm2qEgXdf7+AcAXr+KRT5cxsb/bYvj0XfqTTYMi4x8MpxlW5UF\nhT+LYk27fr/uxaCBeDJK043H7/fRn0h/TGXSTqw7QYwkrIbbYV5tIp1IbfGz\nU7vbep78WQLl4zPNUcVVZdUxzMNt/XngicrS1walc6Cq5WrmgAPB0cX1jLEm\njoLLKjBBudSKLfHu/vFglqABgbjjzt3QwGMOEUElqjWYG3vAPNIwl+Xs27S4\nFM/vaX/Uv9z7dNv1CJUnKwvCawH8OyvG4cui+q/RAstXe2Pg2e/ONGoKqH9R\ntfT7Fx3tzAI6SmVKe4coJzXIbCWFI5BUpybYrr5aBc2n53/SOmisXFVVu4je\ngT4D2kiEH1I+n0XHQ+93DZSW7rGuGdiEtMQQSZ+pEA4SMpzwYy6sJls0Dch8\n1V/ltBjghj6MV19L48NUwxmRzlOI/76C29o077I8CDRAFQ9i4ob8sm2L6Qdn\nsOf66LK6x0HB7WGdmx5R7PT0ZUgZcVL/tUVJqNUV0vnEXFUUdY49dGT4RZkG\ncgqIoBU0oAOrrP9tpjZmUTBqrlPGubc9V7sBT+I8VdZXiFinyLTsef7uM6Cf\nIj4x\r\n=dBDJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"104ddf5dd99e7bc09a57e2cae74614b7726fa235","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.37fbae10d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.37fbae10d.0_1606932938488_0.16273820875698886","host":"s3://npm-registry-packages"}},"9.0.0-canary.11da3c0db.0":{"name":"@material/dom","version":"9.0.0-canary.11da3c0db.0","license":"MIT","_id":"@material/dom@9.0.0-canary.11da3c0db.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"eb22943848250531155cc769c0f798928e079f8b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.11da3c0db.0.tgz","fileCount":29,"integrity":"sha512-RQtlJqn+ja8GuPRpF6jLe4F+NSK5fhNdm5XywuFkh2gRwahabjpV3LS25Gps7SRhjBo6RmieKIdU6B8789+dHg==","signatures":[{"sig":"MEUCIQD+s7ePsQ0SpQCu+c7E/zk2T5DJ8nl1aTKbOfhTliEOtQIgAkIzRvEm9s4NAZff+OOSaXevjo3ClF+e1gfslW5VpYU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfx/dPCRA9TVsSAnZWagAAhaAP/iUqWL7DrqCJCMq1FSGZ\n2PKOhzeDUAWtt8n2WwTRrHlCPo0bNLiRAl8B70j9OnkUWIt7aEUJiEmKwtUh\nsTP/G4/5V1glemPh9ZFx2q9oNjJ5sl01N26b7He4vIqOQT2HiDXbEQo6Prn3\nM1m9hyPrGMmkVpRtKeyLI1f4TLLbr3kspDWqtPEby5c8NYDW/OBV4bSkkg4Z\njhgt8V3Zo3LbMjAn/ZkFkO1d3bMr3sfIYR5/j5yytF7VK18j0scpJ9VbAMD4\nhO8AIs+xDcnaWuPRWBHewBD2Epu1/6pZ77OQaX4jfV0AqJCjjC1KTetJsWdq\n5O+GSlbzJEkrI+5HCWzMXsiN23VN02BnR8rQaAU5iDegKrNbs6aXSLgeTD+I\n925Snrkn4zARa9M0N8nqjym5CzqWGs1pmFnwBecTFXziooptWC5eEar22H/F\nj1Fs/juDpo2viPHh1JUkxvD/Ebuk9lrmbcyyjWFkypJvvoAq0MljMBXQJEkX\nUyBIrSY0/fO2fweA3DsmJpsuLRN2zIlj5tbQX8P9C/b4hHHucoXto1ti/GAs\nbUAjDSZslu9Q4QydBf0NxNdyLrKflSYPtww/MAczWfUyS1oMSiWjo9aPo+rl\n8ssLtg/Qcg59ILEs2C8ysutE2/+qXnHwBkFwPTzGBJHOupgTfgSsLS2r0UKG\nzHgK\r\n=a941\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"db8b5af79bc8221682000a74eab75c30395590f1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.11da3c0db.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.11da3c0db.0_1606940494608_0.4238364217889423","host":"s3://npm-registry-packages"}},"9.0.0-canary.489d4c219.0":{"name":"@material/dom","version":"9.0.0-canary.489d4c219.0","license":"MIT","_id":"@material/dom@9.0.0-canary.489d4c219.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"786dd69ce9fc6a1589a37c06be1e5d06a92d3ad1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.489d4c219.0.tgz","fileCount":29,"integrity":"sha512-9JSdMdoWlQUfIDlDnewraphfCTRMOCT5cAciDNTEd0ZGmV5PgmI55elMqqjaZhugVru+e07+sZzJK3XOq8jvuQ==","signatures":[{"sig":"MEUCIQCeD6QlSP+Nblcnpw2A/KpTT/cM3Kav9Hl9HbP1Ri2csQIgLTDbRsJ9xcYqBytc10USvmu45/cLJq3CTeSXvw3+kNU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyQQ1CRA9TVsSAnZWagAAYoMP/Rys6PsgNN7llI+s2QcF\n5xWYTpYw/Fo5+1US7Yq/6aDnAdRn2q+gnHju5hZ6o9QLkBRU4KQmdzcni0Nk\nu+YbVvNkVNNY3IKjlBpeoSsiQST8wbGMCijVHh49A0HVaWqPneAReb7UppGy\nqznZvFXP3FYf5gtYPLPrJIcgBOKpkHeXAXANxDYmX8Qrq/pJ+8SnmXEbI927\ny1PBNAmfe87R/t3HpR13pqqlFMkhLhwpAB5erz09BiFJ1yBFhyTJii88CX6I\ni/BMFxEikTl65l/7JNhVa8NqX+67eAy85wCxr7cry48683gAPIpjqvIE9MsW\nhRCdj8XWGFtQ/aE14b4PzZ5vaZZby/YizqQIyGl/Uroreq0wdwdvTGIAm/6G\nOcJmVUlVhCgKm48PsNTSuDjXCL4SNeG0AyCJK3bdtAeHMFz1vJmZ+0eA/6pR\naxx90N77ybsgxwx8biT4PyADpWyuITTf7BMKQBI5WxrQTa/pyvrxwMJvyYpo\nxgaUJ+X7lIYfYPbwMGciu4gbsdFpVSDldTCBqigpJNNXmqHINc3mkRv1QWIw\nWGi+GGKcmrHLK4yfvLev5DtFcalWCRamxnUG5ai2dk5gruyYLXr2WQlOsA7V\nro7+sdvDmXdli6jn6vdyfGfXjEtYeF8B819wgsI90JxXi7RRi6Te2cagD240\nAo59\r\n=ZF+P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b1c4ecae655bd87a48f6065e7c292d4b30cda43b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.489d4c219.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.489d4c219.0_1607009333226_0.8336428865403398","host":"s3://npm-registry-packages"}},"9.0.0-canary.6557a69d9.0":{"name":"@material/dom","version":"9.0.0-canary.6557a69d9.0","license":"MIT","_id":"@material/dom@9.0.0-canary.6557a69d9.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f3246d92daa963338346f65099e3c1c8a2e5f51c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.6557a69d9.0.tgz","fileCount":29,"integrity":"sha512-GkTaXIq2wLVjFS8aDsu+Wet+arfIBISFMkeo+r6NkH2Y/b6RMNYOIFTPYpUVHFirPqTLYOoPfGJhJiA3AgUESg==","signatures":[{"sig":"MEUCIQDNBuZdE6vGnpI25WNLSHCyCDOn173SG+8gVsgexYf3cAIgJqtNsyjP7Ii9eTCw876QEVVmM6Flk+PzN0OsSwZ7w+E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyQb7CRA9TVsSAnZWagAAY+YP+QCXph0OLOp/o1ew02xA\nU6oJvyza+Dj0UnjudtmYOJxug7Zd0z7bJ2fwKUvtUFGd8n4EdKB57ulzxMl5\ngSnjaWS6LEvtDsFQmvDw/WjrHcysUzbhrqTLejHo4iJaqtlXJnek8GNTb4Pe\nYldzcl8PSb9YqXdZzuBhEVRsXZcHY25mkj/9+EmLiERiKx9Sr84oqnWnSkwQ\nMc4dmeVJAuStr9Bjf/zayJllhwH7WbpsLjXJmDBo44cTwh9DjCSNiftgJk6o\niGt2dgx5A/oCdvSsY3mlZ5JdgplWeUNBTwhv8m48tqHffnBLdNTIQxy3zBpb\nH9F3lv8ZK93ZQoaLqlkvS8PaEkFVZ/7QLZ1kPPbhUOZpARZDFfa9UlFQ8z9J\nk1H/VKmylSvmmMaofK6Xpa4UkX9+TnypjF4fIkqnbc3ixNKEjIRA3wPKoBmp\nV1+SK4R00MdEzGPWaDYqdFIIUmWRmrWh+Rw6l7BKliF8eB6Q6hktnjel4Vjj\np924+Gbc3/Ib+WoUJKvaMHImPCDmw72wf6F/1u3j8Y/70DE1y6htrf+XvMwr\nphj0Wt6JetWJaXGn5K2REVFb0KSG6tIYrUDZwReqIn4+7UKC+19d3V7KdKBq\nhRGSsUQ0K85YyLi0VvChs1yuXjEoIvb4hiTLeG4oFl1ZdToWAP2KxU5Co2My\n0isa\r\n=KqMC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"55ff05f1fcd2efe299d07cfd81279127a6fcaa5f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.6557a69d9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.6557a69d9.0_1607010043225_0.8628916611703881","host":"s3://npm-registry-packages"}},"9.0.0-canary.4ea1b7c69.0":{"name":"@material/dom","version":"9.0.0-canary.4ea1b7c69.0","license":"MIT","_id":"@material/dom@9.0.0-canary.4ea1b7c69.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dcd3d9001cb8771f5396b359c852ee91bad0faaa","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.4ea1b7c69.0.tgz","fileCount":29,"integrity":"sha512-sASfWk50H8m9vG8wYpcj7fYvJ3yHZlHTmlD4f6M30z8Qqa6TVHkkD7mhNQSJdgNGykyhbj6i0tW1Jv8WnGLELA==","signatures":[{"sig":"MEUCIDtGeZd3Uase/D61QeCPk+1Wt9E14/4Eiy8VdWSRQIXcAiEAq3ykLNTuyVpV3uaExfwYjBI34btTS8xmsf1DhH+uHXs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyQrmCRA9TVsSAnZWagAAvYsP/1PUDYssEHEvjSMG8hVy\nGJ2UXXxyyBJCSVXjvcwARb2XqYwNq8DkQ275rqyGR6DaaxpE8d8izBipgi2z\nwTEHurYt1ja5OCStExZgJoGMpSO9qLsbMdN8pMPayZ9a3nwUpqwDgAjG9EIc\nyFRZ+6Slnkg5CIaibfNI+0BNRf93IRGFEausEscwaGQbsRUOtjUugYRgH2I7\nCg7PWNvbtMdtsiJ8nAZhpA0jqXFt+GL8lQAeQbe3SMnNH9U3PGNFNEaDcwiQ\nuHEjHNqOzu1cDp6xTGwvqgypRKmSu3kCT/GlUXdqRE2Tt6aWjaihm8OX8NYJ\nSuyYrfnKM2Ljo0ZFEq1GvtmphAUJhP/JnWqfStifRlxSKbmiufYmS2cBhNhT\nW/KESfl1DJt826hkro0iHDCqkTgLa1rcjbZqRT9Es7syqfL2Gdy0+RKzNo3+\nnW6t2SmfTTUMltiN2kdD2B+qfD9kH9MaXHgxDnZxPsCHDBi4n6qFRt3eWMfp\n3djh9sCmsgCllCMuZDDFBo2QnyE3IKqowZEsmqaZ193iRXRO86gd3w79ZhON\nV6HPgsszSfRnHR1jrMrVls9yPcgIPjam4nw4owUM/4mZF+lhVlSW71RQD9Ji\nOQFXvO+aAub3QDm+EBf6SuTXnq4MJ4XdHqzn4LIrmv/d60Osmx+T9GEnOXzu\nRiE9\r\n=1pWW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d7307ed831dded5d9e22a8faf595a7411258793f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.4ea1b7c69.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.4ea1b7c69.0_1607011045988_0.7184060345196597","host":"s3://npm-registry-packages"}},"9.0.0-canary.eaeb78ce3.0":{"name":"@material/dom","version":"9.0.0-canary.eaeb78ce3.0","license":"MIT","_id":"@material/dom@9.0.0-canary.eaeb78ce3.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d7a7d3f024da86770b5d68de06e27ebb929f8d59","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.eaeb78ce3.0.tgz","fileCount":29,"integrity":"sha512-b4wkFroxFlEV1YzDTHvxNELrWkRMCKTyOmgcdFuH2H2w83u6Ni+3xGC+oUGq7aksxTem9fDBfxWanNdYC6mGWQ==","signatures":[{"sig":"MEUCIEcHc8aHpXHsQbTcjaK4JxRrZvRcU6D0vBr0Gq+QLES3AiEAgzTT5h/ebmDv6BbHkDLq3G4XVx8KlvgQRDaJxZG93MM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyRmwCRA9TVsSAnZWagAA9kwP/3SY+SeqVPdL9/CDBT50\nYYBCtFh5Pjb58Ike6ewc8cAUDvHN0cUbnmbXAIO3fTHPZB628AtVKVI4puHw\nuZ8pDiVt30aPkwXcI01Rb8xmN6pfwzJP2xkO5nlU87Nu3snKdD1dyAhG45HL\nPZ5biYJNOCYEKPC+qfA+z/urVd8QLeAOE4g/zpHesCf8Pp5GPlN1fTHFplKo\nRGCFMzs/Z4INa25gE4oySddUsiWwIxHSQl11tvhbG9Yw0WMFfGoGBgI721KW\nEZBLJnvtIDI0kfE5EorFfahd13bdRdyzAASgeePwH+NcAD8WGLal/GzFJLMz\nwkHkkzM/gjiztqjOkFQuoApftCW087fwXGcAxhy78ENOu9gzIFG75/R+c/rj\nF0ffQVwMOwYBidhEY5EEiq4HFfXM6pm6lfMk5gC8HwXwkMH/53HQhN3SHcy+\nJRufbGIi9eIkQ78YcKFQ3UXIFk7+uD7qxIr7yjzf+dw3gu9Ca/K79UCoszRF\nIadERLsvrW8x0S9WG9edVGi2RAueuoQJxEv4nDU3AgQyQJYTvBdtqIOTDt5/\nzzZO4UAbUtcuNpFzXCVqMvphTfGhXJOJAEpXZqeG7AOWnl9QyfqlnLOMohs7\nMcmvDHr5lp4Ha1aBSXzRlUA3vJ1TPWRhV9AiE+vC3ExTmjktWy60XpSpUTSX\niMdd\r\n=Ks/F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9902fe5ed18fabe2d289f92e75dbf17abebe5a80","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.eaeb78ce3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.eaeb78ce3.0_1607014832068_0.03920784336315197","host":"s3://npm-registry-packages"}},"9.0.0-canary.1c156d69d.0":{"name":"@material/dom","version":"9.0.0-canary.1c156d69d.0","license":"MIT","_id":"@material/dom@9.0.0-canary.1c156d69d.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ffba86848f77cdce5ac2cfe494a97cb82af5c714","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.1c156d69d.0.tgz","fileCount":29,"integrity":"sha512-AwiQDzquolB7rqy8k4+QMVQ8Njb6k0CT+otJ/UNJbj0qNVXZB4njVaWRWrWCt70hYp1rG0cRNkZ01ZJDqABUFw==","signatures":[{"sig":"MEUCIQD5Y4VBs7nyqEOs+a/mrHeZuL54z2aFauEIVRfRuvWGegIgeoD4cprgd+9mtzn+5knH+/8hx8nRvOfxsoF7oGMFKBQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyU4MCRA9TVsSAnZWagAAtLUP/2wZf/mhdY73cEMCQiob\nKeyQbhQeMoSAupCjnksJpHpCvYWx9niEL7aiY3bIzgGIOlv/ijxyw69X4qCH\n+egsFh/Pj2DPYGqreqMonxb718PkOdtgZa2vU59c7KvtZA5Mc74AG6MmiNUr\nxaXjl2p+LnabKpeYELGnqUe3Rydo7xcMhfqV0KGvxNqyhUj/siIm2HukGju0\nHz5qhX8GVxBqqrX+xEUzU6+2mKsDuwmp1jOJSyPe1nnsj0+RdeRI9FM+Y2W3\n1i4QhKDrctjHk4MgG9D82OEKXpDqhzoJZ36Ab2tGa1i7dGlsG3Qq+YEUvTY6\nw4rrgyibGPQVpXOj3sI3xr+W1SxzxeWI7/gKAbRESh1xeQf3ZQtl5qDgIhi1\noKPx53e2RGuHA+h5QYx8n13dE3fovC2ZRLYDtNlKunnNIqBW4vaMfPIYcxHn\nEfiLm7XQr6IwzGKTAcxXnYsCSXXnUBzyuKCWoJliNF2smdFNNvDCSpMbPPHZ\nt8ZnCnN84k4/78NWqCkzed5U9RaqOv/TfEM869XZDNrf1wpxYrYI1WLRzvV9\nBC5Ao4qNo1zsjE0P2c6Mk0R+z3cEYyOv9Oo2AG4MDN70MipmN7xbBGgAJFEN\n/EZBbUNiSW7MrbdvEqVWZIf1aJAzCD5Gau/11ExJ62QsFYWJpou9EW7Qs5Jf\nBW2U\r\n=fnrs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2239befcb4baad98eef5bd67444b0f759e58a812","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.1c156d69d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.1c156d69d.0_1607028236220_0.6950109349656759","host":"s3://npm-registry-packages"}},"9.0.0-canary.832668d33.0":{"name":"@material/dom","version":"9.0.0-canary.832668d33.0","license":"MIT","_id":"@material/dom@9.0.0-canary.832668d33.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ae9c805383b61f739ab86b890bc87d54bd165238","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.832668d33.0.tgz","fileCount":29,"integrity":"sha512-sBOOVOFnDBy8zwh3W4foZmylQ/t+a7YQ1SXjmVuDXT835tG4h8C/rjsFUBnnTXYRgWE+unJ03yzzORWVlEIXaw==","signatures":[{"sig":"MEUCIGJwayMsSsvQ73pGerseGZNvNQT9H5txYSd3544yV1BhAiEAu4UNfhvFTExkDRzTdfw6T0skl3o/anRzoF3HKxubIao=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfynpKCRA9TVsSAnZWagAAYBYP/09Sm5M43b2r07EyCkVq\nImHsTyCAX8tMkCadI8BE1uMEDVyYXGgtC6UKvfa8tel2pijt/fugasjni1t9\nSegRPVb7RdBF+vpaoo/8yAuWHPWw7190DfG5t8E2zXlIXHjOISvUdvMAOlCv\naZAKhtZK1FetX9krrMNLRtr9oL/GCESu7q2jXpwCipvWCD7WZtwzLtrOOL6C\npF7vXIGJwma3SAb+sEQzt+Wl80D/gHLEsUdPRfFwXyXr5b320yWpC5Eb+Dlx\nbxFI+fEDq1Us4lI8p9dJwNQqMq8A+I4F06EY6uyC+nF7G4Hjro2uhTdLv2Gu\n75ivlvc3s0aBDa8EI8Ygyl8oEFQJJayIt43fklEJ3+BAmH++0euM5/BOoo1I\noVtGZZf27klHVU7tLqgKSRSGJydweAMB9vailZN5x9ml+17jcPtTN+TMj99v\nzrRE6ZdkD5WY2dVgYg22mZ7CK+oQuR1so06BvqQUtHC6kKYCxVms4VoJs7SD\nddGYJ9/p3Zq2Y/zdMTmmhQb+hc2QbkBZOifafOT2scNzxjgobtPAiIyz35P5\nddKN1w5lStpagGOlArHL/m+8g3c2o0Wi0ejq/3DJS596GeCAOH+/evDusaHN\nrDHVZnZKSIKOxzWwwHLIc2N3LAVk4Zcb8x7hkmzQyw5VwVM9iQNeNd1PPz43\nbS8U\r\n=h2kN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5744d71a59950726441cfb1b4e3ae33706069b94","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.832668d33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.832668d33.0_1607105097683_0.7495592381252969","host":"s3://npm-registry-packages"}},"9.0.0-canary.4321323e4.0":{"name":"@material/dom","version":"9.0.0-canary.4321323e4.0","license":"MIT","_id":"@material/dom@9.0.0-canary.4321323e4.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"08c935765d322ca33939f60889c308d6c858408b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.4321323e4.0.tgz","fileCount":29,"integrity":"sha512-4wCS48aYk8ZRRICU1VoADYyQUKgy9tiTXr81JbyjfDHXXAdlKTCe7sgUr4IQpjFyxlVo3q3AZARbKPpB6sqqrg==","signatures":[{"sig":"MEUCIQCH7rJrQvQyAOSN4rGvFhxIS0Oie4VWznMA4zRyeBuRjwIgHXbn02DgSlflsB2AUITU3Vy/DNU324tUu7uCDqvKD4U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzhHOCRA9TVsSAnZWagAA3K4QAJUj0AQBswy3Si35SFz9\nksiPiZPFfY9/mi6v3XRTux46En3g7lnES4jrCOYHrep/pEGa7xcifl7WTVky\nN7HAqCKrK7gYxcIEPcqtmQHO3dJu6XrYR94UwkZDCauVgWBvThmXwhSL6SeD\n2r3SkHV7MD7VlfCPvCISBAGQlJeB4Zasnc6DZct4U93830lythyHN+XpoLMV\nAkABL5uuziFlJQ4WZVnn/duMyez+qp3cchK+KP4di0+uAJDMa5tneW90CfoJ\n6V/xpugT8j6yQHqGoCNf1sgFNvUukDa6sCSySteO3rONUhiP+Y/aA74rav8m\nEx/tSKatnRHiBV+rJaFT5QB/vcLZY/O1+FCJuBY45+Z2ytUwq8HM5Tym8wYx\njOCol7gyKLg0md++Z1zpHj5femPwlFdvaM5ENFCxX1JIEqRs8U5a+1+B5dtz\n7dIRO3mxYBa6UrGN6d8N92yvC1k4MeU6UgjHV17QCeh1fvsRqz5QsJ6Jh2mV\n0AnkEWzIbBamIfgFxYp3L1J/laVutElo03QoV2cJ1SENnLmGHV26Qh6pqlIF\nkqTa4cA2OQHr89TiJkczK5cBQVt/yktagRYarx4mxQTMxDhfrmXN+TqWjzgd\nbLsiEjorHqlydxRT/Z2cKqW7BeQYdSnbCiVQB1sVntVg0sRy0qzc6Nw6q4r8\nyxzs\r\n=Xkvz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a838a6bc72ee56a967d493a841d4c69ace1f3f13","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.4321323e4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.4321323e4.0_1607340493857_0.5258617974264672","host":"s3://npm-registry-packages"}},"9.0.0-canary.2d5f32d41.0":{"name":"@material/dom","version":"9.0.0-canary.2d5f32d41.0","license":"MIT","_id":"@material/dom@9.0.0-canary.2d5f32d41.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ec891c2aec5d8ebb4e8f063cd0bf41d23c9087a5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.2d5f32d41.0.tgz","fileCount":29,"integrity":"sha512-Hmd5k5KZBq2j+ZK9a4gNTCqZ/YzSk1A62bIZBxQnfcDQfNgjeijz9UPzkfMj6LJrOelOZQUnSDa5BstilpDyNA==","signatures":[{"sig":"MEYCIQC+Wx2wPhiSK0hZcP4eTao5B9bprc7MMdKPWLBepYtSuwIhAJkMCb/hI42gSNOxkLz6QqqXbWH08uvuJPbnyBXAvqeS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzlsfCRA9TVsSAnZWagAAg+wQAIPTeeIj5+cj6qy6sdsv\nvNIR/IetImYnX2QWPfidNkc95c0CSQPuQ5gleXaQ1Pky9Q8KPBwoWwFew38O\nm1nPFCHJdMObfWOH1hCmyE6C+YxFL4Wlq4Tgd38HoGQzgEuOVfcvZYD0IIRz\ncTnNaf+1l21unoZyWjomYQtqHQ+RLH5l0fq3fQdq0K3NaFbNraOLKSejH3SQ\nNLDCGNxBLlMMhv6oNnmyQ7x1z5T0mpZMnMNOuxWgupynhbLnCS0Wkzm5pWJl\nRVP8wGO6vmKtYtsgvXuLca6JribuQYH3pdiQMV7Q2qthUGQHJPHrhtYB/CzN\nUKLnqFvkUZzSwYOKcnqJft8giVKq+cicu8OnDrZfr9fjN+M0RkcHxzmcKxQ+\nphc3xzdKsDEnv4EXVZ9UBzej+XaRbuRi4ILAlskozBk1VkgubAjSv4KhUPvR\ntfDkDdYFHhWLqvUQSk3erfnjRhfqofcrWlGrJg/SP8MPIZkZXZShycrQ/Nlj\nuzNqodO/46C6FPs7e576eoWNdUlVdsnN4syZ8FJKUBxPKf4RjxKfz4K6ixtn\naggP9utbUKFdYffnsYsw6DsVaKKIVJrVKHOMV9TYk3nDuFQV9I2v37lZzMIp\ngt7a62wNMM602QJFcicmB+tJr95WqelivK1KQrkGYBkTjRDp5PJaLH6BPoEE\nHPWQ\r\n=srsa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2c385d3016a738d32bd3c03bcc91bccf82981fed","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.2d5f32d41.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.2d5f32d41.0_1607359263161_0.8546672297988347","host":"s3://npm-registry-packages"}},"9.0.0-canary.8239afc64.0":{"name":"@material/dom","version":"9.0.0-canary.8239afc64.0","license":"MIT","_id":"@material/dom@9.0.0-canary.8239afc64.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"090a31782961e580c8b257c063e4afa23fa6116f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.8239afc64.0.tgz","fileCount":29,"integrity":"sha512-xzB2e2eL5aOc8AaoAvJsgcvVyRGGeDqXnrdstVcyZghNX/XXV8riiv58lTBX4UzSKWw2fLt6frL2Q/6FZItN0Q==","signatures":[{"sig":"MEUCIQDPTTjtTnymssZJ+SJPd7Zz6r+FwCSQvwb789wTGzIeTgIgXR1pq9IDmgFc87LrocvNd7J8UGRNtIFXeBi8QSOpzH8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzocaCRA9TVsSAnZWagAAH5MP/0BSTqb/WVR+j+Ovv0Ww\nCdkNrxVSK+fLL1G8TTwv9Txj8POtW/PcPxxPGmTfquf0hFwXJ/H6V0pelL7i\nq8sapiQdetIm0zB1kgCP/W0KcN4ArLQsuURGj4Jtgd3a4rL+VDvn/ip/Xj5v\nLBX1uUGqufZ6EXNY8dxy7aeAqYDEMujLD9B6782RPEr+T6+5ns3sA7nhsy+Z\naquFcMtubx2gnfoycOKBc1hBmmp4U9JKI+RWiXNdRKKrj3C+sSWXSUHttBN3\nhMdzb38LUnQ1ZhMOW+8ieTXh9Kgrvfill2LfMttvcL3EX3LE12CWvyaFXEFo\ngf+GoMrKH4ijadjJhzk4pR+bzugPEk44+eVUpaqk4S0okINVkeHb38lPCHLj\n4LwwvN5SFNLvlMjI7q0DSyTj9Dp3jKRwP4lT3NLDR8S2beYwGAwP6fKKh68d\ntDG6CtbuvE2WMH542kTH1ppCx80vXuiCvDCiGsVFIe15RLxQtvexAGEu/prk\nTPJlxYhQyn7yflP7/BpHcbn7X6nwsD6v86t1tlq6u9eGpZcvXjAieotoLdzJ\nTQJf/wM8ig6OnBsRs6pDlMsGYByDMod36DNUUxToM7R/U5SD89FuRSuAUbTg\nk//j10rca+CdZCFxSHUn4op0vPiryFrvbf4yzU5lIOJgdDSh/UA0kddTKZNi\n4sqQ\r\n=hLM9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3ba24284e7fdc10c5aba869e2a2d3175867e0f15","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.8239afc64.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.8239afc64.0_1607370521597_0.8671973522817542","host":"s3://npm-registry-packages"}},"9.0.0-canary.6871336f1.0":{"name":"@material/dom","version":"9.0.0-canary.6871336f1.0","license":"MIT","_id":"@material/dom@9.0.0-canary.6871336f1.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ddecbbae34e82211b9061d203da9be6a7683c91e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.6871336f1.0.tgz","fileCount":29,"integrity":"sha512-kYS9gFbr290lKWFM3AL6pVLzdbbo+Q8WQ6+pmU5zxuqaDS539k4TDynSoeOepJhvq6jTAK2DJPt8CzMoxHys/g==","signatures":[{"sig":"MEUCIFKiG7a8WN8ZMd08C+9Mg1bOtpoQ5D2YiVyYVcY6zs1nAiEAlUoKh/Q4BCmeIYN+Eke3zVKTQvXXAuE/jH0DK71M3Zo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfz6MmCRA9TVsSAnZWagAAq6UP/2h4mT8RBuN8zVXle4Zl\ncA0bdu1Q0qqj6Y3fcpAZoEircuvRA+Pedpwp0UAk+cJ8dADxJlWcql4BTuWw\nzuQ4we+cVja9MmcQNbTJOMzUn92vmhhoFwXZ+inHkT8aYCo3KAA6CCM9xbl+\nznvjLCueJdCwQ/hZLFFcVG8QjvF0UOj46knhIlqpfb78PCTLs5iDS619Pn3x\nnv2A5RaG2+Tmaa/EUbAqp0xrp/jlSnTK2FMDNCuJbj1H86UC9/Czo7OFHkp1\nYk4kuoV53b1hZVpxbzZSu4RqpDKgMDcyP2SfZn6eQZubj2B1WFF2tfLd2DUS\n/9xcKjM3JkipAeYTK4GuslHGD01mEH3mzjppUWyA2jmvUYJI4jUhBseXZsCP\nMRfQDSzfuaPnfxMpfJ7oFapPMtEz+mgjUnRCbOQIiECiRCPv0QgjycUgxHRH\nfi4wvT4dWi+BqykCMUgnZc8mDie3W4cnS0W02b7ciKkFhgjKaHwiQ1qw5hbf\nezeQVbw9v/GFoY1fBXkXB3AZTd7jPFkX1wuIxG1wIyxa4ZzuBBDCFuoxPu8S\nxXz5NSp58CbbZYaGsKgEm9KJzj4DRiLpE7opjLuIMm3jpCgEXeWJuv0aBcTo\n7XPBXgQ9t0su0kS+PStIrgwXQuO13GLfuFa03mhvXaCGeq4zowfNFuDrAK2Y\n8830\r\n=TK7d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"aed20b07d4f2597c382a6ce4b7c723f6df0c3efc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.6871336f1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.6871336f1.0_1607443237969_0.9088015030585577","host":"s3://npm-registry-packages"}},"9.0.0-canary.9f718da94.0":{"name":"@material/dom","version":"9.0.0-canary.9f718da94.0","license":"MIT","_id":"@material/dom@9.0.0-canary.9f718da94.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e3ebb6cad524cb06c3348781cab53ddb84c1d837","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.9f718da94.0.tgz","fileCount":29,"integrity":"sha512-qUENsZjIbafQNFzcF8n04rAlefpy5dJPniru5BDjOqNybzDWzejK+AvgdQ99jUWfAibGR3fpHq11b5ZbdhRNnw==","signatures":[{"sig":"MEQCIGoOhnB7H+WcZL03uZNmc/a9m6LWscLfP7gLNuS0/9FMAiA3Za3OLoao1Bk38avw5dEpiCcwuC8YEqTiQgeqNxbUfQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfz6XlCRA9TVsSAnZWagAAs8IP/3L8hgeigS0zlYrJNtoh\nwQ2jjpIDjGQtiLCQv8G46MaxU1OnubkyLAjWnagn4fgRBd2h6n0zmlAX0g2l\nwuAwuP/OZqI3eo7Lc7JTuT3M7qPPy1KiuBNqshAzt+lNIzXrtNhF4C04+CCN\nX+AsmEAlFpJyOxtYI1RudAQPnoTsKFgk7umUiwIlsYcAdwyCO05dnNQhxn5y\nSkHn0AZj/aeCLbtMB4XotKF7trbxCO095kXNEhQrhG4qHtCNkT3RKghVeJQP\nThpfYHKaen9yHe8nJBhwGPAj68Jba5mes42xhSuk8fGT5TqR/kZQa/l4bZ+s\nLMAIptlhjwlbMQtIIaUnkQW3UUfi4dG9S1eOV72ZnpJwBfHdx6jHBhYMiqv7\nnBVMaFV0mjvpH/Rqz92fUgYRX3iii9BOVz0zfwnAGxuEus+SCVVzlDL36bDu\nzwguTwg/YoVmHLxHZk7sX8Q9UHwRrvRPzTzjI6E9Wdn8ZeDEEK+uzc2lCdQS\nHuhIfkaN8DAlIjKBCZu0sRZqf+6HQK7APt5ATt2EKa5YP9xgGtLVdCSZDOC3\nFuAFPmtuWvD0aUPW0QfHPL8RUQjDdp8QmXdFzk8j9je6BtpmmAKetNFqWKaK\nnQgGpDsiPrRt0rvlZYqKRqGo6p/z+PDtUEM8iWd+5TAlsvPgyUu+dxTqQHDY\nRSzO\r\n=hMft\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7fb6692f329c5482f22dc9fe691a20fe4c6dd38c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.9f718da94.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.9f718da94.0_1607443941493_0.7479273600368463","host":"s3://npm-registry-packages"}},"9.0.0-canary.1fccb1418.0":{"name":"@material/dom","version":"9.0.0-canary.1fccb1418.0","license":"MIT","_id":"@material/dom@9.0.0-canary.1fccb1418.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"eb941e4d0f460100b3fc990dd785664c4294101b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.1fccb1418.0.tgz","fileCount":29,"integrity":"sha512-8UwrpnAq4gDdDAFLhy3ZPGUX8xCnm6SMplUmafixKEYrh2kE5dUsYjmj0rb13d5JcUp9Yzgm/VZIbab60AfqMQ==","signatures":[{"sig":"MEQCICiM1pr+Cd/ntgRkJxGg2vWWtI1hz0ixajYzNn7CZ5N5AiAkapowpv3hT79X56QtozQJj0gBfG26w2jwp3a43usRkw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfz6lzCRA9TVsSAnZWagAAb8gP/jSB6+W0gxGH7u6sUPTi\nQinb3fSbLJQKETVmvyMIZBNq84atkaYZ5NBF9t9QXl8wldQ7abHp2ZzTua+r\nEMLueZtwxKoG2lb3Uw3bgWjK5W1Q1Rqn0IgDvvv/ovAtC9TXYQ+J+F3uMs+s\n8T0vgUmCRFEpVKyLQq9wyvXeCCjohXa3JqKM6smmJW+znREcB+nW4ypKO+w8\nni0tFtPOy6qgHHApv8zsWfPEzrlfSnxsfaT96J7N/3C37B17w0QQ1A4zMSAL\nCaMWRmRlEahoNuGSwzjZwTgJJa9C4jW+USnP4kDKCQ7ymG5GQybPOLr/YfiI\nZC478kBjzoAfqZ2YOgwbNAgv73/nggN3uAy0VZ2Kx82SKQMAK3kfjMONFiJe\n4qMNuVhXP7pp0D4A3PAtpq093sVFAWJpy7l1eLNHDKl4z0FNa43zktrz7qrs\npr+ZaH1Owom9Sib/0v+ZjuFRAnDsMnzFrxSJShaphBx8sSNX3s8+xBC4OnRA\nL8WdEcTeG6quD/kYLIubq325SLtPmQqjQ0AHJ+8NrEkgMdDA50/ljXbzwjt5\nOmBhD9bQxZ3NqIGf3XPNg04IVWBds8DHrZljiaKM0hDmfDWM4tepic2H3Uwd\nsJYrADboReW4TsaHab8PevOlD+P2bc0LRMs1D9NN+eJ3apM5Kuvg3rXsqvZ6\nzlwh\r\n=Kjc/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f9dd96ea7afbac37dca91bc879dc44ce4523c442","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.1fccb1418.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.1fccb1418.0_1607444850558_0.020723618298009727","host":"s3://npm-registry-packages"}},"9.0.0-canary.afb68894e.0":{"name":"@material/dom","version":"9.0.0-canary.afb68894e.0","license":"MIT","_id":"@material/dom@9.0.0-canary.afb68894e.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fcb9bf040b2743c059b82e1f7c13eda81be8d6d8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.afb68894e.0.tgz","fileCount":29,"integrity":"sha512-TfKnoKW4POZ3cP5koXg6AYJEGCnipeoM2P/89qxew0ay8q4t8dsSocrwD0WP0hAnYM9+gz1DLdYjwaxS9vxNhQ==","signatures":[{"sig":"MEQCIEH9fzqNHz3JI/mVeZUzwDZPSbvwRzGJn/BYiPHEDd4XAiAovmgzFNGWdDvAVGTvzd0ARGH4h17GJRRRuUZ34IXcUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfz6pcCRA9TVsSAnZWagAA4b4P/RBFnifvYI6HwuRpNXSg\nxWBEw1CmkTMXwTHfvH6QS1opO1RFht1MWUfJWJC5KbmznYbtlFv9IRi6ateW\nd6x5a8V5rPI8UwzNSQab9tD3oIAI/7dSd+lh6DK/6wtSYcL1A76QZ0XGumvH\nvpCQ9loosrq4YSc4ftGJvr7vRFonblW3HniM4fPEvzTdPCUG0RXATg/s54/T\nZAnG5DxKm5Ic85uP/sHmcFu6jGngikJ6PdlfXYR8qgok5ZNQbeS3YEo0ut+0\nQsXX/ypZTFyHhN7cAahz4r7NP4kicbJyhif+vn7Sml4I3vTGpz0GU4kL0b+L\n9/H0VnFAJaIInn2/nVpo5MlkPBUDVcea6IysNHe3BWT4MNBXcmofTRsRHGwJ\n9Id9VqnkHqTgqNMFMokvjl/LiIk+kYgIPuguoU8FYj7PUkjmplzbs5yiQX5Z\nqx7TDHFTmEA3Q8cxQ9oyJ7yagTkP0mUye7tJhX8Jox7LKgkI+k4gutTo3S4a\nVt7nsdErw4U5hve/ZNbx6n48A+59dP1fTuKymE6SRsnG+wXoLUc7zkaZ5UyD\n2xRJWJiVx2P5U4sRIEPod5cybOHml5jqWQAu/P0/k3vhmrsHR7OBSxCZYOCV\ns53HT1BE3F9X+CfR/qScXJTuLWvBenufAxgnxiHegudM+PbF742nEK2QlBCN\nkvaM\r\n=aTW8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8a3ec1a501083d67f1c342fcf5b11a765a586ca0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.afb68894e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.afb68894e.0_1607445083753_0.1865391461834518","host":"s3://npm-registry-packages"}},"9.0.0-canary.fd88d40c2.0":{"name":"@material/dom","version":"9.0.0-canary.fd88d40c2.0","license":"MIT","_id":"@material/dom@9.0.0-canary.fd88d40c2.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9c14f9d7c617c6b71c101aa4621a70d02d4267f3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.fd88d40c2.0.tgz","fileCount":29,"integrity":"sha512-xyXw+Fp9ChdQtwXlogZL4mhWtv+fPNW95bh5atwkh+EuzToS7K1mEIB9I6vaIV35LM+oEDz7LPbdeHAXLnnTtw==","signatures":[{"sig":"MEQCIGicrQSyav5MuNslihigrwHp7dvQh8RrsiE7BxBvh+lvAiBb0futimXd9upjskmIWTnEBt5Lmq6pAKA6v8UYgzmxNA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfz61oCRA9TVsSAnZWagAAXesQAIkB4aLvjc/rOoLTU5br\nKBaz6A/xfnyzddM5aseKx4jKT0ZdffpFqln+1e5FPEkXYTzRBadyg4vFZYjO\nJJg2BewrXhbuyC+ZQMGtc1glTgirpe3gMd+/sKiF658whzfgm2YczASdkkfG\nQxIdRUqTfIaPKTNSpeoTzgH8isL+kFKCN+7z0z2S8LfZcJ0UtbHFw1plqpSl\nmtI0VYXNrTB5/w18P4pMEaNkfEi8YrlEi3ty2jUnYRo+y89RKBWLt0zzeCJ4\n4GhMuoDxg8i/N7s2GWYgBFLyJM1YxvJm6PD4Tx28jqzHq8AG67CvMlEj+pqV\n4cSX3S6M7zNbdCzPzu0e59FC0PhCPy6k9VeEU/Lop7H36P6fV+NE7L7lp3bN\n7LS5uQEuXTCZXBl/iHsBkPYwdSFN6l3eFgZhS4x7oFpp5CZ5m48U8+e80Vwn\nW/w7HseHtiSkOcPqoFr/B/lLotepQyS3bWFQ1jxyMMxHadU6yckYnMoX95n6\nJhzlRCu7U3hPZ00cQUGK6rW7ygTQd6thjIhB/Jf26wCOXzRMvuJxkFmXvFoT\n6LVHfUoOQOZft5KKScflI9GkeV2HT6RM5FBL37e5I286P4FzjD+FA6qJuTE+\nPFiR/t3j+RJCK4EFkvoIXn36W39QXxU2S+viW41CggPXKLYmco1paok57WYa\nF+gF\r\n=ssO/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b0f8299700bd0ac44ef5acfdd0234b464d837131","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.fd88d40c2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.fd88d40c2.0_1607445863659_0.3681923612881337","host":"s3://npm-registry-packages"}},"9.0.0-canary.ba9e3109c.0":{"name":"@material/dom","version":"9.0.0-canary.ba9e3109c.0","license":"MIT","_id":"@material/dom@9.0.0-canary.ba9e3109c.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8a74403ac3d93675a34f32ca4b62417ebbd4e8a1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.ba9e3109c.0.tgz","fileCount":29,"integrity":"sha512-lyhQ+xyaMD3GAdgcjJ4p7oJUSDC9yPLGi9NShaBgoIyGdK1ysFqZWSfEnC/XnoqN+4lFnUeYccjvxv6VPKNSww==","signatures":[{"sig":"MEUCIQDq5vOoCDxSjacvXwVAv8WtFb1heLqz5rkW+VZeat56kwIgDNgJ6pGfyYlh7RNbqD6AjhWLErV3OO8fkGqZgaexsfY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfz84+CRA9TVsSAnZWagAA/J0P/0r2CTTIlHALiSH98f5g\natTJWZXxbYhY9EQ58rMsvJ4uPiD0CqeT0Bi5jLp2qjwScfZxbvhizl9kLn+O\ntPLBy/cH+8xoby+dW1+//QtLYlfKjNCrUPsoPMuAsvILF/LWcIzIY/p6qjRo\nYrLFq+gExwK/tj0EDPMp3y8JRxygknTMGH16C6dF+8peFuuTU0AuyxEllyKV\nxJF1hjQCX9W5muxWta92iNsbrQvlZM5QDU8WwT10d4LNuAT10tDLDWecRS/r\naTHbHzDM0nC8j3zlDyn+i5vihzi8RRdQ9Y9SEdxaW4qawtvosttEc3zkMkGs\n2Ae6dkryZd55a5mcelDQPcS2Wt9J8iLtyUMPiEJZ6VToQuM1n6qzQjEeBZbI\n58XqSYc1+WamnusjR3lh94SYl0wkhIyUYBPudk035sg/CQutPQh8E+iipAub\n2F3o270Llt8dceCMGrXR2+r3XDPu9PviUtzIzS789Adt137uRsLEwPOz4bHI\ndE4qQtXz1KRWYzH822PlBjEPUTaLVGz4TAoIVTqUeJKrdezucjuztJ9dJCdu\nE0Swtz2VupVYOnTLqok5ljm2GXJCMghBOq+vw5F+fgj6pYknq+Xk/Eb51FcD\nq8w7+Fh7QnbNeedpqmtELl/XGRsIxc9WgU++OIe4t60FdYdB4lu8mrq09t4n\nkeNM\r\n=8KIe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"84bc4a2a193fb62b5721555a77b59e7bce321bd3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.ba9e3109c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.ba9e3109c.0_1607454269977_0.700659577045657","host":"s3://npm-registry-packages"}},"9.0.0-canary.1085c3b2d.0":{"name":"@material/dom","version":"9.0.0-canary.1085c3b2d.0","license":"MIT","_id":"@material/dom@9.0.0-canary.1085c3b2d.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1442f5e0dd74a73cded84e1436f8d65419d0e87e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.1085c3b2d.0.tgz","fileCount":29,"integrity":"sha512-SMAXmu7VqcRjJf6zNrA+Vj19i2BZlVoRlQcyzi3k6g14Rsi5kgsXVVon3AYqyQYFd64pejkw5eWYyyk/jFdQ1A==","signatures":[{"sig":"MEUCIQDz5seVuG24VyvMJwq0FiP5VveHobf0wwCW+/zSzQ36oQIgA/u/Pc9vzfDty7UOy1cw0Mmt3lduqdyFgSB+PhP19ec=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0SEUCRA9TVsSAnZWagAA9KcP/0Dc4hma5Vw8JtIdDfaf\n9mo08AT+hAlfcdXCdUkOJxiZwiLDD2IMwDWx2ynujVMS49la5fBw7nnfi+Hy\nrJn+2ItPR+M3JQTvx78EodbSbU1B+oB5tc0tMqfXvh5GoOil59wcKETLkmQa\nsoZXWLJiNU/6iWssPeFdePabAksNFoFJ1d/K1KZwsvWIKH+Fvr8S+oyrMUzX\nhFpjEFIm5kFm1zwB13OthahZynhs2pg1b8C4aaG/DwWrYA5rwf8ZYQMusFVa\ngwCZ6SsofqMb9W2W1lHaBRBVNA4QhTU0ZSg7LLuW3ROWAMaETbxL5dKE8x8+\n5eoSD+EeGnnxiba256yihYxmCGUZfpRF46fFLuZZKClly3KN2mknu4SQj+I9\nq92QQFNKm4YTQR/v3N+LeRmy1SQODZ8F2WjefiEWM10u0TiCJdMQtHKXEG52\nNWvhbU9FfUsEXdOcufpWJQsPMHmTb3pPkHdc9rq+tBObkMP2WG0W4pqrRy59\n2aXZpCB3+64bi7ld3m8Ok4BxjmhvrtwkBqQxlvWWJOZWfVxj/N5pUBNjbhTh\nW8xvOKKtc5Ya7XwCfniJANqyHqEnuP9YovXvb5ib5oc/gYC+t6GJ/8MV1cdT\nP8ucDGc4/3CTDmKK6uVXKn9lWqZXJcptm+2zRas/wGEQ1R9o3f3tFgcZ3CaS\nf3FO\r\n=9/ZD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a223e0b83a78bac523ca498cc8389f361cd0f4e3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.1085c3b2d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.1085c3b2d.0_1607541012060_0.0724154345183241","host":"s3://npm-registry-packages"}},"9.0.0-canary.c5dda809d.0":{"name":"@material/dom","version":"9.0.0-canary.c5dda809d.0","license":"MIT","_id":"@material/dom@9.0.0-canary.c5dda809d.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"945f954248b898241c9d7156b6feb2d7290633aa","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.c5dda809d.0.tgz","fileCount":29,"integrity":"sha512-yAfIWYYuv/ZRmSHYTuQ1BlBcORLWivWlN5zYHUQBDjiJH/AMGWU5CVExibIQ5HdsbArndNrn4zmdR6kZASSJrQ==","signatures":[{"sig":"MEYCIQDQ0GcOYWptttqJ6wqleqGHgNfb+k8Db9/TXh7CCGkfyAIhANkzWyDPILgJeEOFW2LUSXkpnEbuYU4v+eAt3gtCqHyl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0Tg0CRA9TVsSAnZWagAAsn4QAKNSQ0xqe+KSS3E5UqjX\noMNNixp+RhI4IQMwHhX7vnuyr2hfbRFMFdtgjzx08/MVzy38ZG9/BCmEJlsI\nPjL89W5ChlpMshmx1P0x7cIjEvdwJF8De3XOQEniETeb2KHzuW/mzhlgxTkP\n7+uz2lMEAgTqpPBsh/2CRM8G6T9HqVEW29xg1qQkOuvi2CmPrGR8qkdb74cl\nn/nsJHtHi9/bct5o9oy1WuD+0HgDwiVmMOvcd5i3pptB9OQXHMJHD/FaHQmP\nK7BTXzoGtAlWDDPqXb08W3/GJOHx6suyIkdrWcaqZYSPvepbOsEFiKMF4Bqu\nldgeXOMXTwZVUR6Pkivwqx4vvQ/qtUdqfG6KP4cru8Z9AOxKGtbhytG0onkh\nekKCMssca8g2U0JdWhSAbnc2fg86XqIY56eA0+Tzb69HQtakp/0ihaxp5tZu\n3uerf2oy3uPo2F227qVXUakVQqqs5jsoiZsBi9F+yksRwBmXa4u1tNXIKDMi\n8GUrAxb+1YrdKLYx1Rtk2XkQyUqm4dFpKJnLOFigF3ecw9CEoFQoplyP7Da5\na2lF4lvmCtS1awgzcMLX4+Q6jhLsmRBVwXXJOMNA26rDmSvbJqZqHGyxSC5R\nZoO3mEh0S3k5MsVkIjGaC9ObK8wQBdYMiVakEMtfj1gbHwhrRdZzrAZBf/wA\nVDL0\r\n=sO4P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c2bc7206e40f2f31377a09e53af457109018ff02","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.c5dda809d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.c5dda809d.0_1607546932421_0.5011205046591076","host":"s3://npm-registry-packages"}},"9.0.0-canary.f5f1bd86a.0":{"name":"@material/dom","version":"9.0.0-canary.f5f1bd86a.0","license":"MIT","_id":"@material/dom@9.0.0-canary.f5f1bd86a.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5461fe8318b31e7e9ef30da468e48f032570b3b6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.f5f1bd86a.0.tgz","fileCount":29,"integrity":"sha512-mH2DOe61peozyv6yZi0StlfjKgTKnBIcb+Haecgv33J3J/j+NX9PR0uRb2uo/HElRBChXxBiVhmC1E2h5iR6GA==","signatures":[{"sig":"MEYCIQD5wYPCO2QoG0BHPNTf7LjiHYhOPDztjbOObmf4+9Xm9QIhAJ84B0QYfValo79NSKNT+pJIvI693Z/UGCYElH/gsCN0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0Tx7CRA9TVsSAnZWagAAyVMP/iqHqDOmWQLiCZGs3ffK\nNh0tHA8/d7WASs0ehDaiypr3vJWI+P9y/4Jp42UNybGlfbndu4+GWnNnMlna\nJ4F6ZohJB1vs/O+nHIe6lWBBWG/0CudUCDCmxUVY4B65/VVHaEegezMeZrT2\nV+bmohg+L4rCSD1Tz2JPgVpX21yJWkHWC6PRA2WZmMR6hmFS5TNWyHjMIk1+\nnXLjdO6amUnoD4xXNbYnWehdxlVsi7VYA3jJDaTD23jxPNy7XMbMA8NwbLll\nEJwsLkHLrnuaPlDS+nezGK4jypB7KOvvKK2+NQzAr0SyYK5TzvAOrg7ZbJmp\nALhI8QZazV7LvX74Zea0/1iaPHM4TJAypMGLHZMkHS3aOb9eLW4BGT6HvH6t\n3jv+PHIwNtwYjrefkbVMgm5Z1caJVP/6+wqY8s7spN9LXVzhpNCWh16mVy07\nyO6Y/xo9uDkCcy1xtrpmnGi+ydm6SnwHQAxmQ/8OpYwgbs4iuflQoi4ETaPa\nEC7w98XbCKNxJbxm97R8LH+t/MeIz2fymIAN8Gdh3bT8+RCTO81f/75HV3Zk\ncXVs89WnRF5pNFUUWHZG7GOHd0/JOVznWTxY3MCUmE35eZ9wppOauHsZG55+\niDk/CWzlgY/lDQ4AOXWZNTUWOziPZvTFN3O3BYD9Ak56GK8XEFw96Km33btH\nQIPX\r\n=HYnk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"86cb1fcac08fb433af0662cec8583dcdf435eede","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.f5f1bd86a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.f5f1bd86a.0_1607548022721_0.6718638126722964","host":"s3://npm-registry-packages"}},"9.0.0-canary.00f38200f.0":{"name":"@material/dom","version":"9.0.0-canary.00f38200f.0","license":"MIT","_id":"@material/dom@9.0.0-canary.00f38200f.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0f330f34f4eba3b2448e1cedd82a2c8f875c6e78","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.00f38200f.0.tgz","fileCount":29,"integrity":"sha512-6VsDXkj8EqGVqUpghXolUJipF7YS7ZEPNTKrGn2DYtKc2BzmL3Ow/NZmd/e3+spKq7isom3+mQ5adQxtA+wBVw==","signatures":[{"sig":"MEQCIEKC2GmKPSi8Ahc/LVabF3KKM+ezKlhPktHFyRq/PqwoAiAGNdU/DqpAg50P4XXz7tlPShAsCyMRtwDgFj2tGH556A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf05OECRA9TVsSAnZWagAAzxwQAJve9zegDGMqSY2q9cp0\ndp/qoaYF9AUc3eorvP95SVdVpbjmBxFI5xzaW4giLqPNIW4GSGUfToEgTDPb\nD0788Vl1UYUk9favqKDfy/uIbIi3eouk0dBPmcEiYLE3YQcLRHvRTJFJTCpO\nU0WNubjZ8AA9TKWwTLA/BwpePWlP/TJRmkxYxh3MtqgIRAl6/716YG+JYdrz\nZcD5HfGro04lcSil3s2KB8buahXamY0ov2bESqwzuXQ6hYT6jlFeGXG14Sql\n/AaltZ4Z/+V7dSJaCAFF30hpnsotZzc7gte1r/nedx1xK5NN7tIuW7pDZO45\n4fxgapudFPQJJHukxgdjbsQaf9Z4NfofuGB2FtTgTFUEuKPb6YCMfkbgDxHd\nwylTq8m8D0OPS5lCs/NGxeQfJW0SBnHhqFwB61iYyH9AwgZpeQaPEOr3jAWG\nXEdjJ7lbzWuAe2bGkg4cDec68xIv3ITPqdQYg3EmCbRSJf7beLxGLmShVTBI\nK1tSn73tUQNLh09fUNz4+YZq0CGEC2kgOjmN/TMIdG6CCU8i8SDnurDhKsaF\npJKGYogRmyfOPwi1IN0GwwiQ+k+4h/UsU5kNfBRnDrf9Pui0U7yf8bqfQvBk\nfbIBjIeJKqEw1VAuQQNSMr/uKbkZkl7H+kg6x60ZqIvPCAoa3AHv16C3wzLM\nBQ7W\r\n=UMER\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2771c0048541c1dde142fd7f565741f0dbb83c20","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.00f38200f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.00f38200f.0_1607701380107_0.7755256643568524","host":"s3://npm-registry-packages"}},"9.0.0-canary.ac41a5729.0":{"name":"@material/dom","version":"9.0.0-canary.ac41a5729.0","license":"MIT","_id":"@material/dom@9.0.0-canary.ac41a5729.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0a69c4dd5c533a4e61171652faae340a38192681","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.ac41a5729.0.tgz","fileCount":29,"integrity":"sha512-usdmYbUlAapr94MBowunX0jF1idlNHvm5jpt+ouu6UxqnF9gXDUdgqGJ1ICqpbUNeUJMpEB+3R0sygQzKZYV4A==","signatures":[{"sig":"MEUCIFt988F2H0BRAd7YBXWR5ZmiCKcWTa//4meSECq2J93dAiEA9I09GEvxWUtZuYRWATKhXQODHCuO40+RgdGnZsV5iAs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf053fCRA9TVsSAnZWagAAYC8QAKOX6M+T6UYaHBgmUvGR\nvzkW1Z+VFh46eE9tzxnj2L0wQIFN2iWtzrc+NLsgnZu+yFEs3jzQwuzEO2o0\n4vMYlWdGVYpwqfozry97BxHNiv3fmmAi24sQmx2AW7yPtGLzMm2nIB6qfYO+\nnk3oRnjXeSuW2iQMqkeU9460XVxZW8jEGHJfe+2SCl4vzRvvBmJjsUhVDVFq\nnWCpSS2Kv7zGv4+ywsAFb2Bk/R6cmARPDgrBWdEnWy2eryk1DfFaIh609Yo1\nVZrJlUxXYBrldUbkQ8JcEWer7AN3dc8tWkkAYo9lSoZPlLjjupRldRO4yMLv\nQpgSl4Z0WDJm8FR1FF0R2v+ERpJqMmznP3mp0jPbeCH2mguM7BdVQ16HjZqF\nPeszDVZWUaOlhdjC3oBovUnGaQ48soF0pUKWXHBrwkXMFnJf0AT2EjMm7gcZ\naN7wDjt5pqE+jJlojMjqsYLr6bgQAtgKRnAwgvau0b76qRO3kGTT0LDsZDJf\nxOaTzUnEBMEfDmMvdpn3d1VC4LEMLl3uLuUVUR1HrpfwrcUuTjdFHf3yIcoi\nCSXtz/M2GrjH9EbZzPaAESTD+dxcEtCm+Fg6RAKsrkw8XJqdW6eiixFBxznt\ny5Wg9E1dp/MC1alue1l8NR+eQcGCL0yGyuvA5RBi2o77e2o4xdS70IZHPVMJ\n9E5w\r\n=JDBK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a8313ebe32ee1c67ef38d5e9ba2b5a4ee2d08f77","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.ac41a5729.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.ac41a5729.0_1607704031123_0.30980660660801673","host":"s3://npm-registry-packages"}},"9.0.0-canary.7fe0e4f05.0":{"name":"@material/dom","version":"9.0.0-canary.7fe0e4f05.0","license":"MIT","_id":"@material/dom@9.0.0-canary.7fe0e4f05.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5b5cde581038e6ecb820e3bf1d03ca25ab59fc64","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.7fe0e4f05.0.tgz","fileCount":29,"integrity":"sha512-ke/VrmHP+eFOg3m7hoIhkaFf6e+bVB7kd19CBt4KBEyFhXmW4BOihuzeT5lTg2363N8vxgCoBVkZsvuTphP0Cg==","signatures":[{"sig":"MEUCIQDyWJG8bzDSQOgUzEGq0+vSfKie8jdvifBX3Pncsnfq+gIgHWY8YIY9VHRI8M9bvUP0tU1pUko1FpmZZYYEKPHUeqI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf06ahCRA9TVsSAnZWagAAiPwQAKC5j0TFuM3MHNUczjek\n21Pe3yrHWbyZeXBs33Wo1/yvLRDgflD/YACAoIKzYXCjvQ14xQUpc91dqNSs\nWXiPnWxTpCZxH7diCVt4/BihX49ieVCY9K+o/oenzcrOx7+jNw0OnBACHj0b\nUNA3yVrZCo4CO1SOaxAW+cRG0AnyxcQ+t2HTy2hzJZvBXOSsJJdjd1e55Li1\nhBrtQQGd6QBE+9DhxBGdQts0jjSnR1WoEZxz8JsW5iaB9zyeQ6ecZy2+NBXB\n29flxhnfWuoys1/XFs9UilQ934mMC1RD82XBBYewQjujeWKK0aUfJurSLoRG\nU4yeldyrgoKvAZ75ZulCldlBkVodG/U9rzaTlGEXE7OhUBAtjEYqrOYxDdLk\nz20fWn5COQXW8CQlRwA3IG5VxngcOmg51oEj80MGliI9PTyLL2AZxybmw6eP\nnFEcS8uzv3HIjC1p0cz+c1v8ffMUPWHU4HWpeMoG8188iZABbWh3E3oaNU7S\nQEtwAvVQ+OFJKJZ3SGVtgp6+LoBK9ZozOSuU5J8a/pFWc4uXuh6aqWNGUDyh\ndYXfXnqY00FYKIhRSyBf2XxIdTaFSnMec9k7OBbVEKY3T3LO3enx+VOozagh\nmknYRE/+mUPCjbfS97ivESUpQwFg71Vvye/StNhkUxIfr9Xwh7rNystcQBs+\nzm3u\r\n=ilbS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"174435b67952da2f175e31e1db54647a2722499a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.7fe0e4f05.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.7fe0e4f05.0_1607706272758_0.45583756037635537","host":"s3://npm-registry-packages"}},"9.0.0-canary.9244508bd.0":{"name":"@material/dom","version":"9.0.0-canary.9244508bd.0","license":"MIT","_id":"@material/dom@9.0.0-canary.9244508bd.0","maintainers":[{"name":"anonymous","email":"brian.t.vann@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f16b77617f292b375aa4a208f220c00b50a381bd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.9244508bd.0.tgz","fileCount":29,"integrity":"sha512-BKownpxlrd0DOsE7cxVDlNqOS4zTNCFVBCF18+SCLhhAg4cyFhNXiZRgg0bL4FOA+No6VxjLLgdURbOf0d2t4w==","signatures":[{"sig":"MEUCIQCOfVZly/b3y0oqeYyIloADUVI48KgNdGXwftrud1mnuwIgXGB+sfLka5BcTSfczPrOD9lP5LVb2mPmj4/EwAVLIcc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf08MfCRA9TVsSAnZWagAAlRAQAI5ujBImJ+V25cEQeVzk\nCBqo/v346CChlmvJiiIxUmXDl8/2n7hht5HR0fVDgCi6PO+hchASzlMc+tkd\nyPyUvvB9Xp0cINXeuPzcI+C+t3Ak5YtEx/MLnAjka7BqjaGcgzvi8g9AaR12\nS8uYwVzBYe5JqYm/4FjzgAx9ydLEcnTcQLv9sV1Aym5BWppJ6pIUJJbPd46e\nQ65pp4Kyx7jptzjadVLbKnrPz3LJqX3k6KAyl7hsLNeQm5MlOjNcudvfY5b6\n3D+DSY712D+9+lUJ03jPq22EFlBRYCwMIPdbCg+lKa4HM+bnzvNtuBNCMHoK\nHIpZaKl+bdJU1pkKFRY8VNOm7edy8jrgnupLGnmJBmlwOdSB6gUSt6qkI84D\nEtqgwPsUxKL+EF8eO2wMHEh+/FCOnnnoETaKGLtCFFGVOYF8lP4WBOWLG+5M\n63WqCPZt+5W2/K0dHQWXX6rVCLW4kLLi6I+rx/0UiN/vQZ3slRhBGtzEJ1Sq\n1riVmOSsgy41ha4n9MOC677Dcku2KAM+ksznBYeg99P8l8PrvC6MU43gZpAQ\nPBLwxtrhqGQjtpSGJYsIXewXSiTjfeWrtV9q+992K9UEBxJokGIodDiBhpAz\nNhebJ8q9S9oR1B2XZ7Glz4P+kuNBbni2uB/HYwXYaxFgQBsdDrW7lPpaqKeg\nnEym\r\n=Wv6/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8d704729c3b4ba17ed088d900fb2ddfd57d5803b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.9244508bd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.9244508bd.0_1607713567087_0.03757154269807339","host":"s3://npm-registry-packages"}},"9.0.0-canary.384a8eeb1.0":{"name":"@material/dom","version":"9.0.0-canary.384a8eeb1.0","license":"MIT","_id":"@material/dom@9.0.0-canary.384a8eeb1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6ee32b5a7a9e9763edc0b1487bcb3f9c9a620dc2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.384a8eeb1.0.tgz","fileCount":29,"integrity":"sha512-my3vLxBeK7rdPiTQNwYKWiVs8wEPG0PuMjfvBIMApxScAq+ZzQLbngSiLJAtSsTDy8nI7E5Cxk3oIAvcyrk9Nw==","signatures":[{"sig":"MEYCIQCcwW7h0zEPjHTdjmrmVzyCVTzezAEoTwOGY5Ls4yJfhQIhALV50doCD8CwYCJjNBwHNFQKWabjB4zh02RDMLJidm2t","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2j1PCRA9TVsSAnZWagAAqTUP+gJA5J+uBZ3MhQYxQ2ic\nLw2OSl68A9kfUAi/wJH4w+H/IZsBrwVAluaMy/xdMsTqhTGA8rYXmD+nNEu9\nk/nP1wGDG9Y3z4IKZLVwCudIf2dZb7vlzsKBVdq9rKpbFJmit6L9tGy6ydTR\npCmFs7897+JcnSM22Q8pkkqFiRvZe9f+hhlrmr1Wf63IfuoJ6wiUsdDuwDCn\nT/pjvqmMPAEWv6VM/uSj2W09JAyxRQMMAskBaIaT82fPcN3HRjTad/V7d4G7\n2N6MF6H2QzB7J/2Rt+nVpO0zf1Dogt+41z37mnsPPlHQxIYpii6D8Ubnatni\n6IcUnAcKywql/LcRTlpNRE5G+Cwbv1kSBfU8twCxQRq1Ku9pf5ybVC0kvV+s\nqgV9aj29PWkgpIw9RHaL1L4s6BnX+Z8/LCngvcoMZEP+soOeEjuIJWURIn/k\nDlw9ad7tnAh2nOloIx5EudVq6Qyj0bBfackFGBGy8CKc/GPjOjNyxxW6HhRe\n9qFyOmUWX7e91r93JC9HuBNyzi9dPvNx2gij/MTRklkaTgQc65wXQd1je6I4\naSnMfBG/2O4rIZtvExOBL1BCLEYcpARp2KeONmfIf6QcsBxRacuQl7y1HqcQ\nI/XUvqfSPs0lgm3cY2woR+F28rqxgUsUioD/4zUDhsspptlGAroeelMy+sZ4\nZsOG\r\n=ONs/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"21b2ddce32077f19c001df17ebc3c8ca9c48f8e5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.384a8eeb1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.384a8eeb1.0_1608138063127_0.69455397601242","host":"s3://npm-registry-packages"}},"9.0.0-canary.eabf9d5c2.0":{"name":"@material/dom","version":"9.0.0-canary.eabf9d5c2.0","license":"MIT","_id":"@material/dom@9.0.0-canary.eabf9d5c2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e2c6b146002e6e49c2fa240a5012e95c2af035bf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.eabf9d5c2.0.tgz","fileCount":29,"integrity":"sha512-CHR0EYKVn/5iJhJsHUFtYW+UENGyBJ12u8iAjh27TQd/QPWeXmLfMR8Sg/LoJjiQIEej3ZNsXTjNSHSvJOjBJA==","signatures":[{"sig":"MEYCIQCWGygZIslKj9Hj7prG/LVT2bxY9B732NkZMlgSeKEEOgIhAPvygWswGK/z3lQxXxK409qu4F2qO6zeYq2H6o5Fk+++","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2lFkCRA9TVsSAnZWagAAj6kP/2bFJr0ba4OoS2f4yf7Q\nbjAObhpxZyyvuTvh5X2fGZ54iBI3hI35lWj+gyVxDY5cXW3jZyKPVdN+8zUd\nh1CmgcIadWuDKMQcdzNv+ZASSbGkwjtn3icptsRymNWAg2fA2jS2X5cOixdi\nTRcHmf+4wtRti83DZSkenAg4+vBFI4svmoFoC5wM/AUsf/BeOmDZACjoHZis\nFoZSyC3UUG+nhhuggWlo64A+W5MTrUALxgSDd6rMHzDtxKUfy0rs+nrPV42c\nA+Rie8KbuzpUYs3ocPYyCkfvZdl3ScxkGd2ab2aXNdIb2CQp8D8OXDBuRPoI\nNPgfK2EGTj4lNiBJ2bELNe+STIm5OvRb1dkgN0p7ZvKZT7pb5DUv81kBQXrW\nXcCYLtR9qLIhbxuK/0yB4QczOTXCfD6Q71rM3sbZsBMJj/jgl/UqAdoxuDBM\nEVvi/eBz/HWIrJvr3Hm5BPxEO3zrP89p8KXZA2upFwSCumgbWdkUBLOKf2M2\n0W/G0oDlDsMDPiyDTwe9XF0VNxU45HMXHMHieLpct5qX+QYLXYC73V47yXvv\n29O3rOwWg/iubglr4prVhszQoSHbaeNHWA5asvf84hv2Web+TdJQHrKz/H6i\n3xJHckkuzDrCIgGIBvn1y9Al9q4g1V+jrJiNHvANOPDWUgFOc/5044/S3nKP\nPMKS\r\n=ZEUX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"78b3a67c04374ddb43be73dc4daf2613746d08b1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.eabf9d5c2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.eabf9d5c2.0_1608143203983_0.7717261481601958","host":"s3://npm-registry-packages"}},"9.0.0-canary.30fdfd06e.0":{"name":"@material/dom","version":"9.0.0-canary.30fdfd06e.0","license":"MIT","_id":"@material/dom@9.0.0-canary.30fdfd06e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"802823b7eaf67f22e03b342e80b260ca6d1ecfd0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.30fdfd06e.0.tgz","fileCount":29,"integrity":"sha512-wvjcaowNkGw+hc7+njV9upTQACmEbT/t8GVVizETi+PHNkhvmkhLd8hlDZwmF0sGnCE1sLOvJ/q9xuOjE+PfDA==","signatures":[{"sig":"MEUCIQCi/pnd1IiGjEMFXNguAgbkIwLt1xhdOxiEmdjuRrClKwIgIckhvB6vIyncuCtUSzAlsYolxOR7qMlxo2O6um57QNY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2lq+CRA9TVsSAnZWagAAERcP/1tX0b2TR6wJKMXcLs8v\n7pLuRpM5DEnRlm5r5eDdR+0/BoZfOTnJUUbn6TNevaqKBxTX3t9i/sNoyP7O\noylUF+15xZ09ELl8AvM8cnYHV7ayHaD2BzIiKCNFejh3TKqcHW7hagA/p5hN\nB73wbXdaR6oLS0kroqtRQGFlPj+PE38gPPG41Ce6Ri2gTwSAPcgRp8H5xSqi\nG4vXdiYRKjZ4lKa5EdrpQPA/qiEmm5HwjQMLsliuMmRSR1NxtLwLnFfAEQxh\nlgnMM1cBFPsWQ/Zno5uS40v8Qptlb6XXOFCDvmDdkm9bYu9mi5Fi4ZDn3ESz\nt7lAbK+LQhwAbt70brs1YV5UqkGlJNPZ9IPGtMCvH7mg80p8wAAXSEZeynaJ\nzyzG0gYU4llBqcIJ1zcFeA2k5yXo4jbdJb2SwqxNqsD9QMJgBkKwE8R97Awe\nYE/7Kq4OIHSutMjICIIMuJELXzCYKa/E0i7+wtuxUg5EGTXibEwgpmmisJGd\niZImaS8qfqplGYWSwprzUHrMAQb7CG+UXoOXKlMtCvE4EgZElgXOA+FMkA0G\nMADxAZBHLsJNEBqbHWo8+/PxAD5DKxZf5U7a744dWrcWF9dGW2FdlSZcPwta\n8K5CmbdbdN3Wg8vzmgWrmLKFFE4o2XlXqiPdj5aqrPMp2/++x3pD07/KHJ6U\n0zY6\r\n=u198\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f9c9fe091a06230b038ac8a71ccd652c7c662b96","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.30fdfd06e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.30fdfd06e.0_1608145597995_0.16738607278279893","host":"s3://npm-registry-packages"}},"9.0.0-canary.9590a8f90.0":{"name":"@material/dom","version":"9.0.0-canary.9590a8f90.0","license":"MIT","_id":"@material/dom@9.0.0-canary.9590a8f90.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4cfeb96abc8b1df6430e720193db550d71359d08","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.9590a8f90.0.tgz","fileCount":29,"integrity":"sha512-/aMCmQ2PGrYGl2hC2fzMnfYvZEjlHmmuU591AKUh06iUEyrfNdbPqGdtx1kNs0n8cMY+VY6ejq3gqIufD3mN+Q==","signatures":[{"sig":"MEQCIC4kX93QvDuH4JD8/zEfeLD49/39Fl0uILKYG7zsE6OMAiADAe0s+96zLJtUas4K3iALUwe89jghWEplvnyu0Vt//w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4i+4CRA9TVsSAnZWagAAogEQAJHkYzsYW5O8ERPF7kk+\nl5tzw7MpJASgbGvvjkYlDrJqD2E+LkFfqzeYidQKcjBEPErpaD2GhdB7r6W5\nIocZsUi8Vn8Q6UnKeQ40vmArIRs2H4Ms70UHOOCKLOBgjV3LgbxNFpDKzScs\nexwNLU+LDR6ZJwTx780I6VQOKRGZrR/PlycixPLRmDjVT/xDsyBv4AWaixZn\nt6M3+g1rRrLc9NxA+Xko0RhM8uNihOsNRBlbX/xsQ8kwc8nseEIdpQKvDbUt\np62oD/9FLp2YDCwGt4FyrUhF1AzmKkH7Iu4n17KaOnA/XiUUMAjgB6/ybbPK\nH469wLdzhsD8o9PrjYDP6yUPNB4wk2sOwTJFcekksFR/rXJgWldAfQl4gXsX\nWzzgXkpKJ7JhZg+pOiFeWJMFjNtWUbRM5yWbUib38LcFY/7C5GLTc6VEwugH\nLmqlA1GEIVtDI8z4+psqkKkN3tqdw1+brEDy2G+1g2T7Lafa7YG51Fuqgl6R\nEEggX7njV1+Xm8u4/9EerbXpfeuq+NuvdxxJtGsHkaDpEpbQzFJUvy/uPMKx\nhRb/Fdo6T8/7SafRY8fZVqsRWB1shg1sJ2IuU4wapxNA//ousCQiZW81ZFC6\nWrYQr5wpZH5rtunf+/WzaiklbQqg2zDdXLdbydVvgUaEwj+E6xxJa156+QRP\nKYj/\r\n=wrgd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a592a11a03887b1e1535d4d49ea05db1b6f72789","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.9590a8f90.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.9590a8f90.0_1608658872196_0.6315016244047298","host":"s3://npm-registry-packages"}},"9.0.0-canary.f89d8b8f2.0":{"name":"@material/dom","version":"9.0.0-canary.f89d8b8f2.0","license":"MIT","_id":"@material/dom@9.0.0-canary.f89d8b8f2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3cc0bc9f6fb91756ca49ce152d24ad56ac97346e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.f89d8b8f2.0.tgz","fileCount":29,"integrity":"sha512-vau/etNw6eQm0vs+CUgmjPNI8vc6blwlvLC/xJ54hziQQ0f+9R96tWuxWsAtti0LVTUHhtfxqqNCQPCC6juRZg==","signatures":[{"sig":"MEUCIQCIiqpKWKFnHkZxR9maQZSRpM/BfcU7ELwdzvVBvEyg2AIgDOkAkQnvJnAJW17b7dx+GSY8TlgajWRcLj/Mg9fqJWk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4ntrCRA9TVsSAnZWagAA/c4P/3YRGhyJOBzOKgCoXAo+\nnfT/352hUuDDsiEs7v6FyGCrWUX6ZA9WhFWeU+eS6GgZe0JGVKxv+mGKuaGD\n6ts52MpftiKA4zQzNaXDvcqE5aULGTlmqxW7kbflMbKww2seP4hHfAfJrNyL\ntz0bhqejxuGxruttwFpp4gX0faKy3+I1kmGjPQVSiip/TniVfVzfNswuJl7m\ntCsIHWVJ0jd45Vp45tl7G0grihORqUzENt8bTjGEDqSpnfsvQ57LdhSqj/2e\n4VWlahubUv3kCgQwJmBi2sX/ki6ovZd1KVL02ccmymcZCcJOCjCghjZzoIW6\npD/uvU/9aHM9DjUewgJa2Jh1ByK1xxg5bRzTdOrgKeNyfSPEPB8j2xlLbQcp\n9WlOYZZ+ExXiXWI/bARJrw8OzdFZ9oGYkB+oxdhI5wCaP0DKIUYUuUnLz/CL\nny95srl1IBAFLCjpC/DtPtw6jLvMCxRdjX8OZXftJrUHImzLLtPUGUBJMNP+\nu3O7LwIxP1FL/LIDCnOcOpSDTSdN8Vp+FKiXwYyIjUnpDoyb9B6ot7DoCFKs\nZg0RG1qCv/DYupLwyNSz9UVbuZ3+WQYeCAjPhrkS9THa6LNm76KKFEE3yzU8\ne8qONfeoAVcddqeKqFnZLfesnKMcwCcc+ZAuGS+18w3twhgfZHhzrvNejbUh\nb0NW\r\n=8C/w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e0d61155aa611a1a8573762d75379cbb25d2e7c0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.f89d8b8f2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.f89d8b8f2.0_1608678251378_0.7438298092089684","host":"s3://npm-registry-packages"}},"9.0.0-canary.fb194dd35.0":{"name":"@material/dom","version":"9.0.0-canary.fb194dd35.0","license":"MIT","_id":"@material/dom@9.0.0-canary.fb194dd35.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"422cc63bdb031c4e687b737a01dc96e504f4461f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.fb194dd35.0.tgz","fileCount":29,"integrity":"sha512-fXSwYKQvEGUlc5cqz5rjCkWxhagdsv2+aVraKhhQKSh/SepC9IyA56+wLXIYb05TH/31KoQcietjNDjXTHRWPg==","signatures":[{"sig":"MEQCIFW4vIQkYVc+Pck0kAe+64UwhYTOE50WdUyQDYD+4Q8rAiBrB6+z5vaL4x7EtUmiVW4BQPRWM75HIjsEkOzIfjGv/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6kPGCRA9TVsSAnZWagAAbfwP+QBruvjiPPf+tGC4hJow\nEVhA3qD/v9JYwbOPmEVOjtU/XvKOLYK34dqnpSD0q8wVyeWZGx8MZ41Cqfv5\nxjbLfBpcd44AjeL+SRo9KZ9BjU8Aqso9SgKaF6bQnhtvLRWwkP0oKgEyc+ee\nWfbvIBLRitk9IGEfsxJ0cpjRDvEHVALUxQx20eeJrlYnIP7UyExlgM/L7+8x\niKVUuKYPyN6rA/prcYFGliviepo3Fmljy0ihUmJJFlA+pzOSrKggtJjrviEp\nO8rj2vVvfmFhob3L5WHgBQC+nX3RolTxcck0KsJ0deSPuKIW89m1TzjwZslN\nnwTs5gpd8H43fYQp0BhCiY8QXGQyP9gNGepskWw7R28cxsjyKjiEvrLufvCQ\n3MBWfpyN9eljsfpiNY6TJ1W2+vUX9g8uG6gjyYCnhefM26MsItyTnZ+rs69R\nn/ar4vbmDaXh0nvvMojiuNIQYov5a5HU0q+NynumgLfwWh3BPQhL+Wm4slyy\neKdFH7ZxkOgsqcny0uuWNkYXrVjuyAjYCzKQwjaW1Fdn15qwXRo46XYBQzNI\nIIq9X4CBjq9Ijsqhi1IzS14LltUCMIgAWHwFfFMqAuB6jwMD8HfyHyWpkxT/\nsV00H1OFi3+RobrsF1p4UcgmnLi0QbU3ZOuJ1hXVv5+Lrhw1IPQiDej8kBE5\n4oDA\r\n=vzwf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"57a5b34de1026133757436905fc54dc5b326d3e8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.fb194dd35.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.fb194dd35.0_1609188293752_0.8782188860618705","host":"s3://npm-registry-packages"}},"9.0.0-canary.64f36e287.0":{"name":"@material/dom","version":"9.0.0-canary.64f36e287.0","license":"MIT","_id":"@material/dom@9.0.0-canary.64f36e287.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1477e1679bd630fe73a661c77fdf6b0a9e64634f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.64f36e287.0.tgz","fileCount":29,"integrity":"sha512-E4V1GlACvN6WIWVmhmLCYEjBYqNxYSNzhDsKcZrGs6UpGm6mlPFz4TYmPSD4TWIyQlPRm/+HSNdOPbNFgjVHgA==","signatures":[{"sig":"MEYCIQDqCmB1VQBW4ykQreyPBQpbQTqsqUaWcgD6TLczbxGDhQIhAOetEDRRRqo7a8Mm9vtu63rSzuM+QrpD9exxSU1mNRrt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6kkfCRA9TVsSAnZWagAA2zcQAISVzPaESy0MUF8loZlw\nzxiDKbsGwiaaSGRWCQtRZkLodQ5MlHlqzPTRhkjDLNfKDPrDydWUidL2mf9B\nNrEnKXgaGK8B5GHEkQpsLmJY6DXytgweGjSoWbiJWDwl5y6t0SfqG2Z+QNn8\nwGnqM+cXYJPyC16x0DDiyjYRM5C5/cQrHh7DFtTzjiygVxGwddP3QpP8zRK3\nIQXVQDCs3vKXZpfZR5HHlpzbylhW+Xn9j9SPUHW+eBzxpRiNLWPT6kjrEcd8\nc30j7W0yU/CRALNWmNUgdqvHN7t8YKoakE/IMN/cfLFgNHyOrsyp9U5v2tL7\nNapGQvq+o4pbJPWcVGusKUpCi3JmIeHm1RXrPodjQcs4gMZnOi1kPDk0rguk\n29HdR8ELjsEFDWv37NWXVJTMgSnRMZTo+5xx3WjXtD6GRL8zySa8tA7Bk2F5\nJ1AFsXxNKOT+VRFinObC2T+NX3BfCM9Uj/HNk1gwIrCprjJK9aLlfuM+VMPp\nkrM2MwXIRPAm41p+BsEcLYp6Cgc2vuiGu7qoi3/8Vt7gaA0my6/pDR2j/D0l\nX2IAcpv1lUjATRXLOlFG1eCfaazdaGCxDurfRPNqCSO5aWER1DOx6aiwpll4\njtpD2Wm76gcNNJjlsO0aGa0a+mAhymkNYyXnPb9jmd5bpnEXEvei8IR5xho4\nKokT\r\n=8AKM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"23f6770d284ec6c17b1aad9913827f8d456418f2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.64f36e287.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.64f36e287.0_1609189663095_0.10744305335791693","host":"s3://npm-registry-packages"}},"9.0.0-canary.b7bbe7022.0":{"name":"@material/dom","version":"9.0.0-canary.b7bbe7022.0","license":"MIT","_id":"@material/dom@9.0.0-canary.b7bbe7022.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cd24df469b29e61e055dbc4f0643e44f23976d6c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0-canary.b7bbe7022.0.tgz","fileCount":29,"integrity":"sha512-9reEZk9Ph+YUKuzGSmaJlp61d+O3VK9Q04zsTq7SEZ1+f+e8s+dVIjTUu0g7O5LAQ3SKBfXbwJwc3FYuI/5/6g==","signatures":[{"sig":"MEQCIDkTwtLe26l/9MiRTHjwBYjw/WTs1l7E0eKH/Ac2Z0PTAiBpPLsIQe7q2h1eiWZ0bFTjMDlfqra6lFVVtaFUIg/2kA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf63mqCRA9TVsSAnZWagAA8qoP/RIiAQeOdf0yWbePIREh\nfw0q0m5l8AgZ+/hZ8xiJ0D6h370LyEzW0UQYjQLpJSopYM6VBNdgCwEcsDQh\n3XAlEgzqKJ+T9JP3AoSZzpi6fdEXJWQmd9fOs6sQVzHnLoZ55BmaYpw2VuYb\nI/Pv5nZKger/FlPSy712hUOuBDKYpmWvtoFQKy1wjDSjanXUbrWkvBluN42T\nxj09g5PEEMGKGhcEXthaW7wcXse+6pwy8oXMWe+npDc4CitfYr4MWcJqJnoZ\n8c2GHzg6tvt1pz8oOpbj6AZ/WcpSuTLYI7qwS/qyr1jxjA2pCJz2gWDQ+JPf\naTIUe7RKfGJBH2veWvjllURqg9XtCruy/cLkERGQHjnzRo7yQ7z7d98jPFN4\n2RSfM/uhLnCAXSPtHGPB1skRRG04eqNp+KCjAfP74CutVnO37MUfwaWmsK7V\nF0lB0IAFPeUfi5TySMZjrhTy4MTKSs1FQGQumRmDrhlL0t+HE1mpWm+1SP5u\nASdJXHRYxrlLLopIyY62xh3Y90wHf0d+ZSASBs39/bHj26+9USznU+WiNUnX\n1qE/L3834YP65JTeBF4CBoH7dQsL/N23krv2ZGAtFZFmAWw3t8W/A/G5bIxy\nCz5Nxdmud382pMx87AnYqDYoAKR2tK0pB6dJ9pemNqiRMQuDVv3C09TgCsgM\nLu3B\r\n=uyVl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"81238a3912ea8bf30c97b0318ac2ce65f297eece","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"9.0.0-canary.b7bbe7022.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0-canary.b7bbe7022.0_1609267625561_0.6377987594353425","host":"s3://npm-registry-packages"}},"9.0.0":{"name":"@material/dom","version":"9.0.0","license":"MIT","_id":"@material/dom@9.0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c2cefa70329e1daa62014ceeb7f3aa3557a53b57","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-9.0.0.tgz","fileCount":28,"integrity":"sha512-SOtGJqav0Gp0efFXl597AesZCuW8Ues1KUyR6fahVoEiP50mq2U3IhL4KdQqMXbQNyYYerl16BVR9n7bfi1a8A==","signatures":[{"sig":"MEUCIQDKf1sEKiEuzGI5PhRmS2bV+2wpsPc2BDcWjfGG17CMWwIgaguTLgzPNsRyg7mvE2yeodrRu9qfQK3TIF2ifHIxrNI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112388,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf64dHCRA9TVsSAnZWagAA5uAQAIoH64lZ6JQmWuse673A\njYY36SVqAS9DrHwd/gdr1FVxNkZDelfN0g5akfKaxbf8y9uxhD0UBcNBbnFE\nICeeV/On56iRJLJCzjf6eAVRUj+yYIMRRPyFCIs29f7H+p3NWABNHBmtS5Hd\n6f+L6gQX2loJPqeYwag6cRDep0HbOThz7JmH9LfNlpRsQ9EvhwNsNfVP81lX\nsxG6QaTCkWxj9GFWJmySrOcoJCiN5fOYr0X2Ug7E3mlTK9cLqjPDeRU9uxTx\nJGqyu1lNrEdNzCQGYuW0q2Gb75WxfiWAy1vTyNOyI+YxscDRy3ay2hl+veBe\nb4Wz9YwWpWcUrWjwAF+/BjqTCnFaOAAbwYvR//UKlkXDmdBGusK7HjWijjRd\nzFeaE+YDd4LgdPub/QHK2J0zBvjfBKx6/EhLFmbzyjQq1CghWhpkvFsUczek\nzw+6HEBriW0qf1FJ7kBeo0r6sqA1Wjo2XHJghfLIbmeb2cscGtVLoJCaSa3M\na120JXJjvc2kFsBOGuuen7LKPFq9uf2JM1QF26HI1nPtc0dPKEy9yrVUh/Cx\nPcMlnk0zNl99B4O35/S8ezHUzHVoBf8uV8J6Fecssb6vV8vQqRETmyE6N+Rg\n1nHmyrDfQ+SuOfv6ep4+ZbtNg7jTVE7oe+qAkrQHXCsC3sf0hG+h/7xzYiCD\nN6lj\r\n=v3AU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","gitHead":"555aecce59125bc3f162b065dca47384bb5822b1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_9.0.0_1609271110805_0.06261255929194864","host":"s3://npm-registry-packages"}},"10.0.0-canary.555aecce5.0":{"name":"@material/dom","version":"10.0.0-canary.555aecce5.0","license":"MIT","_id":"@material/dom@10.0.0-canary.555aecce5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8a2f51fe07a69bd7cdc0459276d99da347d739bc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.555aecce5.0.tgz","fileCount":29,"integrity":"sha512-q/0orABmZFM9oLIGaRd80iMhredq3pBm5AHl6iEfF7ZW2HB3aD7S1c1J291Evg6df9qybp5tYoIjgAZQmn1DYA==","signatures":[{"sig":"MEUCIQCg5uJdYfPz30TsNo1i2qwLyRlczSq6AqfV9z/e4Eh79QIgP/nNcWKBDYorajhLHmiqScXC81S/t6BPngk3YjmVM50=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf64dQCRA9TVsSAnZWagAA07YQAImzJ5S5hipUx8CodDJe\n/gCZbdSh7qKVd+diNeE4OIg24cuorsQ0ABFwsZN/CIJ9xJcmsw1XWJoUR0BO\nZ1Z3YMep0mU+FHTCdiagGfJtXgjSP1Z74Znm72z/Qnl+sDPQf7xOOWYv+6Nr\nuXpOSmgE+qtdpzjY0ZGt95LZH6SCF+JpEKw6Qoy1lSiWD4lJ2nroRGmqy1GO\nPNBHtDydYoTW+3F8d8FcD+GffAp8hvHbipHKTEtRzGKORwndTGM35FIfeWcq\nOAZ312TwsTMP6ul+7d8deb1wL7vKNEnfI5SEQigU4EA6BRJlnMwbsQ4mkvSJ\nTPl+kflaJpc6Tw/iOhXgtRdLB9SIMNxe3EDX+52Z+jIYPUabTrb34iRCM6PC\nmC/P74jyj/tB+/OF51LpmtJi2a1ctYo3aOwvIQdLyJFZAAJi8nDk06RDZch3\nl2B8+M/Ts54l4hHgIds16Nmp6EJCemqINPHYg/+ZQJCoYBlqk56amX5rdrlU\nEr8C4ZvI6OtYPWXpXhD1mp8vtmrqH7jvqxALmGp0mcXKYjlu5zj0YfsvALzd\nHsl+GJ9XHKPaUXaxacECn5hApMxJWT8WxDX+nbSavnEQEdxISa5Dm6sbA/HE\n4OAQk9ShinKy44gjcDHo1aG3JVhiR4qlCRzVYOx9i+ETAVf9YOyEJsf2QRaJ\nSm/+\r\n=cy0J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e455ee4f81b05c032a5b779ad5dacc2b952e989a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.555aecce5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.555aecce5.0_1609271120204_0.023089839124817768","host":"s3://npm-registry-packages"}},"10.0.0-canary.776c18681.0":{"name":"@material/dom","version":"10.0.0-canary.776c18681.0","license":"MIT","_id":"@material/dom@10.0.0-canary.776c18681.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b4b6c1a855abd114cc4b9dd0199c9e11bfdf3a8e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.776c18681.0.tgz","fileCount":29,"integrity":"sha512-9mt9RBRuPEupDsdPxI1J8qzPTfCEPduraV3an6SXJpfX1S+LdNgS6IrT7muKzgCyeLRwHz1iW0X0y62WuDyHHg==","signatures":[{"sig":"MEUCIQCCjnDyPqAZilRM+rXN+vR7RNwZdPRMjF8IYWrZIuV+6AIgaloMqZKM4d69ucPHXdm+9fMO/kZhIvQPxc/LDGi7/30=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf68w8CRA9TVsSAnZWagAA8icP/RN36zbTTzSj/auMWPQ8\nGPtDgIENRHXowvQga1Kkcy0jiDVKLSnN29mvaraMFkmh92iIj08p9PAo5O9V\nbVqQLGWPrjhka4jMCLvxmUsYsH4LDhFuuCI20h++coGmoAIMp4I53k9yWMfQ\noMan9UMk3EZXVr2uiAJBMuCGXs+Mp00WIDSpHtARLLBJSVxF6IaOPDeLKLBZ\na622SdP6UFEYXJEFcrYuVFpGm9vnPAAMmIyFaqBviAoWdlMVrToTWZFf+Ce4\nkxCSUOAr2LQ7Co+WFiTRQer+ywhk0ulfbtqS+EaQ5We05UQdQTm+GEMxnHbV\nzy6SkpGQtI0bBnjw2mARZuNvbZFeWqNj2vcHGckcG6J3OMB05EyxNLsYq3ok\nFcFMjTmHD4s+75v+MD/qjW+fEB1xbZutbmT/zYtiEy0jMP/9PQRHSVioyElc\ncAHJVujJzSRxml2Lbzmxu6v+FbCFpOIr/+X99BWnYvGbaoeN1d7JCqgQ3EWR\nN7jpbsuUX8TsinzTaGMC0AEnvGuNDHyDxoYbdEnu1DjnQL1osd5pNfOMc5dJ\nO2bXbxeQmHDPn9R2rc2VHnksCTuLxFue7KqrM5U/fXLwFllzfpKGrLGHJIAt\nuPxOrOmHyE1dMZGz/OSCMwx0scG7O2xlaQ8PyyfNwLNU4frMfMCuYn2W5cw+\nKtwK\r\n=HnBp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"920f8ec98e9709a32b0564a5334ae434137478dc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.776c18681.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.776c18681.0_1609288763567_0.11632215822115577","host":"s3://npm-registry-packages"}},"10.0.0-canary.671d72d95.0":{"name":"@material/dom","version":"10.0.0-canary.671d72d95.0","license":"MIT","_id":"@material/dom@10.0.0-canary.671d72d95.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fcf00a9a24b74ce3fafc4ffee910016b923fe499","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.671d72d95.0.tgz","fileCount":29,"integrity":"sha512-pLqbKHvX2PcUYIJNspOEAABlgR1x1kLWlmy5yXNSuYbn1mYEJ8wO3ZQu/07fITljV0A1fsdt2ZMMPhj5pPYgVQ==","signatures":[{"sig":"MEUCIQC2aQXWIx5ornG02LjwhRSFxvrCMjACcTbZPQWldLckaQIgO8d0UkLy5y4bEgrfLkcpjg9xWFljyZQkp/PZkbTFRtU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7N7WCRA9TVsSAnZWagAARN4P/jxwQi/DBaBY5B0/C9d7\ncebMzhJMqwl+Eo9ff4YsylanA463qKlLiqmDl4l+UdrKUbm29hkwrODSazvY\n+XtOKxSiZ/KB0BLBjj03NA+U5J4+UzBcbgVbOdff94FfYpwS9OHNDmDSthrE\n0q1bMMUazuskSdTjLUQDF8jrGsF0ZnSE9viIK1tNJHFovsw2O7FoDok/nyuA\nNlOTxWkuOBrTZqYRoXwzZOlM85mJ7ASD1ke0318xHMQcm0owFPYMZS5e373W\nTGYDi2gUkbCbH8n1pypOuhKPFL7C6gd3X7Ei1SXrUVGM+/QrAa6VwwTYv08t\nHbfjXlk7A5QALsaW+7mX0m3bZdycRLq91OPwQNQ7xesXv7vPCC2hIt48xcao\n9p9GOnFeOoainKkcNh7HuX/Iz5Pw1fKIErZGrxCNe5JSR0+wREbDaPXVfq+0\nZRr3Tck+LD1p4BZOe9yuawG22Za6j8xSpvSXyF+91aI/K5B1RXWCtbwWWl5Q\n7wtwi6xoOEcc88VCanueXl/YyeZT+iTdh+e+H5uqFLLUo/XEcj99/A/xvQ48\nvDJ1T5/n9l7s2ck6SN6HmVcK6SM25XAp+aHJhH+gdquf9XY21/qyeFkPTJWr\nOzmzrwwe6UryL9AkntwfG7+iVtz5+PTsV8QMbNvR+jKPmcL6Zt0dTWaltryW\ncqF2\r\n=SnwC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c22803ec93a76c661222622456cf6f5c5a17459f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.671d72d95.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.671d72d95.0_1609359061429_0.8975291926787061","host":"s3://npm-registry-packages"}},"10.0.0-canary.b4f5a1c9e.0":{"name":"@material/dom","version":"10.0.0-canary.b4f5a1c9e.0","license":"MIT","_id":"@material/dom@10.0.0-canary.b4f5a1c9e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2e7c82615c0201e3514d97ae0bf47644fefbb48d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.b4f5a1c9e.0.tgz","fileCount":29,"integrity":"sha512-93ikU6CBuHqyOhKvKTCc+cP2OuUKJdWw05ZLacI/mPuG58eRNiG7ApDpyvkrZp1KlbauBCvFkByetsE1JsfEVw==","signatures":[{"sig":"MEUCIQDsiuCitQrjwww1LU9cXiRDMKqJxCj459Nd+n1pzwAp5QIgSB1vaaDVi9vqpBJTOI4hE/2xjlMLgGV3q8XkObdHG6o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7PUFCRA9TVsSAnZWagAAa+0P/1yd9EINTplsZ3zO9KPg\nChCbiyC+3jXnHWZk8woleeDil+Rqjs6SiNtRLHWBX7EArqIWIgraVYpB78aW\nWhofwQy22DAyBNnn15+FH4nldaxTc2CKUoGBtdvLxEKfkXRDbailklg3bxgF\nqdphQVdhlfXaldMHFOHs3xFynxJGRXCMexZskEk/mAJ/3S2luQYuFrsj2UKU\n+wRB5BqS3OJKDJcdAoDV7m+3z2nlPV9A/DnHUs/X2Q15nEtKZ4lecyT0fTZM\nDeczpmxS6u6AgXWJzbThwNAruY1l2datJ/dBj1jzJ53/Ml1CcHiB56gw9W6K\nnXJeLbGXWd4YTXOMXLgfC4F3sk7uS2fVqh4UtrBAHteLcFlvnMGqVblTmXqT\nPEZT90z21LXDe7uXU2iAkSNEFJBcc/jwwqXl3MuzXWkSk06nloJroQvx+t0M\nV1+U+ttqa8uzV7a2yf+VlvpEgif/BAehxJHRi3qXA6ZbPUCLhGAXNxqDRFiT\n4lIGhmQngfzZUkYeJ9FFOgWOxMZk2sRJ4XnTLpNZM2uBNqYhVjDV69Nl7mt9\nbmgrrIgu6zyibr1+Ao0yT9STzPhyGTnE1oYkZSdhFrIGSLyqvF06y7DxuyZn\nRFPFPtXsWrMGQsVf7FwO97SFgXm7JX4K30SkFPgXDe/IObIxyKIHLwHKmPQI\nEylA\r\n=HKdR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1db47387aa8e99022677270066e7cba1da23732d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.b4f5a1c9e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.b4f5a1c9e.0_1609364741068_0.620121477406407","host":"s3://npm-registry-packages"}},"10.0.0-canary.a94bd8deb.0":{"name":"@material/dom","version":"10.0.0-canary.a94bd8deb.0","license":"MIT","_id":"@material/dom@10.0.0-canary.a94bd8deb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c3ac25101d9e685e1704d0c4e2052012f9e15dcc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.a94bd8deb.0.tgz","fileCount":29,"integrity":"sha512-qKmkL+83MJOSFNQFA/43NtctSwiWJjB2Whs+99fFHGqxZuUql0I89nXr07+8WpxrWqwcpbkZI3klXhWhWOrrLQ==","signatures":[{"sig":"MEYCIQCfMTcHBeu6aXEzlkqnCVDM6Ii9MQAMiEyl4cxYIeZEtAIhAIsm9ozJvgGWSerxQ5FG+5wMqAa45FvUB4WTTAw8aAV+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7PkzCRA9TVsSAnZWagAA2FIP/RvLU9R3rzQj9156tqP2\np+Z4wHxZgnksZv3WKm2AdsbJi5J+heYwKwE4tgKMSeBGtsbLPCk1X7SaoEl7\n25ajXGmsf0qfrmPbNGT8rPItT/MktPyvFF+I6NsWp/EW/FhBdomyZDhhKke8\njo29ip/dcKYNPr8w8NMgtPSAU4oeqP2BEulga64GCoLeZuf0I8tVqRWAX57y\nA3QdSWMQqNZgmny8yHiCu6sEiuT2wERHIvDR+OSqVgC02x5hkSyPGFG3sVW0\nwqZu6umhabcCw3whsV7dIhqcxI5kvDVzd0LWWUaH+9iyeYPsat1gF3ptLbBj\nCHE1rCamduEgFFFyEW8ELS61PwsksU6CBtBdCV4vNjwqCbl4LvXnXZsGej24\ncI5t5k+V3lklM2q6gtigrMoC4B0HukLPMoIFfE/O51MWZHtvpIetqttxwjAA\nBxfzRQJR5DgOnScwPB0RoGnXhvB86siffq4TzLpMp18rNPynmXCREhnpd5n+\nngk4FOMpw4KbbdkhNnFcCnw9U5xxZo6t/heEsCdSChbviMPo7z2H6L1rAAT4\nblJnP1j/mfQ/UqOgY77jOCvu7B+iiZZl8LYtIozna1i0V5Y4Q0Du2f1vNTci\nRsDcXjkQTsfBCOUfPweAokVXSzIrtEf0MIaX+E7R8Shz0Tn4HRbh+MYMawAy\n8STO\r\n=Gm1h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"12c943490c76f911dda3861f863c68d7abf77ce5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.a94bd8deb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.a94bd8deb.0_1609365811059_0.6208645181124681","host":"s3://npm-registry-packages"}},"10.0.0-canary.5d128511b.0":{"name":"@material/dom","version":"10.0.0-canary.5d128511b.0","license":"MIT","_id":"@material/dom@10.0.0-canary.5d128511b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c35645b52d6ea608d514ed5f016533f640779fc0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.5d128511b.0.tgz","fileCount":29,"integrity":"sha512-DNcJLU+E9q6psKw6oUvL/8Mw21yha/yoytbpsivvN2/CWxJeRQk6UeT+h5f8cuF0phIZPvNGyytuaNSyALPEuQ==","signatures":[{"sig":"MEUCIQDV3AStK1dk2onXxoHC3jBq0bpQ4OezlbhaUEG2B116NwIgeQaePKG46o0v/tbgaWY7FZp/zXK0syzwR/xOXbNqB68=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7Pp3CRA9TVsSAnZWagAA4GsQAIfUJYnO5/WTQP8mnwnq\nwMq1tqgVA6qn1rb6J6kYQGSz9g24Mw8G56TNis1t7HU1hfM8tT3P3xDKTr8B\nrUUA0edn83iFJMY6TTdLt3LAShPqwx/8t4nPS+5aZW0Mll0v5Czm63BYsdAT\nKY2R8LCI4qaPWHJG6YYpChVgZsF2PTN3AIf4YjxWvtcDFdqRT8WFT0sgnygl\nEisHOd+MfjwXv8oeoogr8hiOsvLI7Cn9Zu8lJ/MgmB3LwOCnBXkzYKlJaO6e\nJ4Z8VtoT2p61CRyJf4adFfKGsBdunLZ2hSwDr6VKFSNh4Gg/RqI7V5XIm4P8\n5g23+ERNJev07teOpmPftujpTVpnkfxLY95mNqGs7QVkZP8d5q2E9zehr0X8\nGekh3MUQXgXHeirSdHkabYLqn5aFCPf8BxsZKic7qG9z4Hu2oMV+b+CWeg2+\nKAH4nSs1jR+SiJThUFWzRlCDRgTa9UlEsiKkOZ0sm0OVDPG4nZdjmnoC1W/I\nTSJAnbqWUNpqpFVqPArwDQLNg0weqdIFGoun13qCzJUeZvaMKLPrAcdwfGVJ\n+8RZv7SqCBFDdk7LbHDlnmSe68Jp4v5Hh5LIhz//B7lUAoCLJLNNy64kEhMW\nmwIWVucmtbYkI91J+J5AkNg+7CUXP+r155cgAVLaPySOfCKauFmWcvh5zyEk\nl6s2\r\n=LXQN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"05d17b41cbad4a8aebac080f082633a26be09a3c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.5d128511b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.5d128511b.0_1609366134875_0.27130299008579306","host":"s3://npm-registry-packages"}},"10.0.0-canary.365c69360.0":{"name":"@material/dom","version":"10.0.0-canary.365c69360.0","license":"MIT","_id":"@material/dom@10.0.0-canary.365c69360.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bda852d3b6e1312816bc850a7ab5779190714090","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.365c69360.0.tgz","fileCount":29,"integrity":"sha512-yW1o9mw/JDnztI5S5j9l1DH4Wxy+RavQS6hQ/WpOADHf3Odif6Rn89MprYy6Ejp1+vKPMVzfRuueA2I6sAf6tw==","signatures":[{"sig":"MEUCICQOKYeJWMCScIx8fOo5zQAHIZEHWXEhq6vWmQF1EBglAiEAoY9kbMhNwxUAN+rHE1i596qbvGeNERPSQTO0oHooag0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9KYxCRA9TVsSAnZWagAAmuEP/jHxPhrpjtpqZdOgEG06\ncUENcyC6/2ytFfHw6ah3s6efR5Z8IRGUh5O94qWuv4Cmw1aXcgnMB3sBLQf+\nAMQ8VdZX1rvpfw+G4CaE0kNkkt3mPpYpALU1ee3TX4FGoZV6vJ4bNJDSciW5\nlYsB5zPdH1SlkOfYxYRQZP/lnPViZLkp651924deebB6dSPyJxzYO/e1xfPm\nYdW/ZI1mLbiSQgYHUmekpcksLV65z0agF3M/v0KSMEV/uuahTyBcumEXKIKq\nu/EtHMbJaNHceiStV3GUho7G+bVUwzRmxMuxSyazwRK38dU8XMC9IxChN5+T\nay8iw9nsYXAK4B7qnrf/17V8Vo98nS+pdJsoet0Cqs5oL6ckNx0hfC4I7s1E\n0p3OviOAUOqkQPjpsqvamFBTs1GahOYeTzhzslUW4d7WXetDptM8mOainjHP\nCrf38dak3xwsStl2vhpDWnDYEK45t2HllpkAqx7gc1fEOgwZPHSib1UxEKlW\n1LyU54IW9H+xNWkuHs3qeIs3dZMTgtIhezh8zblObyfRZkGl8CBzFIZyVRJe\nov6sO01ZIS8RnaUwb36Ig+lPtG1Jqh3hmqrnDuD6pDJQhZ7Mmxdua3quhgL9\nHIYC5CtI6VdMkzuTK4jfRCzQASA7LszlVSjhs4ogWiiBlVPvjZ4nRH8Gjz/E\nABC5\r\n=sn8g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0b060c30e2974c71db5d5ed87e3ab7918656edeb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.365c69360.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.365c69360.0_1609868848534_0.44025235484483494","host":"s3://npm-registry-packages"}},"10.0.0-canary.700a8261a.0":{"name":"@material/dom","version":"10.0.0-canary.700a8261a.0","license":"MIT","_id":"@material/dom@10.0.0-canary.700a8261a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8941e8693225213cdaeb9f67ea4a90abd66522c4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.700a8261a.0.tgz","fileCount":29,"integrity":"sha512-f73F4RxErbrWO4J0qfEu6uwSEwknwqL4YfkrVlON47qJRMvjFtbo6FiL1mqI4POQIfGQSS9nT6HMGW6iUljMHQ==","signatures":[{"sig":"MEQCIGMgys1BCYNV6IF7/nXJpuZj8MNReRYEtkdUmtn8J4ynAiAdMNuC4nKB4zKW7JFgMgFBPjZnwXVb8XlurK4/ufla3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9NM8CRA9TVsSAnZWagAAipAP/1RvkGy3UWzU6u7DlLE8\nTh7DDQCf2baA1t1/yK2Dr/dw2gzg0G8YuJlxCJ4LC088AF/KICeY4ItYhojD\nHXNVLirpdknpchLackVtfPKDG0f9VlIbCIbLkZW//HL+RkBmvDfWeWF8jehl\nvVzh66JuxIM+brDn2HBQlmo5T8aMBL7p/9xpeySZpH0gCNvH28MfgNDnNYR1\nZf0i4Ayf1z3XcWU3VXmA7xAIINFBfs+PTAO2ZliLKkYu6SBSjeM1cYn46wyy\nFRNJDBXqAT4ZL5BszCsm9oN0eIjYqMhxnsd5CZsDRPhzM0qkyi2UPsejmi9h\njKrtWbFTu9qoGy/+m7L3QbKo4hXim9dWXJMA1tshepiDu+KDkZQjIxQYIrw1\nrXTSixH1/VTzi38tnOoO795x3VEjfiHA0L/7ZcPLSp9kRdbZf91lx3PzdL7f\nDWAsL+OUE3+ZI4aM4rLtVxu1xw/6GACDbGEj5Xw1ot5McxrVN/arlDx3Dyna\nqZn+4zVf+jgcXa2sva2XNhmVwBWngkxqHq2J4feY69jJDGAKWEbxFoGZHrI8\nvOp2fMsFeTv4cpf+4TZNfCLU16tc8SoaV2+7xSwKDaH4twX9/kCT5lQx8+kS\nitq6xyIlgU4Gm5WDyyjl6ceuXbKyWykN0LlLiA69LaYHCLaNgt+kUCxhuGfo\nCRCI\r\n=kvQw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0e9aee4feea82b83f34c723b52aac42fda1cdbd2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.700a8261a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.700a8261a.0_1609880379755_0.5734474170312196","host":"s3://npm-registry-packages"}},"10.0.0-canary.766981c15.0":{"name":"@material/dom","version":"10.0.0-canary.766981c15.0","license":"MIT","_id":"@material/dom@10.0.0-canary.766981c15.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c37a9b9d72f5ad0e2b3021615447d798bdd9dd88","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.766981c15.0.tgz","fileCount":29,"integrity":"sha512-s6+1iAbmI/drag2hyAaw+owt/LHKBxrlHNZrzV5YmplBnWBD9C1jd75binHvpJPrtD8LDpUAdLQ8IsVYthhNKw==","signatures":[{"sig":"MEUCIHo+qYqDOEbxjszfSZAFtresKXRankU81khNlDjZJlNoAiEAwtotnpQbgrhv+kmTG1TTQ+PzjDWa6g+mXJbD9BqCqyM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9OqaCRA9TVsSAnZWagAAsHgP/iMX2dLopPYv8PtzwGo4\nuSXkOwVPuA6gdGlvGdDu3OyReWth2P6nFrXZ9UeGClTc9GFZKA4UGj2VMT6b\nWTmqDOsNbQrAEKxl7lYytWpg1yRNybeGT9fKZ+01FOpbaFz16gKZfW81B/Fa\nTApnkm+dscxrx769qRqAYOMO28gv1iTMd6YYsylOKYJ4K8m6XnJ6EdD/eGl8\nHcKpy6X8PpsagQud7jgbH498QKaOsv7l0jKYsu61tJAV8Zc8hBZpzXPshso1\neIgmtlFpzwHQhk0TEK+x3pzz8x9a247ToqKrpErkFeJ6iwHHGYTlQ7DE1TyI\nk4c0De6Z690snwnVdA2AIxRXxpoZ/+ET4Fo1n+ZeFpEFPF5CZ39d6Y7wXvnZ\nWVr6nO4OWJXAwMhxSxc3TLXE2hVSVF7i10H7iI0DaaMBNXKyUA9QaZ3SToZS\nzt5H67Cb7oBpHCf+Aoy/ERBbLMB07RNt5wwdui8cqEAvvRG42oG38x58LGOC\njwmwjweWbnUdr5g4HyjmLH1E8paRayLgO2j9SjrAvF8fgSfq9zeIJ2UAXaEP\n7M+T6YkFizAxDF0DhdtPMoiSHCraJmdQnIWz1O7uyAeBBpQZQ0tR02EgFU87\n/zgwt4I7+ppr1qn9L22DkXPMc+XThjJvaQVkdWxhIc5Nxb2kdds2A7O6ANWH\nfhIS\r\n=76QL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"40a13adf47648f48d6dfb1daac9ded2f7f0bd442","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.766981c15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.766981c15.0_1609886362304_0.27081368267121886","host":"s3://npm-registry-packages"}},"10.0.0-canary.b28c576d9.0":{"name":"@material/dom","version":"10.0.0-canary.b28c576d9.0","license":"MIT","_id":"@material/dom@10.0.0-canary.b28c576d9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f8efde51469f6affefae0eacf7873e1a6ed52cc2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.b28c576d9.0.tgz","fileCount":29,"integrity":"sha512-vSrsWH0qV8Bj0JxKIS41/WGMYZVKaQ2X5Whv8TsXt0pps4kTRNWMKbk2TfLAByTeqOgeGY6fo4wYg6djctm8Tg==","signatures":[{"sig":"MEYCIQDOt5I4RrKeQr3Em4dnlbKQVVEMLh+niynhIaLcT+xFFgIhAN7nMjn54TdHazqvxkze+Y8LH3DG6/B+OYDNMjbe/OeG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9OzpCRA9TVsSAnZWagAAps0P/iE8mk3uG8MsYs10n+7o\nQbpSOdGUEizqWDM4du0qaREBs8IrbpoZoMCEpO/qOoAAXxkf3tSoyhp2V0rH\nuYcxHJbz6CYTM6Z+aw8KQHa4s86LC0RKQmtUih18c0LxQWyGmTONakzFgO+M\nnx1PRuWgXwnldvbfgnAxesbkyLnlhm9Gao02gSlvnhZ1A27Az4N5tTOtRAiB\n9rhivVDuKjppM5YTv+j0YF2VF4NGgHgL8OzoeIPlOIJxWPY+yFx1mcx7My2Y\nYVqKMcRoHvHKWTZ0vwfesKf1knEey0Re8LEztbU5i7EoxgwZb1+z7h8wdNLV\nQ2KsBIqBbVEs9aZnQCX581rEkl1bvPiHw4DtP83+Li4d02C5DOf278CodJ0r\nLQOLEzv5fNnSXkykcDQwDiEm5Vra+GtDw/M9kg3JpQHB1HBuAkCgFGj7GIpL\n8+O5+dN9fSd8lKRi4fvSn7jQfCjNxBRPQCFrcpNeT+4UKhDp0INjqO4c9+iy\ngHwfEMaQr4pcu7r80a4Kms0Btp7JhArNCEqsJ8ROjU4iR/3LxnzPpBWLO+4t\nDIjsvteiPFIKOu/JPRjNBuHj6N4iKbuzf+FmKTvES4HB6BUYpsIdlJjY0vI2\n7TQBhUx/n1GHn7l6nzT5OPmZVhvacdw3/kDAHPvegAhGYiLW7jIedpIPOUgK\noz3U\r\n=Mdz0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f11c5039e5e02253cd6e3eaebf7ee15629f3c182","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.b28c576d9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.b28c576d9.0_1609886952448_0.2827536820099068","host":"s3://npm-registry-packages"}},"10.0.0-canary.968735356.0":{"name":"@material/dom","version":"10.0.0-canary.968735356.0","license":"MIT","_id":"@material/dom@10.0.0-canary.968735356.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"73aa8582744c2901c095f1177c38a0591621698a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.968735356.0.tgz","fileCount":29,"integrity":"sha512-KBgsFm/5Lflkz5HtqGWzanEDXxxOHF/x583PtDv9htEnMPcgQ2JJpxEZx0Go4FK0IDxnPHDSmUq8Kf3eht5zVw==","signatures":[{"sig":"MEYCIQCeb583QlX9F+wIkZoDGNUJWZu0BBHTq5uDZvLeUbYQygIhAII6Q2dPBbNIUbhBYkTB6F21ztjSb3o6x1nEsp6YxUMk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9dwfCRA9TVsSAnZWagAAQu4P/2gBNMbl4NrlDblfd1Kv\nqL5o4LKq65FHIdFe+BkoEtvDvlw3qLtBdPEpnjgbMQFJQuCTgaki6DYlq7Ci\nSVtoBGsg02Spt/5h7SQxXKJ5cBtcxao74qzRLJCSYiQ+mTII0t07ICvIJb+h\nmRvvIsOudnRPVH1RensNFdmKXnfTAov+hSiYhbJD3N9ksn5F601ePJDd6UdJ\n35HvfEEFAtpxy5ZaVHvju24kQz4Tn7STNWbRaa0N53GUyhEZRQM3UsNPPNAx\nVeNbAGgqMqLSKs4MR3YIj3zp0j98FKT4rnds+qMS06Qk4Qc5D0IRcTL6p8Gc\ngfoiSmp5SVfda6TrSykdsUuCQB7DaOKuk3rozfk98ddJPGkFOCzkkNaNKlRa\nVeiUe63c3Ngacy52vG4ga1Hm4fIYH2V+UPaNjGyXimhvm2NZ7+b9vVnvs6QP\nkmpwFf99WkHBM9lrGbCC+Yzy86glY/G2AxWzNooZ3KREt3q80sQnwJh4gSE2\nKcboWfypsfE8iKScaZzLjDJCmVCoJCvNph1UEDvTeIho7tYc9PhZbQnvwz29\nPdz7dFjmNPFSaCvllOdsa+nnGUU5+NHsRZjvLSS5xdcK5EHryg3ZpXxHcmg1\nsnnjO4fLOJZyqG4u/Xu9vpXG7DGSv6dGZjZ3Bn/qmXpOlSrDjQkt/0949Df3\niY4F\r\n=jvQi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"016bf1732e983523c8ba8007681b058735467018","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.968735356.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.968735356.0_1609948191113_0.9413255887171676","host":"s3://npm-registry-packages"}},"10.0.0-canary.c5e18b020.0":{"name":"@material/dom","version":"10.0.0-canary.c5e18b020.0","license":"MIT","_id":"@material/dom@10.0.0-canary.c5e18b020.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"012299adeef5a3c209bf26eea797caf6c64cf594","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.c5e18b020.0.tgz","fileCount":29,"integrity":"sha512-UWnBnVdvZBDY+M++eT/vj25JKHXyfuaWgWrDe1Wjv7BMzUAnZSCiRUDx3yiUVRWBCM5D2wufKHAZc/pmKWpbJQ==","signatures":[{"sig":"MEUCIQDhSeCLaJr/Tm3QAz9AClLaGpNnzrJw/v/iDyStTRS0AQIgAO2Kaxi+3Rd2hDKu5hYort2PpwzUIqyCxt8uTfqaYw4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9hLWCRA9TVsSAnZWagAARCwP/2kPT7exGg97On25/A3H\ntMz1a3cvW6kcojh999Z7OmhQLRhI1mLWmWQXWY07+4T7uIdcwdw7x+YotqP8\nRHChtS6LqRrKHVqHFAPbALjKYH+wGi9au8JFhDtAWlQQEfHy9PxsXTiMwtv4\ns1fb2Zqic4SUgDZzN1ltyFgzmrJ7CUh+uPDOUq1/HOFJv+T5E1fLHVyJe3n+\noJPfHJgssTFqWS1i9Ppd/1jnZJ65SvPFLNzH6kR7zc/DjT/JSYUQsbtP52Lv\nWa0eYg5pibzBZWxML+QRJ7C5BrGR88aZJo/apQX8quidGzXuIvzAb89zza7g\n8lRWv9d9K+CSh4jVMFOnd7cXyg8VBjqnpsTkiv2RX4Rle9Cc3jCe6gj1hYOO\nxOroiiT+5r5pCi8hliwffX+LMJc/U2HP1km/emlgGSeCNZjxP5ZFiDcz+NdM\ngRDK/j2MlDZBgxia3ztslUne73iCjPaAlq+XiiZrZkFXnYczPRXQd7JRAguY\nuWqkerYfb7+3PSEU8ldo9VRqvruECyXJ8719nL+pwqXTMBgnoxxF/sErf0wO\nF8ONFxvYJ064DoCvaLbDTtPlj4WoCXH3JFQKg0stmzuovMLzJ8krXZKqfOw+\nsckyh9L6EBfsfC9Vv+E4HVSo9lQMcfvqMsiaigozjIifQEtX6buhKqiysxFK\nwr3V\r\n=h6Nh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"16a60c2c89ea18fb88971304d4491f612734e932","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.c5e18b020.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.c5e18b020.0_1609962197847_0.6991835550953962","host":"s3://npm-registry-packages"}},"10.0.0-canary.bcff8a66a.0":{"name":"@material/dom","version":"10.0.0-canary.bcff8a66a.0","license":"MIT","_id":"@material/dom@10.0.0-canary.bcff8a66a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7e93190fcbdeccde0be4d1e8ec3577cedc35280a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.bcff8a66a.0.tgz","fileCount":29,"integrity":"sha512-4uuZMufBpMY2VJFiAUdmhhbn3AF3Hy871PVGzYADBHk1yHnYhfL/IJ578baxOGoELPHBXer5o/sAfnnQnhY4OA==","signatures":[{"sig":"MEUCIQDIPh+/hcNg1J/psjVunzP0gySw1NcHhRBwqmdHgVD39QIgHvLGzhbq953gXU3Ldozhd4RlNbT+OuCeLZ08gspiJp4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9hy8CRA9TVsSAnZWagAAzNsP/2y1DXeVq1NHd0Pjhgxa\n7Apl+NvWK/KZxQpCllgNus0ffDSc2EuJh7I05dAtjXseFI4z/Yd5sx275tCc\nDq9z5coWYVtFM2fQ7nVMaQk95S1C97H4NKbE5MfrikpiDDSp+h/klX0k5mGb\nvEljJWPMblrkG9Jf4WEuuCSH2U3guomp754gQlNBWf5s/Rz6ex+31BHb+oFF\nqRg5AoXGJQNfm0FsltRzBNK7q8IzN0B+7GJH9VP2lQHtzhRvM+7wgreVEUvv\nnTZ24XCLb8kSSSzTQ+qpd87U3MfXYTz2GI6vpYeiHJtdDHxjPZCFCJRIo9e1\nyQ4m/lNuDZX2OWK9CEpjh7XSAf+t9U49+CN9tDJHJasj+2Cdgvqzyt2NIe1x\nn4+Goe3lUDaVsBIjtzH2I2tqjQQHauGp13txvjatPX1PBs/hGcdYEQVYbIZt\npaMMl6mAocqPyeVKK8mEmAIkW6FVMTaCQI+s+yFWvftdgqWGOMEaQua30dyA\n/0gHLFmx/f8G/YPHv4HRwXEm8TDcmAwlx1zew0VoZk2p+7bH5iPVpWMe9kCL\n+AkSe5/C7m2pZOF3QYX/hhfj/DTzt3Wu6kHARiAkMQfLmXQ73bhBAMuwdNv5\nTIzcQcGi4uVuYwwl0i8ZZIVuOmjYWyDRQMILt31kN4WXqANVe5BPwoE8wNn3\na/zV\r\n=btAE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"81af087ae7601c8b819dbada709de8d76ddab960","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.bcff8a66a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.bcff8a66a.0_1609964725444_0.0370041396895302","host":"s3://npm-registry-packages"}},"10.0.0-canary.79328c9ff.0":{"name":"@material/dom","version":"10.0.0-canary.79328c9ff.0","license":"MIT","_id":"@material/dom@10.0.0-canary.79328c9ff.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6f42dbc8b4aa162f7359af7a9c8e6987a5e39c95","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.79328c9ff.0.tgz","fileCount":29,"integrity":"sha512-IOVO3m/nFEYxl+vDNrhNLKPxty7tnGUE6kLlb5N5waOJFWidwYBe5EQMjVpa7q7NMjGnMDNMoyA8IrMWy6vQ+Q==","signatures":[{"sig":"MEYCIQCu6+bV211X2/epvmqmoAnbV0PBcNkj7yjRKpxpgMN6NgIhAOW6M2NWOyaCksQWkHRwb3Vn8D6BW9wNgZGo2NCxFv/v","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9nLxCRA9TVsSAnZWagAAuCIQAJZfp337z7RYP2FPwKdl\nOu6JhP2is7RUM15PSyF9Tk5AqjrUxc9TSdsrBDUq6xhAyARub+QKkyTfaYXX\n/1OY2l4rTLucdVeQL6BIDbnLY06ktu/XiFj4Kj2Yevvd6L67BeD2oj2U0iTR\nZyryBhKeSzrpfltUCSDDbK1xpkUR1+iHzu0RottezjIp/dLVZm2e81lk9/M/\n+bp8cgGOT7dWfFXskkVehcyZ68l/PRj6NXz2/Cmj/ijk0Dpikk4pgXg7yRmQ\nYH6/qikPAw284c5BMCqAv7L/amHomsskBqkc3J/8lh36JWG4cYiqaVIPmYiW\nucFSJr4l7RfipXzS0OKh7EYgA5wt5zgemnC1RMhzjQ2Pfqjh/igALYXk/0/8\nAxllI4c14xfmbscrzM8200kPYcbFpb+8JsLBIjYhhaIaMN9icKNGvuurCRR2\nT3pBSUPWFTM/VLfyXE2DuZEKPN31bvpWR6XPQwo5HLV+ZuxInR8tS+lEOzzW\npXbx7F+Iov4gLoTut8N4BK5yaILJ/dkZRRcPykkRzBTZ4lF/Sj0n2ysnh+pw\nYqYGpLvztRQqIc/YrF22IAEP4Rf/pcUhhYP9+tN1gfjNs3SK0atdVORGmF6V\n3e6M2O/4ipvylp/KMaWqITMRGrEs0KC1bRkT2k5tOEHoadUCTXVncWp+xmVO\nrRmy\r\n=5pkF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"15dd1d7d9065f275f9f9779094b959944d33197a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.79328c9ff.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.79328c9ff.0_1609986801096_0.19913269648595922","host":"s3://npm-registry-packages"}},"10.0.0-canary.121e1f303.0":{"name":"@material/dom","version":"10.0.0-canary.121e1f303.0","license":"MIT","_id":"@material/dom@10.0.0-canary.121e1f303.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e05414b1f2f2684fa08cd08b95f28e0f9f5ae40f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.121e1f303.0.tgz","fileCount":29,"integrity":"sha512-ol+k+3i8+2wmVXHfboRtIiGC+O9s8ERsPcZa6HsXRAy7OM7l46PWeNYqEC3vysf9Su2hbx89HIMBFNEhhUcYLA==","signatures":[{"sig":"MEYCIQDglq6AazqIxbdGEECcQ4fQ5/qNugDLNYvhd+QW4fbVNgIhANj462ZFtX11mnvVVUqHurt+JHq39A433rFN8QAmZ0/B","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf95bkCRA9TVsSAnZWagAATesP/1BS3gFkUp/Lr2tfpC84\nICoamC/eSw0s0GuFgAMhtsqne+GqbXyokXRqqEVkcNzdZ/3p6hI0o6DtnfNS\nRk7Bk7R10kmD1g1MZar2pDfspCTO1WzyEadDeIHQkH3YGGStxgMpzi9EzwJx\nUL3pOGlvPV/Wy2jQytea/i0DpN9LMGVXql2rEenC7G2QuHkbqalxQl0WvUal\n76tt9FUzTJsEvZo1CxyaKREUxEHhy80J94PRounsEUTl15lRad8/0FiAW7oS\n8KiBV2PYRvj4EdjdOa0Sw1jSxyJRLS+MRo3Jz8AnsRe8msKzbVqoWelOwMKu\ni/yXgypPV33Kk7Lxdw7zu9brHE2kifKcUMtvZJxX56RcMpXEAh4N/39XM55Z\n/Ib99JdBvwyOHoiTabzuWNS6Y3uIjqUmgYoO7wY9Sxa9kd3k9b4fk+Fx1yn1\nkM9Yz1ck/cqf830VxcTohrD62gdS9lZ/wdmgYGLA/gL9iNwxQXmBgQn8Ebfe\nLtgpG5C1IRP1tMWxpu0P7XuftUOlB4jPNVPr3Vm4gCLl7NJehUMmFUztzXT7\no1BCuc+krbWrXGR7JhlyN6+fYTCvs8f98yCG3ke/1FUgp6I4F/xDrNf2wfyN\nPCwiYrYyRw2m+hIRYqqU6Rd3vWSHwYerPGjiOLjDvrEggXHmWlEnLi7DjU0Z\n2UlF\r\n=gnM7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6ae814dae9eac40570f13ed9d7b821cceddf838f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.121e1f303.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.121e1f303.0_1610061539951_0.443122424787177","host":"s3://npm-registry-packages"}},"10.0.0-canary.abdd10065.0":{"name":"@material/dom","version":"10.0.0-canary.abdd10065.0","license":"MIT","_id":"@material/dom@10.0.0-canary.abdd10065.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5226a1dc607935c9420778912a10c291ead0a7a6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.abdd10065.0.tgz","fileCount":29,"integrity":"sha512-E7mI8AUQ+eMhLm8hCo+LEW9ee2/y5DK9ozTb2FcHcE+fcNB2qXUO0kbXBXpcDd0smSb7bK7H9qanoyAtbYycVw==","signatures":[{"sig":"MEUCIDrnzx3FfBasvd7oKOMi8IepXO1YAujQUiWumJtKn3GwAiEAipaRcBmmVp0gXTmS1Rzchz2ijHm3UPHd32Ul7W6VGvw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+JtxCRA9TVsSAnZWagAAWkgP/RSOgW6mEt2RSfR+H+NT\nnLCzSWOib3CbEfvmJqMmP6AF6VMpyBS5y7+0z8RvZr7J0N5V0ALId+U75wlb\nT8eL6CFamXYJ0n0yO9Q1M/cIM2OgH1sWr2oo5U0pdEDtoo1oC58xeAQl6shN\nMiaPdLjx6r3xqN60XGBPAgt0nzSiPRivI4gWTVFULW9cTG4WNAN2MW5x6SKw\nhSFhpgBRPbXTGiXR7r5VqnkC9aM33VEbIIW/bPXASFoD4oc+wDitk1FUakT+\nPq8sTJ5B7cFge/36E/yWzff3K/HmqeJem1I00N9NsB6VUaUI29cFMr4uCocL\n581f2zz2Ngry6wo8FZeR1Gw16CUXIMKRmB2J8Zt0HIANizeXqWOKXjn1bS5B\nr3wjOygmUUgXlQgzI8VtOY5+Q1sKcg/7vCvXJXq7sskkYjRsrFTUHBwWtHDq\nSGNY9zuNisOfMfMbLyi+0fXCzCtXUVRTZJ1LtZUKMiLmrPCZzNvcjtVgVVBw\nyBCIc39ePZoCzXBC7QWlORlxhNwJ1VuUtAzACSlvlFLjmSSzHGOypTO+ZrQJ\nvgKZhSb58TD+2fMkAhm4oOOYgSf14Ymevs2ge/BQnAt30/i6OFg7TAYpZd/V\n6/N3xZjTOu8wy6N+ejR5jm3Sl3e/z/ejqRpW2o9xvG3mO4jjW5pxDob5xE+r\nKz4Q\r\n=mMpL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bc8986a19721edfc6facb62cf839cd222de97d02","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.abdd10065.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.abdd10065.0_1610128241382_0.8606365592135092","host":"s3://npm-registry-packages"}},"10.0.0-canary.089de519c.0":{"name":"@material/dom","version":"10.0.0-canary.089de519c.0","license":"MIT","_id":"@material/dom@10.0.0-canary.089de519c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ea67e1737aa45b9b207dd06aa0324a659520e4d9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.089de519c.0.tgz","fileCount":29,"integrity":"sha512-6o+JvSN8Kak6qspqU1ZNnI7tXGpshmOwheg7TZXVCgcUjQDPdKtp7hH8FJlX1WRiV6MdHNckQxN8nB/JejiEPg==","signatures":[{"sig":"MEUCIFNWkufZZq6urAh6Ihbd78x8MezLaxOpyQgU2KjAll2gAiEAjizeS+ZMkrhjCuIAr0uZyVi3zGFF5lfd/20qYN/hL4E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+NqHCRA9TVsSAnZWagAAR9EP/jjetuWPPWFN3pLQRIXc\n135bb+Qcu99K0JHI3gyPSkLCNKfUGJXk47Gp+5V7x16xXvjGOlMb2dV3LCnL\npkQiX+LjW2hqiFYn63NnOYbQd2Cbf8HmBXJB/PDWeVk+30+dP9WOKvIvM0D8\nEhSylq/ykXmxDdZ+p+LtpLHhabUMJhuz5AUPxL1563TZ4Qk4DJGRramMbIDo\nWgIEMlYW0HMqufv/1u7AZC7FP8B7ObiqrhOpN/kflX9o5S2F0OL9riG60scm\nF3MoqoJs6u9Nv8AYK503rn5nMX5E/kX68TDUXqmRZgSl/ebXRUwFCU+aGCUP\n/+YKs+sYdEL5zBrCWuTZHn+IbFd8Hx5ziyahWrmI8NbDcwch+MuW+8mE1eTL\nxWxWFwWItgH5+9R3D4r66cPras64GNjgEHHFrYaPBl2nhui554qKGrM4Zf7e\n2PHBblgkBZnAidUs3h2hU1cMoAHIrDA6/S3m91QpJ6w8W1Ayg6lmQWjA2RdU\nJ2s5yR47P4hyWJe3CiAIYbsECVWRvyTkbSVvQKdknMw2QX6acMaXio6Zet2M\n+1CV6+XrpDveaPGppXcpHVT6bYzj/6st/lFS2RJVgFB1EdW+8A0P70qeKZPL\ngoGp/uJBbj5b/rMMbCHAMZji3Gc06eK1k/jUnXGDdff+QkAtAUyyN1tfGumm\nS1jt\r\n=Sz/2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6a64709b5be73a45401fe82d1e6d126d7312fd21","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.089de519c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.089de519c.0_1610144390476_0.030779710577879094","host":"s3://npm-registry-packages"}},"10.0.0-canary.163119837.0":{"name":"@material/dom","version":"10.0.0-canary.163119837.0","license":"MIT","_id":"@material/dom@10.0.0-canary.163119837.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f9dd137d787eefb4c71e85f4a31618af167dd508","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.163119837.0.tgz","fileCount":29,"integrity":"sha512-ILk9H/bIjAoKTjgRkgXVf/RLCni7zHsVIUX5jAVpKmYzlo9/oEWYIkxDDyrV947I9PfZ910Rj0hVVRV7L7i54A==","signatures":[{"sig":"MEUCIC7JHoAaUYc8SUF7L02/2Y4vp3krDokbNoxdGjR6bQ3PAiEA/pLnx2/Q8x2RTO4NhtLLfMOaDeQ5A75/5AJeJjS1EM8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+O5RCRA9TVsSAnZWagAAKxQP/2sSUo/uFvHzAjnvdC5F\nOGyVEPGgbL/oOwGqN+Bzp4ypCKUhEbNuy8q+Rh6ogx008gQcUC8W1DUQbs6F\np/Cy+LzPktULsbdG4JhQtJEoitTo/WAo3vfn7NRtnCJfMTGKlDBOWVnp9EEI\nVXQG9eMF1bUJQMWIP5Z0JBxaDN2wj0iO5VXcqyBLr6ZygLKLdRuAI76E5dcp\nTslEGa4ZWeEQEBofvj4fP01JczjvzEjMK9mmoTb0XG7502UK/p3f5n2Zx/kn\n52Kn2mlH3toDg/YtQ1HpIpAgtaorPp/saXW/R1LNv7pnBbwcPP/ngvJtH6Q8\nmkdg80HoeW0ynMVpv0JvXOQcNxPYsL8xuIao8gyKrNa494lnQh0Z2nz6Vjb6\nlWDwLsuFclwft54KbskWYPhjLmoWvI4sXa9g+WNG6aO49Zs8lFywV2fZVcaX\n0QqH5VJQLe8um3Cs3EE/5lqMgCp81A4H6Ixp4mT7eXM5rNc1+oKm5KV88hvu\nWDrqX+CQJcAqrUbFoDYTGx4mYTO4Sh9je9hAL41gyG43J88Vb/1k1hnnzPnb\nD0HztwbJU4PaVuVxmkZBs62jCvHfwOyEB8TNQzE3MqZFeKSSv21xIY+vu4Z7\n0JBDuKG5QAFGwiCM2IBXF6XYyf5ZuQXVRFkokI/nfq7FOh43qQ9wOvE99Mjw\nlsNp\r\n=37n+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"86f8af57c151ec42ed920ac445544bc384ce0975","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.163119837.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.163119837.0_1610149457279_0.8579383206665632","host":"s3://npm-registry-packages"}},"10.0.0-canary.b8a1a58e4.0":{"name":"@material/dom","version":"10.0.0-canary.b8a1a58e4.0","license":"MIT","_id":"@material/dom@10.0.0-canary.b8a1a58e4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5371e76dc91006cb7409c05e433a0ad138c71695","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.b8a1a58e4.0.tgz","fileCount":29,"integrity":"sha512-dQeNCuY4FiTyzoFDV10DoQtP0s1vugeYICvar+gcTnib0tqzW2DDbRaP/0slCcJDsS4myUSdh129txlwMBd1ww==","signatures":[{"sig":"MEQCIFRNC05tcb2VRCeYKpV9kcdZu3OWJNV3r1Gz8TR504Z1AiAdfjbAVh9iEyTbJ233peIHc2jEnYRfmcD59i0AeyiImg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/Ht0CRA9TVsSAnZWagAAYMgP/3d0jklBdLH92JWu24+e\nOcNSg1nGoirzz9UiLe2wLbLubhzx/8aYv59eQeohbvXkoUlDBmasNTnMjmYU\ni3F4T2/TOcywBxYVa2DeDRClDAB8+4dwVKyHT4UvyGSaWgWWDzAwAkS8c0v9\n+6zblziy67NipHnp9M7ZdZhzu45gaUmn5S3r38dox9hx+3Th61P9dHTFVq+s\nQS65WfjcXfo351pUghEKeVEF3NnHyRROc1Zwq7SPRxPOL9lYZr76VI91a0oF\n4plNCHXxAFRMKK0IIVHPvX/2UmaAwcil3nOl9JmHWBtjKmIGAR9TbR22jhhe\nO40hUARVp2qRn+e0sdgb3g5lhxQIwhYZb7idt6LVzuJRaTLq/D2Nf1xKDRvB\nN95fIG50oIWgRXu3i/QUafEERvD/yNLHyQ+UM+V4GUT0BwWnEGPFCDz6AsMG\nYYNLSstg8oPMHpZhaYzVm6zpvxVIGV/6Fi9YiKS+tL0XmNRBPsrXI5OOs+CW\neUj/COnqJr2sXPqDNu00mAx3CrBPgApkzmq8a3I4SRO+qG7h+7UHnIUqzUTO\n/YDsOkbJHbQfdSNuWokarNVgmolP2RrU1zKgq/2aD/Fpc2sBeRCDIbOnAX0R\nZlZsIy12UQespmOCdAeVRdfrPmLUKYygzqKlSsanrqcS9Drib/oueWOmj9xw\nZMku\r\n=oxWh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3b735aa03cc784b7346905168638eb6a486435b9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.b8a1a58e4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.b8a1a58e4.0_1610382196213_0.8514292187522954","host":"s3://npm-registry-packages"}},"10.0.0-canary.7584267ff.0":{"name":"@material/dom","version":"10.0.0-canary.7584267ff.0","license":"MIT","_id":"@material/dom@10.0.0-canary.7584267ff.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"44d15788c137d222f56b50f78b81fc2201fd8c33","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.7584267ff.0.tgz","fileCount":29,"integrity":"sha512-Gr9laO1mZpbmUJuCKj8DV2oShn4NoW+qkd5uiumDmSXKqXNINXCxE9Pc12ngXL7MtQYyhiQEeh9eh2MNsPFw1A==","signatures":[{"sig":"MEUCICYwYHUSg6UPC5WNPRMPb/D6qWICEGnO17QOSGZkdUS6AiEA9XGO9Y2//zn22PST3n5ZhUxyskRNOnhXMaZc9wrDQ1o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/Pc4CRA9TVsSAnZWagAAp3AP+wQAAurayyWkS8tzc5Yt\nZxX/JN/I5yggMKT2eN/CEbziB5/UJjfcIFtP9Gaq2wuPFDYZwbCJxj3a1wWT\ntB7H/3vgZP1gfiD+vevSSS8dw1gb+WCdFSE/Sh8zgON3O6F8xEg5mIPFWQ5+\nTc/MDEwQ7S9boVZZRPqx1T+LI/CJcQrCcXZKbLzJi/iLETaOGnR63VAwBVl6\nRGBaR6ZhFcMK4AxfwmOD+ktWES9b6jdCQ/18Dl0wErODPkn1yh/EbPm69fWP\nw8FrH8c1cbkiibe5DEuYhUV/EjyPCBdieECC8nG+K7YvZuXcjKyjym9JiTqQ\nI06GUB2en7TBP+N2TthOF2WOPB2S4SDTscUIoQMlAF435RCsP6kW5xaRuNEc\n52qwJv4+D/rOCTo7oeWVNbyAGygO9gEWQQ8CbQy2FtREuhyHRqSflKH/tTCw\nMggw7XUud8syLfoKbsay/QjsdO5MJ1SUlX0d/nA6OYIYVIABRk3UC5QQPgPs\nak4dZkn94cWIVPpifLJMk3pPfWuDWIaUZGDJk3nO3jXnqvZa2dbCJAXimPmM\nTgGeT7TgVqfzkCTrslWh4MunwYL+JLWvd6hQ3/GzTRTOX/VDGm5tM/+nvcXs\niS4H7xq3D3ZkbnVCBomYY6yH2ZBkyMs2w5x+DtXBZzNueDP4zr4MXQ0/8xgp\nbqV9\r\n=U4b8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"89cedd80674ac536aacf2762f084fd7d1640873f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.7584267ff.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.7584267ff.0_1610413880268_0.47641197223440446","host":"s3://npm-registry-packages"}},"10.0.0-canary.251ac04c0.0":{"name":"@material/dom","version":"10.0.0-canary.251ac04c0.0","license":"MIT","_id":"@material/dom@10.0.0-canary.251ac04c0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8450b1cf8ad408c8bb6ae10dd49b2446154a5b46","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.251ac04c0.0.tgz","fileCount":29,"integrity":"sha512-7rRjdynFlZFqBWcZEbfLqQr4jM0qJxkBTUDJ8Fmi9DypVrIvBAJKsDKDrrkkduCpgEkmQyLXYXs4kgi38a+kLg==","signatures":[{"sig":"MEQCIH+9MKBnScl5xlkNrQnXdgMzcj4s450HFdMxzWra4LIAAiA9n7N4bCYQWS/QDXPsS/qw/kHJs/OI9q/kmqlGu+1Ifg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/f5iCRA9TVsSAnZWagAAWR4P+QGUoiLSHkCOa8Ff+o8d\n/vzbNxdGBw3SXrOdgSa4Bi1pp5Ne8ZpPtqgWX+dN0UfLoFvkjtVOfTG3IbAN\nqf/0HKS8IR/02Rhj95QUyCFQpMyx7dwq6Bvc5Sn0BYRCudGpbVBGVGsHdotj\nvf48df7maESjgMfU5yBWkzxWXuvLGeuL4Hl0X23mBCg5qlyMm0ddmbj2v7R0\nFsc2mrNOE8YUTXNZkE+WFOfa7/A6iZd3AWqys73ntTUgz21BKFxRa2blB6U0\n9CrEbH/6/vdXDp7dFc1sY4C69L8loiNSjGNhOJS0H2nqd8oKCkrsIEyoMuOO\neK2AEdvpFgGZ9a/YmlHVWarz7FFtnWTj8Nw4Pg4mgn6hUc11L53DcCFiQlT9\nzW+bnIveh7vqQQWfE85224P4CoMT/wdefJKd7rU/5WpAbp6s3pFc2gCSuLS4\n/qjlUB21VfJ6h4Zx5I2llS7BGaN//7xHxQ19F2cQPNXhg72sYmsI+Ld9wrnd\npwrHMxe1I5lzKoPdbVHR1oAy9p8FRnzePFI6BFV4Id9Q68xPHUkLuDL0UQa5\noOSAiJzXDxtl9jzx4Lz5ZApMu8/JLn4vcAAS6BcFVm9/14uaU9xTss2X7Itk\nydf/kBv8cm5y4p0Lu2C08oABs3XgXED8jqzZ0i3JW56rdaA4iaojuR59feQV\nZMDV\r\n=aEnM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bacdc97357600156630f8321ac8a3a8746474194","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.251ac04c0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.251ac04c0.0_1610481249768_0.9076961847199183","host":"s3://npm-registry-packages"}},"10.0.0-canary.772cc1068.0":{"name":"@material/dom","version":"10.0.0-canary.772cc1068.0","license":"MIT","_id":"@material/dom@10.0.0-canary.772cc1068.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b5527f9457491b4fa742b817bd1e9cde14a28c13","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.772cc1068.0.tgz","fileCount":29,"integrity":"sha512-IV3Os0STDzW1imVl4ppP3TGcsIKrWwS7ue2N25p/bYkDcTQDFcPXsqmgoEt8nsGZh3K969jgS5OjqNVDpwy3Zg==","signatures":[{"sig":"MEQCIHO91aUU3lC04ViwOHYw1vLrqXsY4W54vZSo/98T7so9AiBCk6QmU0Q2Q3rAcPJ9YncRikIzpI2URHy9PXiNFMsIUQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/4rkCRA9TVsSAnZWagAAe/EP/2jC7R2gLrmPL8PCmpA3\nnkpx8a9OdG/RT1uyhV/YongNdksVyZS4RJoz/+EkcdRDbx6yyHe417uOlVTQ\nmmkSAUPbnuVawWQikPM1+v1/hR+92/HdidX5Jrd9hw9SCULQOPGq/Zfks1Aj\nJm0J8faxM1KfcyF3SFB+OMBAcO3nvVarIfkgCpEL3lYC3tbCpiQ/3MnlRcyN\n6uO1smwzj08s6mrZ9NdKnQHfzPv2j8C9Htk4LzqOZOHEihZhBre/P2TVsVES\nsIZRs68oj/gaRhaH5Ur5zl6gooF5HBxoM/95NOkZbVszdJcW6s7KgqAAYXoC\ndmDr7jkX3KUUlF6YMx73mu+gFke29lSiTdocka0TdoTgEs9Tx4B4O8qypTo9\nw/bBY0UCeN0XaGsk/6LZ7HqcK0pnHH1+EqsMo/nW3I5PHpmSSVHzKuRV/Fiw\nfrc8VzWCB125TCve3uNWFaSBDkFeBOqNW10LK6EUj/MJJFXSMhbL00GPgXyf\nHgtQbj8CktTiNdhMVPgeWSXIlBfVfLXVFbx43GqzkSoktLbsvl/VdsKyn0+P\nJIvs81aFjkxG7cI7gwXZ20gntILYAtdEsaS/5L6pLoervaE6GzqjVDQXij55\n7HQ3jXeyynpCbNe/fq7bi7kCr2nz91HPuI04FmFwftcJCHIv5qPtsaX4fzlW\nHvZm\r\n=P0Gd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e8dfb103b25351e76ae27e482ed4f13c4bf997c9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.772cc1068.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.772cc1068.0_1610582756397_0.30745104522061806","host":"s3://npm-registry-packages"}},"10.0.0-canary.fe13dd130.0":{"name":"@material/dom","version":"10.0.0-canary.fe13dd130.0","license":"MIT","_id":"@material/dom@10.0.0-canary.fe13dd130.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f45497601b0df2c308f09de956764194806a9e6b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.fe13dd130.0.tgz","fileCount":29,"integrity":"sha512-a8YWm4Vb8O0CpEtppnw5esYhc+WLgnuKCpKJdPYInSHeFanbNFdHb4zNvD6WJzFJgQwJCZ/qVGco3eMU9zihmg==","signatures":[{"sig":"MEQCIGpowUQ57bKCIXyy4Axi2WvJ+OIthEpHMEGJbpM2XX9aAiAXyfcI1fR0hKyPWJ7mGrX0kGPMwuml54JUqAWi8xEFKw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/5nECRA9TVsSAnZWagAAzV4P/3wTpaVdtfR+kxrxOkGX\n0WPLJHF/OllnCedLJhzxz5yUidReEKze+w1YL4hI9TcyOzobw77YOX+ypzRd\neVdW7Jo7/l9b7T1fxr623ZLp+ASXVEr6U9u+HYlPujIfioRubwQQufoiR02f\n4jjQcasEFRXz0TFAvY+eDwy/4e9RqlKv2IR3Y03tgc8aCQTZV8W7qJ5kyBCV\nrY9gceDsfCtLnmXb4/RenaBZKaVwapPrJv0qsMZ83T3M7/Dwk3x/KLK6Z4UI\nZoLOQt7yp4szMzRPWhqG1XlhUNzH3I6YfCEn431mP7eAWwT0JXnW0gUZs2rp\nlXfcLSn+OHkeMSark1+qWcg8C08Ibm/yo034LNrSOiLgWw80JPc9Z9b/TEmk\n9yU9spG6ZYkTFPJys4hF6X88j+oP5BWdulHKeB9i2/2x4ImZmimvJotGsOZv\nZ+2Uk/jsTryWTJAMYMTzAipXmtTWPNR45a1LrvfPNA8bzRi3cpBTwLyEsxYV\nFnUSaev0VbjioCgD6ddoPeVKsMF5XLukeol6CcKWZr+ecCMXKrM0WySIOr/W\nki6uerjEnXS7+ufHn6JzfDhky2fwB6mPh7ajLqh2OBadrs0Ibzl074l2J+FC\nZ+11q6+jx+r90h5Qsgv05qgA6IIVpvsor8NWAqq+1DmekOgypk7lWfqxfVi+\n2Ak/\r\n=DCrW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8825c25e04c8e88b7430f2f8e148da8a9197c02e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.fe13dd130.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.fe13dd130.0_1610586564236_0.45759740515170444","host":"s3://npm-registry-packages"}},"10.0.0-canary.c7c5da28f.0":{"name":"@material/dom","version":"10.0.0-canary.c7c5da28f.0","license":"MIT","_id":"@material/dom@10.0.0-canary.c7c5da28f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a6fbe597da6ff2b4b73025dd78cbdf3a394e805b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.c7c5da28f.0.tgz","fileCount":29,"integrity":"sha512-A3mZHoOD1YWHDeMJNHUYMFuvOwaSlJsr2rs9e0uc/Zav+sxsKUu0oonWyh+AzJeCZt+4PVPV6DDvCX9bXIxKxg==","signatures":[{"sig":"MEUCIQCGHGhI4ACBLU6/725c3LOu7pBSwbdzOOkP/9obXJBO8QIgRusyzupf45IgodrZtDNx9lz4021OkmoQmVrf1J4DQX8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/59TCRA9TVsSAnZWagAAc+8P/RPQFntDGjRmtiJM6Mf/\noy5c4imicTnJjfE3LokdP61GftKBy0hkzif042ixIh/nslmY5j4UYgFQCPhI\nCkUo/r3vYkwCftDC+y4eR/OcKnB4oNpr8CklKymXA3Je+gBtOO6TyFok7qvQ\nt3y2rYOrBZzxrIajY4wCFpd/WJwLANgDm9YtAeRa2IZ1sfFJQYDgQFd70/Yu\nr6KrmBvMdGAJepFAG12KPwxId03LadBALai3U2UinOeKn00PoifkGi0bQ/ku\nhvieljl4FXJQlPrt30r3nTcqOhZvtXYPwCy9ulIe8Se3aKEh6aA9LhR5IW51\ninTgje2Ao2+OpfY5Wqf25zF/o+vqkKUqeS0tncyU5hOz2bCTvcHfSOnPFwl4\nEzk1KedwYA7VqxAYutiFJec+22REh3CIDcqwISIdfQSepwMrrnt148mrY9TD\nHTB5tRDwpYfs6oJqB++s0YyX+/BIbPbAVsg6R9Owd26kD8vv7OijJYwVJ5cp\n9WmVkeFpslK9NRvHjovqXQY6PTfdVUtFWnimAWAyRHvrpN/nBz9Lg3jU8elS\nO442KatXJesNasv1cjMNI7ki4IPlzp7de+kTg4wX77sIn4WPw89b+Q7cO3pU\n7oj0mFN2xMoo9Sk6LZQDEvIp56ypNx4qdjKVlebA2FWdVVUCuPda0TKGtl2t\nM7HZ\r\n=IBn/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5d3f3a72d4e9757f2993684a89928b04ad29c6a1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.c7c5da28f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.c7c5da28f.0_1610587986599_0.7947054225181751","host":"s3://npm-registry-packages"}},"10.0.0-canary.b2faa116a.0":{"name":"@material/dom","version":"10.0.0-canary.b2faa116a.0","license":"MIT","_id":"@material/dom@10.0.0-canary.b2faa116a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d2e02669706ffed0164311db84affc885a5e238a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.b2faa116a.0.tgz","fileCount":29,"integrity":"sha512-pvCqffwRfq/Rz7FPc2gIu+eQtP31iYWnEO45el9t7ho69Qs+/yjif7Fl8k8o4kxSBSA+O5Vi54YSS58oe5MEgA==","signatures":[{"sig":"MEYCIQDeOiM9TgtfZRI0L+UDS4dZo/09AI2iy5xSDXg+DP1/dwIhALnZi9m0vLtGjpiLafEHxs++NTpvRCPD7jjZ42RNbQd3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBzI3CRA9TVsSAnZWagAANnYP/3NsLiAXeAVuEMLGqY22\nXus9lMtWcx4Y8o++ElGEEnhAH8xMWr5dSLLwSwHX5o5uRaDV4GXFFtXW91FQ\nMHeyLZBXQPXJmBesVLg0CClgT0Z41XvZZeOurDf51AWKIMnYnMVxlzCueUO6\n4urT8Vo617+cRp7gHdZUc2iQu3Jr5wBOTd4MWOyVnloBS9W8L9qcn9n34ySb\nQEEsbNQfB6saN5cS/ySm1BUbuMSWsRjKnjtWg11Zml0Prif9ut3mEkopVYPb\ni9Zxmt91vnryE7tZam9yoAJZnave9OKzlvXF8tfSVHN6Iu2/81dXjVr1aXMT\nVhz3Ho9XvUXAHWcdBbTOvxvC2KJFxQKcU70+64PCEQkwwr6QtIzAzRiWQxtQ\nbXhnJNRoKMFKRP7WkjOIpxCzFThRh0+h2zThErqIYQ9EsCIP64W4QmJDKd7o\nLUShVxPdujOnbf+YNlGiDV+cIQisNZ+nrYJHTxb+Npk8RdMqfZT3raArxy3z\n8omDuj3hnsCa0//SyVSnAxVK3ilri+dut2ogJQg9dD4BoCEv2ALZ9jBV5KG1\nkNE5DvinF1baPJWbrm6p/hEAcxt9TZ1S9RPwQ6tx11R0OiXwGJRITdJOesnD\nM9sSdhr7zsce4wOLwgP2UzRDBtQDprhGypiuYAiiBnqSM1JYwe4ZkTWTrMjx\nLq18\r\n=cboD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8c83e6751cbdbda8095b6ae0686196398066d600","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.b2faa116a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.b2faa116a.0_1611084342986_0.8831789305684168","host":"s3://npm-registry-packages"}},"10.0.0-canary.0c95c9f7b.0":{"name":"@material/dom","version":"10.0.0-canary.0c95c9f7b.0","license":"MIT","_id":"@material/dom@10.0.0-canary.0c95c9f7b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9a51ab62662babeae8b03c0bebed5d6689feeb7a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.0c95c9f7b.0.tgz","fileCount":29,"integrity":"sha512-buCo7/QJa4jS+G6por3GYk3WA9YUm2TVjZmmpvhTRf8bbngNHNMaRhg4mJlhC2MRxVq3hfisI18rV5qbJKmmCQ==","signatures":[{"sig":"MEUCICWND420Ie1ExbHI3qtZeDe/coeK/bwH9HbpP9umXlsjAiEA90ak1a1EJHWKoTI0R66dL2wvHm8K8Ozdna0z3lwb8u4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgB2LOCRA9TVsSAnZWagAAC60QAKFByT2+3Ed46E4DyhYD\nwU5AWKcW9vT1LbYamI4IKL7pPmLVaWxZUXfZZlFcW7byeA5bTUbL/vXIgRZa\noNzNs0rjYYY52H57t3zLXXnXDccFpzyc5Q4Wrl/VQQchb7f9jFe2ubvhkreH\njh52oQAhjDYRbyT6ks2uXCv4hqqjztSGkeL5Aq5C84tMNzVhpLuslkcVdBTK\nrxxXvmdbUv48LYqHDV5tTzGANtJNl/OpysXBsBK+e4NdHyr3oZ0z7z8+BArE\nB8bgq/Z2oqoyabL6EW0Ci6O+cJpOwNc2hAZK7M5+mw/EwAZ/3DerTCSASxXl\n77iI3uNGoGpU1H02t6DjnHw9QyK7IjzfBm66WAscjQ1SROTYUrsbToO16nx+\n6LvTceuiYiIgQdm006sTMYJQ5ceYHkGsHMouJUi8pCwuvM9TwwswrhT05UOS\nTT3HI1Gxmu+5GzhVkfHs1+WGF5MbyihlzXXP7KDzZtxwu7kM32/LaXBYcgmX\nFzggF/Q6EdDef5hYJ3DHdHkcXokzJ8YgN11/gOc+u0E4I2WSXdv6BBSmkW9e\nuwmEWw0Tm2vMJfhhTBZxyp7rTjl/yjLraNG+FXvL2yqRwG0sAOcSEsMwNmeC\nO5UEnBGvn6kXg9alQazSFRt0sp6yF/e2hhymGyqptmxAi61jLB22MwSfIZaV\n+QQM\r\n=NRXm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c9db31c38cf439af3f1498600e029c2dd812acb2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.0c95c9f7b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.0c95c9f7b.0_1611096781512_0.027628125211747623","host":"s3://npm-registry-packages"}},"10.0.0-canary.5268222c4.0":{"name":"@material/dom","version":"10.0.0-canary.5268222c4.0","license":"MIT","_id":"@material/dom@10.0.0-canary.5268222c4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"66ee4d569c5327bedf8fff1345d4601500408f9e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.5268222c4.0.tgz","fileCount":29,"integrity":"sha512-vWUST69u7F3F65pS7VzR9dO0JFKDrTyU1PnUONdLwvUtu/RdmsPvJ1M230o6dP7HA0YZVAm9PbP2YGNw9MhcdA==","signatures":[{"sig":"MEUCIBsPIw5vUE1BjjuCHLNwrXSUEEQAojaFGLoUn66NEtqhAiEA/Uu3JDYgHaisiFOGAmLPBnCqvjig/zvgn3vwsNVSvLY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCIH5CRA9TVsSAnZWagAAa6EP/AjN0egwmla42+WoZfca\nx9LT2ksCzUjXRpP7p+7auVQu1j7UZZRSbQgJR2iWOH0+jwm6A50uaS12aHs7\nVdFXYHLqp0kzrzuO4uNMVrUf7J5LShoyztsfXQV6ce6jsYo3jQk2vZ4NDur+\npOLqOLidvnCScpd2+5q/hMQ+uUBYxiok+YNNm4AOhecr16sYXwzMm4+enbrj\nCwCrmYxkPtCqTOAH/o/koau6LKs+SHZ+2BxaBGJuUhrSruDuXoc4eBk/8Qu5\nVNVgjPAdIE/ZExRlZ4PiTQx0+zTDtNg6ugZ7DRavNxcV8Mvj1PyOpBHjPCoM\n6k45mrN9Qfn0hit3NyXdMNiy/Rrl/yHlYYLgwGltqi/azXUtdYOJcnj6GZnj\n1s4P8CnjQvkypjLWTCz68HrJa5fBLTAMgei6geHSKfFIj5/0nmbnBiIR2I1i\npukImB047veeZkSa9BiISBJY3/COBKnUoEFcDoXdFo1G3su/m1aKHtU02k+o\nl3uzLrcqPkJUxpfDCgztyGHmn3Ugaoks1XpzRNaxgZQauyDwUroBpT3SQuMy\nb9OxL8dOl8cPT5fXg4frpwLKPSFZM2/dUvHTbhJtvTwq4bS1fbV/IujVVraV\nj22NHpPWGYo9py0sAfLig5WM7vWFeRSqy4HgzBZNpSSQ8szZERtg6BH+1/PN\nsK8H\r\n=UARM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"149775a975bdac97e3f25a99b254c8b632e6ebd4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.5268222c4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.5268222c4.0_1611170297291_0.017558979039145495","host":"s3://npm-registry-packages"}},"10.0.0-canary.2ed2d829b.0":{"name":"@material/dom","version":"10.0.0-canary.2ed2d829b.0","license":"MIT","_id":"@material/dom@10.0.0-canary.2ed2d829b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"310fcba67cf9b51f4cb6b9e638434d08ee8601b6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.2ed2d829b.0.tgz","fileCount":29,"integrity":"sha512-5vykIHoJKgxSkF7QvMj2vIBWYhwYKZvyaKnM2CDO7lVA2WW22ez+hspwsgUEbcXZ+D3+JYm2sdCbaOSWRHC55w==","signatures":[{"sig":"MEUCIQCp7fVUDIPDxq5OGBx4Zbwf23tczFDeKAS8EFHBxqxrrAIgL9pcxaa0jCNP85c0yjJZdG+gCIG+c6Tx0kMg6wgUEvg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCLeeCRA9TVsSAnZWagAAq68QAI394PLnvHzoywngltVj\nYVBwM1t6y5wGLF/ZCqiC1h8ExqEZQ3kUoAVfRUx0Zd7rmDgrOPPgYKph9/2B\nH0syOEZKFIMVZD/GkjzfHbW+u1oLmsKSNGaoLggu5kTKYLYKYah6m2Px2CJ5\nao2jDHbvaEe0SrQYfvUyBZPToW0EssRPK5Axp148PhKH61tU9rpOck3ssCZt\nDVmL/3Z2Xc2bB0THQ5hw2kOmzScrXdb/iAPYSu7yQarutyZrF9knHy0vH34C\n/etABRF/u6qqWaXUrEJ6lAS3QpgXcQmQ9aH6zDNzQ1HG8qnEESCyrD7Db+pW\nV+tJ5qmm57BnZd/+lIX9OrFyHEPLUZCUiAQ6M0B6ZZHUAUInuhO2ZjMdGrTV\nbgLBy4mgkgMKjwPNGDps9Q4onabuaJtQvIrAzqXntz0pLVdF5ZzUDd6MIv5l\nB33NZ8YsC8p/wzV4/F3a+T9JVY9KvJfb1oXf6WIhrXbUOg5pKkyxo5YOMEY1\nCcgXqjteTaDo2P7OL7alDfelO9imR5fahX9L3FWLi4I1yROllcNVcDcDF8UV\nhHXjNVJ085/J49Q0fR4kAJ4vt+NiXmYp0ofcGEPLBB8NIuOA38n/FdLhJoDw\ndvid+icQp6J/AM98zaGFNG9UYloxeBlfFoz046WHOoAMvuEqqS5baNlIYBPv\nSk4V\r\n=x0qk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e937a8c393e2170307639b8126f0a461ffaf9e6c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.2ed2d829b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.2ed2d829b.0_1611184030288_0.9481700822696226","host":"s3://npm-registry-packages"}},"10.0.0-canary.df00c2b30.0":{"name":"@material/dom","version":"10.0.0-canary.df00c2b30.0","license":"MIT","_id":"@material/dom@10.0.0-canary.df00c2b30.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5a7eabfc8bc33edf4cff2169ef2dfafca3b02fc0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.df00c2b30.0.tgz","fileCount":29,"integrity":"sha512-ufqu2Z1XPqcugkKY4XkhHuQXxAxnYDee1nGKWjTzeM9hXHMRHZn+J7GBnKrJ8lt31fBEQyrec4PjLl8qykIGFQ==","signatures":[{"sig":"MEUCIHTMaw0Jv4C0IBqd+b+sXBYMm5A4pLzMZ5e6kXTRinJxAiEA2xbUroEMFsNKNINRYUOb1/pr8I/LS60a0AJLk3vQy3M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCdvVCRA9TVsSAnZWagAA/QUP/1XH9vpVmkcFsQouZ9Jy\nINPwv+bKzaeGPZi4fupjhI4uwfo3FfXcf8/lGAmObrJo4/PtBrz7qzuKsI9f\nqv+lqBoE2pGhbz1+26OMkKdz39YuXsF7NjJ4d90adgX6D/WFs942LP9u7prl\nRB+PQXzlF8sawMqHeggbILGiwTb4kgjB7A9HBjJRgnYPh6a1ft1BpRg4vBJi\n1WL3Te5mWcSdeOMFvMkDHcG/ssx2yR2IMxvJk32wlWzJ7W+BOWip5dTyZ5Th\nDpst694VqPULqSALdkbp+w8N/We940u560EtR60oZziFV1niI5EoJDCnII2j\n5Tnuc5R0hmebbH2ZnFVhqbKbjXRQPfoc1LrAih/AKuO1/HgDClwdsJI7FbUL\nIR0Y/yvYlxeSH7Ude+AM9e5rTXVtFxtKxp+O7hrSyQmhWozvmlr4z/QVR+3V\nu+3HMypMuyaA2VvuNyVgyMQq4RcF/rQXwrbogQajBdnGnqPkul+0hTOYHt+4\neAVSVD0JZK8yfzdDUulb0Y957blafkXFhqrOhz+f/qRFvQsH/vGk34KdszYu\n28Vdaoo76seijxosIQho5M9IlXEkdKC6ORsLqDvIa8T+hRte3Zd/0jsX7SuP\nLTjppQsFUtP8YsTUmd0z/aVkDLMcDhZM6UQ5TFWPuZYLStYgfcLXmhnaMWyU\nac/L\r\n=7npw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b80e68ca5ce1e4ff7a83ec06c805029869aaa5fd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.df00c2b30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.df00c2b30.0_1611258836646_0.6911609128090546","host":"s3://npm-registry-packages"}},"10.0.0-canary.fd61b0476.0":{"name":"@material/dom","version":"10.0.0-canary.fd61b0476.0","license":"MIT","_id":"@material/dom@10.0.0-canary.fd61b0476.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"22fb1ea95871e9c9311423d02d42991debe54513","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.fd61b0476.0.tgz","fileCount":29,"integrity":"sha512-U5Cbduo38fCJtYQhNkOOHcYFUKvtIrp9kW7xTE7J6QBnqYDwyKdTlDW/qNGGGas3PqgP1UjxHJJPFgqhY88o4A==","signatures":[{"sig":"MEQCIH+VROKbjVSAkDmvXYeSSakvhCSp3Q8B2Z9mR1LKfpynAiBlPquXP40NsPd7Yq3kaqgmp/vC/1kUFUV7gag5an2O3g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCd9JCRA9TVsSAnZWagAAhGEP/0oI+vDhtBzSs8H1uVt0\nBRsId35JkI0T3ZpBGoqFS6xFmpvtq5/we9fe6zbGhOFiAi8HhltY8KoBlqe9\ncMA3r/+66Y5T69VKpsRS/XdmbRSt70kn+VhQPWZG2Oe6yNACnuJyxrA8Axce\nX5qM97PeYynK8sUW0Yq0L45El/DbQ+eF13tQjrVMeBwPPyyF/1BB+Ip59kdR\nZ1VzduJGbmGlcSDmGY5z9Kqr0gn7jDawx4n15C7y2+ZfyKk3zeFi91AqXx32\nHcoVyXD4HF7qv39jOgiFY+swFyZtc2ya0brRMKH8CBGU4kigXjPsbvD2uTn6\nD5o8w26Vx/k00H/Zq4d9Ae3Gx6usQ9BDrRZtpxEz5rKVWdKpaLE1GpQpmb0b\nN1QS26BfaI8gBewcbve09rVtLd5QuryTh2KKLWRgL5kR8wDs7p4ExcCrLooa\n12uiFGEu6Oycs1SQjUp7H2xM4ObhrTlWo08Pv3JE11QqW4GvVzzLhw8MOE4R\n0IkHqpdAyT0trWfjCTGEiCT4a+fOAUtolwUimcQCtP3OXjSz1J9EHnkFRawM\n0Z3EuPwcOILk4rcfpH4u+PSZEf6PiQRjPy1/34BCM21d9kFJwy3goEsZE8cl\n47d34n4WlHbJdaOYAfbvmpKVTIJ8MX2BaxZbKneAt3lGj0oUB9DcDt1rwI94\nz7WV\r\n=pvro\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"67853fc809fc128218f211f5b54f854f102d1ec1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.fd61b0476.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.fd61b0476.0_1611259721399_0.6736424494186195","host":"s3://npm-registry-packages"}},"10.0.0-canary.3fb3a0265.0":{"name":"@material/dom","version":"10.0.0-canary.3fb3a0265.0","license":"MIT","_id":"@material/dom@10.0.0-canary.3fb3a0265.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"129fe56e05470d3f493a6d194acbba8ca3fe8426","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.3fb3a0265.0.tgz","fileCount":29,"integrity":"sha512-U/wi3lQkZcigzW+vh2957WR5Z7EDGRzSJahetGuU7whc4bJ8imfL6WJCfnKQhAmMxSfVLECd9nJnWoBvjS6pjw==","signatures":[{"sig":"MEYCIQDV/FUIk+y8yF2F14m7GEUsE6S0tLgAgMPExaMyt5FLSAIhAMMIU71AWd6glzAR4n2DGh9PA0ilwKhAql1lI8t76pG0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgChZtCRA9TVsSAnZWagAA5/IP/iX5l53k5cmBeLKrU3Ek\no9CO78Li+50TqpRbNMjRZf/xtegukCNmyb/hHhKsnCTJ9Z2W+H6MCATLQaRG\nML6fkMfWPa8Cy8X8XB5QJYz4WEccXV1QUkls08S2n10uBlCVsE9CGAaEsCU3\nvFCqFPPLnicUWzbvAVEPvW6nWr9OOSvelD4IvA4nnIz9gVgTx6BnenZD4vwe\n2fg9MWOOkvz6hzgQLCvdI1w++BZ+fVKCormFW3vhBA9oGHnWvud0n1BpyTS/\n5koOCPd3LB4H2OfPXNkZFiSdvDl4QN1sf7f0pE7RGuiqyrkX5wJ5jFzxca5J\nMWER1jKFg0A+8XjN5NC3yKlKrcfHRmQA7kZ7q28QO0R3ytf81laL/BH73Qpz\nVDnBuf6M1g8iKNOt7MYQ62OV9NNUCXxx4bBJjiVogqXzlLjFZABw9y9eNGEm\nFlOpsCSpgSjEp9/JMSoQNVhwc7hjfkevSCNR9N65xQVkrrdjTp3Sq2Nl7VGG\n5zHBHPjSAM0RwpjA4hrs3oLISBWg5HV5qtczc7RJ8jlvbfUQIcZOJNXrBO9u\n+OhAsa89vPVWn2PeXjzS0nYjHrelmwRuI/r/tZ9uUOnJTXadZWqNw4cJU+8X\njNvsGvE1KDW9PzbDeOLvdvqT/j++fOC9Z8e5pXfnoBmM/tgS5grlglja214T\nA1Kv\r\n=+g7m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5e619e42cc5398fa779a726d775cc7e9a72a1acf","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.3fb3a0265.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.3fb3a0265.0_1611273834163_0.8187148643947613","host":"s3://npm-registry-packages"}},"10.0.0-canary.07deaec27.0":{"name":"@material/dom","version":"10.0.0-canary.07deaec27.0","license":"MIT","_id":"@material/dom@10.0.0-canary.07deaec27.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9065f43df5fea32f3f8e280c240fe287654f9e71","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.07deaec27.0.tgz","fileCount":29,"integrity":"sha512-jeVbMhbFnWyqWL0IblG5v8c84RRt1osOPHJC+VHImVPWuB2+EftaUUrnonHFKgsBHPFn2zWKm0G4ZjB6PUEJDw==","signatures":[{"sig":"MEUCIQC6/rD334rQKH1yrB3fPNqGTn4wpdiyro6LynPODcFCGwIgKRxGBVKK/FTahAhGi203IEeAozhkZoLSkHLT2eTMILI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCwN/CRA9TVsSAnZWagAANRgQAIN2Eh9eu1H5yXTTB0Zn\n6uPY61jqS9/Em61NMYqrEnA24NjW1Ia+Ggr96MRIzWLkbQXsHzz1W57e6Qlh\n8JGRnLndflzU5ogM2BcZ1TsbqsebQsNNhpMtaPBySOXVhccXeUetmseCXUbX\nvqZKmwEfOXUM2df4YJw+JOd+gDqPxGlUmiCPye/Fl/gUwm6Np9lw2l89D0k9\nQ3P6tXvk0sJ2M6Yc7oWRKVSiEYwoKXG/QZxtVirPnq7u9BhKJv6ymHsB1UZ5\n9XJktfb33lLGFhr3XfMj3ID7skApiJy2Sl2vXHwS8e6gJ0I0GRgr6M3IFrY0\n4kHiAAMWwNxT7GgDT26wrvp/8T530gRV2W7Y6vt0gg5NFR/6XaKXIOaUjYkW\no7VyLlWfD3mP9iXYlWxOIXbRBl21SqC3EVfMKGjtKSOHgXugQdNfZXET+3aN\nOYxJtiAzh57gbi0x2joVBFpJ41OciIAjyO+5o5kA3tPhtPRQAbS8k6bEEroR\nOBQUYyfi4cD/PrBv5QBpyDw3EKBMJcdMz/wSrnmyzPQX07mxIoAjqg97ie8x\nmu4AJj5GpdjkMJq37kKEK8Y8KDcvck5mZVMMSxEIj3xKw6RAr4T0Vr28jFIw\nLx5g8cygI33KYFzOYOp8eAwcGF+4tIpXc+GJvMtQzLSJ4VfbE8cVtQH/nHHp\n4Ssd\r\n=p41v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"be75b8d81f1ed6f8ebe94c8673f32110d71cec7c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.07deaec27.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.07deaec27.0_1611334527487_0.8623896295524529","host":"s3://npm-registry-packages"}},"10.0.0-canary.d2959b16c.0":{"name":"@material/dom","version":"10.0.0-canary.d2959b16c.0","license":"MIT","_id":"@material/dom@10.0.0-canary.d2959b16c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f85e602efa60ed8b8265f2796e435a797905acfe","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.d2959b16c.0.tgz","fileCount":29,"integrity":"sha512-FRH2GsL8XawExM5MgnQHerd1vdODp/VjwrWqun5HqnGdTEkkvxWkAlM41oBrJLSt1TV40iQNebTKcNngkgQtzw==","signatures":[{"sig":"MEUCIQCb758a103SfBI6KOfY0pscgChJbt/VqFH/8mQGO40k9QIgdaXYcgXvgXrb7KdmhIEByQjdTUPOeuR3Wypx45ckZtY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCx6lCRA9TVsSAnZWagAAWQ0QAKLGIekpr//vEaz7BiJw\nexGgX7t/27pLT6MSb4jOj9NFiAgimsfwYKMieIfjBhrh6hzz7t2bBg/+Sjoy\nFfyty9rvO2P0CJMyjLjxnRXNSnugeDQ5QiS3m2dDpFncdOab+EgRVy4nr8/S\n9f19lnq6DANEIA2xB4H6OZOFU4/IO9yX4V7WE0+NC23lZiPjGWRhMuXarRkq\nHCsK57LByvxOrRvOIu7JS4LH104H9XoaxWpRhjCY+yQuxmT+5x4/qC90Gf36\nycQd+gyLiSO/XzPWrS3R6SWJ6VnC12Ri/Q4zonkuOek5+wEf33gqBSIEeMm2\nlS/AeBBeIJ2Lc6MqGVYBHCQacvsnyQCSY6PH0p1uqGmzRrmP1olnNdLXRf8S\nwx5fPlLAZxfml2SXjNYHj1rE6MBEvwKlxXKNCNXJ1yg5IdytGsBk1Yzh39rT\n7REHkzDs54cjEvow0ysg4MFVf4BYsxelZCdvkE33rdf1HA2sD916J3QvWcrv\nqY8HGF5cflvUyHL8U4xmBo5RRHsT8X0yObzrqUuThkUaqrojIQfVrnxrxFIk\nJM6AASOVD+TzEn2JuGm4/qawo5I2hUODv+IFUmEIzPWGBEWxwtVbIN9WQ+cs\ndAmypgqcxPcLUSD57ALyLUhnHEcqC4ivsVyJ99wSEyXWkJO2qz8a1VmWqMNy\nDjGx\r\n=jILe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9a89df0257ea15e66bbd565cfea291993f0c4ef6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.d2959b16c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.d2959b16c.0_1611341477051_0.19228154826146215","host":"s3://npm-registry-packages"}},"10.0.0-canary.75f3bfe7c.0":{"name":"@material/dom","version":"10.0.0-canary.75f3bfe7c.0","license":"MIT","_id":"@material/dom@10.0.0-canary.75f3bfe7c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a5aebcd13da637414dd6f67073a8dcf37a438d8e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.75f3bfe7c.0.tgz","fileCount":29,"integrity":"sha512-pH13B2qICk0HQ7FBfW5TjKEN7tol1K8fZWyGSNoMPb7CMTZVxuVJiKHK65UIZwrxCt7pvL0b03blevvP184rGw==","signatures":[{"sig":"MEUCIQDYIVdjNUo5gpvx+93BhnVwU5I3+Edbyt2NHQGePwpEbAIgAv1mFVXdxaVsJEF/4gRAPikQ+UjDQXd0Z4tt7IJBzRQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgC1a1CRA9TVsSAnZWagAAENEP/A2Y7hmLnpoHiANkUTf4\n2W/9iJrGB4Ehe9EG94upEMmXGoENv48BI8Q24s8BofPYJcVKOyouLQp9ZTwM\n/4Pea/X3i/Bnt0v29AtS1HtLDOBTG+u5OpWn+dfsCMgIIHFlHSifD16+aQN4\nwOWVm5c6SDSv7HDi/EIb/147AQCHq+TCyy5h8fYcM4OizLzuwY47OO7drAQW\nEAlUn2U3QYwm1OooBnHCzaxddQ0Ponp06JT6LucC2Sti+mErbMd2TPuJs9Jo\nsOlGwhdm17Cbm4vNKmHVb4XB0ACpEIdzf2GKRtqSMY4KA3QjSU+o55+5LiMD\nibOojC6psR+I3I4hfLqFxvZaOxpWdQ8zzROv/9+4LXO13ftI7PALgXxQiE4s\n0NavbAXj2pTqc7PASAr1L5NlSVL7VT4/UDg2PCEK5GNHeKvQvyxU12dJZ0G7\nn/MXN4ASbnb0YSfZ3X2KA5RKTKlx1Hkd691wFo/MB22CT5B7mtSr8sEytU+s\nIl8FURF5RI2Ok6z8aZNMqHZLVx/H2qIxSppHtLOs/an6ndgADBaLAQl0WjvG\njSTpPo4Bq3XJRieZaKhtldYZMShZONDXltgUbyR4kIQG4Fx6Fl8KuYqTQM5J\n0XR7Ld1SkHoVxhApd7jnwBb02FckhNovdgYIz9c9uiOPMOSKVe6Ecb+FgoW5\nPHk5\r\n=8v4m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"057941e604e02f88d571d61967040f58bf499bdc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.75f3bfe7c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.75f3bfe7c.0_1611355829122_0.36262337071147366","host":"s3://npm-registry-packages"}},"10.0.0-canary.b9adb7a0f.0":{"name":"@material/dom","version":"10.0.0-canary.b9adb7a0f.0","license":"MIT","_id":"@material/dom@10.0.0-canary.b9adb7a0f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"67abb7a947f219a97040c0298652e2c9a0825fe4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.b9adb7a0f.0.tgz","fileCount":29,"integrity":"sha512-KyyV3G3LKws4y8LV8GkPtglY3Ii/RN2s0hLQVUJhRvuAyj6pNUaRU+FjfbXFaJnYeBEFOXVQ7QrKpATxTrZg/g==","signatures":[{"sig":"MEUCIQCl4tlW3yb9WXNJLRJPFyrRuXjGzi7xRK4LnYvQLBclRQIgUZArsHWI5UUeK7wC5Una2AuGUsUwHT11WAZUlvQnFjY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgC2D/CRA9TVsSAnZWagAA0SUP+QFIlfNLbuzca3O+hEeO\nOAIuj9USDEKm0fwT+AyjmmpMj2MiAtBIuynmvTrNxWqlvOYgbmJVk+u9D+JL\nwlWWq5lGoN70dcKCLEh6erwIKNVC8YssGlHixz4pNjDnePezS/OdZMD3pQRh\n+KzEXrFUg9/Lye1x+uXS4F0Y6VcTegnvEZ5n1//umu6t8dc0ixFF02bvvc7K\nBk87ZU4jytd95gFcGcB84LIPw0Ask7LdDtjVfjKAUNf1BqfZo7zcD+Tws7j2\nF/HYfnvWpK1+hIPz3PqYFpt1p2bNG8tiosYPq2sHRpVMmbzht3o31aJDiGBR\nsum7zffxZPGlBmzAnw3X6B52ZvPVmRaFYwC0J4Hhe/iBRiCsssB56sCQ/tPc\n9Rz3UQgfkF8ouYDU1ONgChkbPizd8Y0T/8Nkp0JqBCFxupaqIhfNtlUlkU3J\nACnKjUlCBD5ZbL5oIdaE/UEgge5dYzJw5G4L71kv7wFVuKOuDzbIbXI2AIel\nDjPu1kzOEod9VkiKBdVtwedLAEcMxAcnfIuHXL5O+3EFP3XaDh2TD6xUycmG\nTVS5xQxKvJE44VBEIlcq2f4u6in3+7nrKUG+Y2soHxCN55ZKqdHawT/yR5DR\noysZsONxcEWreMRlN19qdDoG3xOddEmu0Ya9dtM6LaALNRMIRh/Vq7kbXBAY\nfpM2\r\n=zESv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a591eb080c699d02013eb9ab0090fdd5e9813a72","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.b9adb7a0f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.b9adb7a0f.0_1611358463236_0.4981217325236209","host":"s3://npm-registry-packages"}},"10.0.0-canary.d29ec2862.0":{"name":"@material/dom","version":"10.0.0-canary.d29ec2862.0","license":"MIT","_id":"@material/dom@10.0.0-canary.d29ec2862.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3b069271b327c119d1d01e028b3ee7435b941d07","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.d29ec2862.0.tgz","fileCount":29,"integrity":"sha512-vdvgwk7CsHRtNjC+8WPd3+va7voDs2n/81h/URNCMGOCqeZnjnDSioQcjk/okyms8FwsMFCyqj9+J5eGAyEvHQ==","signatures":[{"sig":"MEUCIA+jWEA8eEkw3q/gAwnG9h2HX5C94iSPUPDPgnEqTbOGAiEA8OnO041fo47wJFn/O+zIXGVIYoEebbs+Nt4JV1S07Ak=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDvBRCRA9TVsSAnZWagAAc0kP+wX7PwT6CClzSXnlLo3f\n1LkbMLSiRnSR/KSWnZGBT97bcuZdr8xc5kftKtfSSPoHgAjfMYPaj5ZynVo/\nlQSWrU0RxzSUn850jtKMH26vx6H1qnqBiE8eWgImDGrd5uRo7rwR4UBDLh5S\nubO9pJNKG7PcVcx8WlNWX9grMtYo1RbJe91cVyPKuIEmyNytXAAC/csxyYRv\nr6mQxpg61GlE/xeXujEGdA3n5BH00W9Rr15fmti4Q/o4rTTTNqkfTE2nBCN6\nfNFztENfVnb3Bt6Qt9+FtlC5Bl/arGXFMUMPQ1LUgp1gDDshEvn8A304gBzn\nyp+wvpIzghQw5wmICFJG5+OMx5reeWHXE/uGllzhlYfwqQu/TJBnHCvWW+kH\n4tICV9AvfODxXa8fOCi9hQSQYeuPHBt8Abjkm42OgyxOOmVih41dmLVG8sEU\nIVa74UgmseMbTtO/uProMW+wuF0LLBUAMBbc5Y/dE7ahZUdOe9KAIQjX9LRO\nWirjPZ/6kx/b3BCvcYgMenPSiBoLCDlZDtB1wB65Res2hPV+WEKOp/n20k0X\n8lbUGp5gs06Deq4I5regVQXd6KRzGP1+7PbgYu7qVyRGN86/AtPqcy2206DM\nX/SygZU1Mp45c5iPR+sh7z6pD7gJAf5770ziS15Xr6L/50n1pp6oK+no6tBf\nqyNr\r\n=B34p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1f2d18d6e94fa1f0808b7d768169b9f4827dc692","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.d29ec2862.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.d29ec2862.0_1611591761227_0.5264730015353905","host":"s3://npm-registry-packages"}},"10.0.0-canary.96be07c68.0":{"name":"@material/dom","version":"10.0.0-canary.96be07c68.0","license":"MIT","_id":"@material/dom@10.0.0-canary.96be07c68.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fb2eeeacbb990f0d68ed39879bf3a1807131ac96","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.96be07c68.0.tgz","fileCount":29,"integrity":"sha512-MmW6PwrBdrpdZGSXWBrayFs0poHovqs2yk6+zDKLYzFVjpISEdxiIyvMvgIgEppObEsWYRjJRR+qxlBLAnixlA==","signatures":[{"sig":"MEUCIQC0XwO/KwFrA5ihMzxSt7wcjf5YKRYp0N4kcoap/hsqZQIgU/S7sb2v3E/65utPu802Rh0q3x8DJSdyIFhchTMdoMw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgD12eCRA9TVsSAnZWagAAFc0P/1OBlJyro5qax7P+LghI\nydAY2cbpFdot3w8Y6HnxmaCXACZ8dZ+dr+ShZDAHIU5nq/ZKTTF4t89B7kST\nfIi4/d97iINQH4PMSYyQVH2+4fQZ0aPhOErEyKXWtYob3uHlBCWunX0SiVkR\nYH9QggD9axsyPGE018/Ej/10dUD+jlPuMmfuFVgYddBbdNOKUTjO1eY0F/A0\nvRqAfLqXiWcza7cp8T1E554SDE5N6zC/NpehCfWlB0sl7I4ZLW/+Tlf2cOGb\nkVx5a7PH6lSrMXBisiw/HpLyhXYg+h1W9iGsuwStOIEs7eDDKrIFrnwkUCrO\nz0aqgLrn5Fw4TU+MS36NqbnkhkwnOC2EfCqOwtX5uXiTH6exja7shEE+E/io\n5nG7A+0pecdtdvj5MkQxMY1YksJUf/TrH2K47HTDe9+sbmr5ss++1NfA2UKQ\n+0AvbVCXPXIS/Q6w1jbzl6uYH8bOe4wGEWv3x7nj50EJx/kG0v68SaUOwDPd\n041qdklpvCZ3pSaEYVYJsJWlDMjxjzZ+atPLrsLGydwZ/lrV5OnwzLtOE4n3\nSNINLia/RSxpxI5JQLvfjo8O1Kxk5Ky3IcP79o+Snmu4f3xWwlUxciOPdWFL\n9ubfPpS7kKM2B912yVNfh+DOz/6AZ4NulUCKXpztOB7rQXFfyk6nNyKdDTzQ\n0KBg\r\n=WYRY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ad510acabea4f02cd7399e109ef73d3b0bb52e0f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.96be07c68.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.96be07c68.0_1611619741791_0.09927004177332432","host":"s3://npm-registry-packages"}},"10.0.0-canary.e383944e9.0":{"name":"@material/dom","version":"10.0.0-canary.e383944e9.0","license":"MIT","_id":"@material/dom@10.0.0-canary.e383944e9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4a9a90d3564afdaaa74658d4b4d4fc241301f762","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.e383944e9.0.tgz","fileCount":29,"integrity":"sha512-AjmTrkVXawDs8dmaK7KjUlvqKlINFVb8XVU5p4NfqdGTNTaE1ZfZET41cpCO0tGuPVFvo2QKRaKq4y/aNDqXAg==","signatures":[{"sig":"MEQCIEAFwsjWxVQxUdK88/8cMDosAah7EYbqyPeCBOB4Cdr+AiAwdk4vxti30b1/lTEyeAzsj2MaJjmei/i9cD7rY22bow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgD3PqCRA9TVsSAnZWagAAer0QAKLKrUaO3K7mt65JrIkf\nX70hOM+Mscf3fjSjFmPa9Y0ePD/1hCKT2cnflxnRVdjjC9OjRuJS/yECCXFi\ns4KfOchXRDn5ODa2as/n2x4EnegZoFqtx2qi/RT6IDsjELt0H5zr63x/VGJR\nrzt/xduvCZlKcWysV5Jrn2WRVAV/eEoBRjONtnc1vryhKYT6kSHBRVg7R+5H\nWzS4dqWOpRuKGGSdhmtLAY2HGga0G5nLu3nT9u0OqkJRHE2dwAux1NcB/wTR\nraPWLHBIjW8ln/n1h7hD/CDFqk9psHJnXQGvZwEHcDdvemu7VbsTeifl8d7Y\n2fFoQdOHzcSugqsGiXD7zlW8C5KvzOHHa5pi8cHMeU276ORgKlOfFmfw0B7z\n+Z/vcnxzgiOGIBGpRgUXL4aPFA1FQS3o1f2Lc7rwJwRE3LxgB+dPjuwpadc2\nEPQSdwn3qLXt0Gr9tCqDMqzRFyXbaUACNCapHFo1pYGqkNQyt3lWTsKmYioo\nlaqW1kdPsX4JFtjNEFvBAAZ0deYXNbT4CbEbMmeUdmOgqwt+GZyNWXRyGyPA\nsYD+CvnMVNfQrbQruj9Q1HEB1HRnFqZim3eABusCpclcaZq8Ehi/TIDUVHT+\nVYTiWslu8KE5ZBBy1QkJgpYFnRzhJPDM6JfzpfeJIaNvr5DtU8Tv9w5UwO17\nL2qv\r\n=Doi3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dc6dc4efb9210fc9c70fb089edb90278a8ab66f8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.e383944e9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.e383944e9.0_1611625450195_0.20080549742116416","host":"s3://npm-registry-packages"}},"10.0.0-canary.623af861e.0":{"name":"@material/dom","version":"10.0.0-canary.623af861e.0","license":"MIT","_id":"@material/dom@10.0.0-canary.623af861e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c27c1952818dd791e7589026e0167bdf8aea003f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.623af861e.0.tgz","fileCount":29,"integrity":"sha512-3q117Gfd7Hk3s0gxGfzv4eI0efwfqVTbi80t6KgiOPVN6rUGrKHWyRCFGBwSxi26Nby9/b5eLSOR5GppvTR7Ew==","signatures":[{"sig":"MEUCIAzoqzRorIHFCvLp1AjIek7LayfejbgaOeH0xn3+17+PAiEA8icPxgnMzi44ayBGFAZOq7KGAiROut6jIW1dgASo964=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgD5AcCRA9TVsSAnZWagAAOaYQAIiSsHPabd9eN6uDO7tT\ni+vj44FIUayyfxpGdDdD8wPlU4BmgPLuBPQf+KJV2aaj4KsO7YlGFpqf4rhR\nkdAub/DBRPHp+Ufhy+qzaPmCDRVL7rk63U/CJohBXsMMnBgkpR8qVTB604NX\nM+OhZ+WUZQb1FKOmaBzEvvXezKhlJLOwWvulbtPTlxznBrwsNAcaNm5VwpJk\nApEn5/t0ql1uaQGCkorRjCLg59lzh386AIFDJLaS8PulhZXZeUwnVzBi3TKJ\ngoBvZz9sG72nxzsxN3aRhy7SMCDzYzpeCMO2IptCbPY4iZenpP6yhqd4Z1b8\nFJwhKx2Swlu657kt6K1oid6ry++z11hS5VgnoX4e6/qQpn38SEjPpneQlKew\nQ9knXnY6KtLWQxb5q6UhDlxgbnorVOP6GFqs4FNeB4EQrdHf7ZkGpKj2eds7\nx3g24Yz/hhLOYzW42Y9dCHOoK5FuSbeQHmgRli/t5qRorpb5gLGJCoOyFdaP\nLRAeG6+r8lvwxdt/grAX4WFGNg0oaiLwRKWrJ3toiuZtLzHUy/MF55iwYatG\nmEwHXZA8b+L9d2u8DaMaH6DUeDuzgkp74kGCiMuQedpK3p5BbZvYdTouAPSC\ngGiohqEPbtBjinzBEdD4ylLV4MVKD/A8XERcnAiFSpmK3cpY3u4U48Qjd/TI\nHdxw\r\n=sJbj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5906815761339487fac225651c29aa422211a72b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.623af861e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.623af861e.0_1611632667924_0.056899138443460284","host":"s3://npm-registry-packages"}},"10.0.0-canary.6863fd43a.0":{"name":"@material/dom","version":"10.0.0-canary.6863fd43a.0","license":"MIT","_id":"@material/dom@10.0.0-canary.6863fd43a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3b380587975bb7d6d31bac42d23756ddf9388574","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.6863fd43a.0.tgz","fileCount":29,"integrity":"sha512-fZMl2rs44i++9cyklPN2uKr8QfK9MJT2MAPeA8Hfc9B32IapBUxhaCPf0pmIZtITQtPTZJKygcvU5UNMMDL0IQ==","signatures":[{"sig":"MEQCICNcdTkByPzPjn97UZEVhLObJ9Ft+umDxI4yG3mbM9TgAiAsAhB+yf4v7BSb0a5RFsA798XYOzjnsb+DiL6OXehXWw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEIpJCRA9TVsSAnZWagAACYoP/jaKaVJrhIUm7zAmKbBv\nPWE3dgZHMMafSZcV/+tebRUtyoNePRG2EkI4jkZJtPB4Z9TDqwlmKmgT2dIn\n1yjyExHYwSHscSB3e8a2P7THlWAUGOZHXw6hGLCJwc+ussUMxuHGvXdqbiTN\nFg2Xx4UOOuiiTQ+si9qe985IM0QcVkzLSlc4f1PSZfMGDS/eAMXQmnteIyBP\n2ehBUwDVOvHS2D06Ug501E2UY+3ivkjQD0hoChxxM8U5kQMHdqGSkCvsbV3I\n1o4fNevAvKwQY9XO1SWUsPm+ll+wTV2hce6MS62+Lvjz8QcqgINo8ZveYcxI\nlJp17yg8Ip55hgk1QbLYo9IBV+dFUJJMpUtVkxgrW0UMnkLsKZU86jaE4ytH\nbJ+BXmGFX5rT95xSK/1WEfL/f3DHYMh9/+Z9OjXmHZsaxlOxomFFcPY3nZY6\n2LnUJvQiakBRlPTtZCLabubEoeZ2a8+I9Y8ugsEzgx7mFA4Jss8MW6LIrsNt\nKZjb4qfm9cRnpi9t4z/42aP1inxFD2kjZkgKdwhspGEIokoGbGRY/8H3BgCV\nsVxEaQny2ld/YnSiI2ZFoSei0I0O06XOdNzvwGWMiXE5qHVfYotEfEwAOVOz\n4GoL6mK/OcKISxuCsidEA12YMabnxCGDP0NaGtMJKsGfZNsSmpThrViIuIYx\ndyX3\r\n=3HOy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"49d0dacd3a675991bd5b8c454304b1f10dbcfda4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.6863fd43a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.6863fd43a.0_1611696713351_0.23418234215996248","host":"s3://npm-registry-packages"}},"10.0.0-canary.ea55b87ca.0":{"name":"@material/dom","version":"10.0.0-canary.ea55b87ca.0","license":"MIT","_id":"@material/dom@10.0.0-canary.ea55b87ca.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5a3955fcbc486fe02907ef25cd4c8202a1bbf8dd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.ea55b87ca.0.tgz","fileCount":29,"integrity":"sha512-Neay3zwK5gpQPJV96vg+hnVQos+OsWsrmD+a9PjTSWoHzsP01coYZ10Iz8CPYm7r3fPA0vgGW7vKFu99Ug9+lg==","signatures":[{"sig":"MEYCIQCgtl2A0ZtMxP//MJoorUNmgB5ICV4uWisEXNVhxzjsFwIhALbJENFADbOhFdxCmdAgO3MFhRTYLYIlzH+G6E5FsWuN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEKl0CRA9TVsSAnZWagAA6AIP/3wPTRNCFvKHRzyBgn+z\nXS2TTB5kzR7WrA/b91s3kSk+OHXLQhw9qxgS+U7KgepHEtntttn2yB/5gN1j\nkitLXXg/8ljgR5WDusQ5vg5vqeUYC57sWUhb1m4Ce/MkJwJFBTR+yt+Uh0nt\nqaoGrL9X14K/C8WI86eI60NYFh1tPdep+YIJUXPtFa5cXHsG9ewQyTxrGDQD\np7Sa3FGRbWQzwtRi0AsctfaCH8vhJorrXGBqsOqLm4szDzqnsh1SMB3RSE+o\n8DImbSM4Y+mBQKGJ5+svFhc+h1jkBdznTW3U2ZbeF2IY5igGTJ2WMM62fuUk\nqclJFSdADWvvy6oVlWE2A61F4mopX6GxAWcrYnmL4WqNVj5uHJovGnsdY2fo\nik61S34bA6WTSI3m957/mS4HwbCeo5Q2pTKMPnBJJy7wXTu3+ADmMv8wf6cx\nUyxuqbuuUXdqNqb979AIpR+033JwpL+H3m3uh/9UnD5TqwCre39XSd9pSvf0\nuHNQb5F7ZGlQBFDR5h3cjSDLx2IurayOMnOfJVxK8qS3us4l0hMUptBNxwZG\nOOREDOhe9okfGsGfylhm6M42prjnobKiZRVv3HNtd4IS6mdLHQBVZ9c3K32D\nyeUKDWhdKaA0hgSMjzD+BDl2KxFF751YgpshnhVeWL84B5WOD4PlUx9cHR21\nlHmh\r\n=9AIw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"00e7569feb0aac4c4dbbfb9b292c9f53adb608bd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.ea55b87ca.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.ea55b87ca.0_1611704692327_0.4684650648634541","host":"s3://npm-registry-packages"}},"10.0.0-canary.e902ff05f.0":{"name":"@material/dom","version":"10.0.0-canary.e902ff05f.0","license":"MIT","_id":"@material/dom@10.0.0-canary.e902ff05f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0424184d32b4caee4b00c71a117a7366d3376fad","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.e902ff05f.0.tgz","fileCount":29,"integrity":"sha512-h6h7IZraVBUGCWEEpMVTVQZNS0hmyH8XcxyZIexjORDZmNPbX9SuvjPoSHIhatNKEkyNJR25axwE1n3tAH0Z5Q==","signatures":[{"sig":"MEUCIQD5dvvpnu3tAvTUOnuhF7fxSP7cGHW+10aQYTGJ0GSvlwIgIVrAq/h5NGVOKQGmS+aC1UJdGZQkV++m49P/aqG7Hwc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEK28CRA9TVsSAnZWagAAU+EP/2lsBurR82JWmxy0cfyr\n7xO9lXQMVcSYqGl0OReHTtqx+J5C6HEzPRYxB5Jx+DJDli16oHksOxKKc//P\nnrGDx7lQBlzA3awlky+FpJ9M4Cz3Azz7czsrj8n9B2zo/GWCx42e1cHaycZB\nKJyvqSdsOmJLcBahvG0Te4+hLRbwV3QhsCFSsUD8Lnmvm7MvSrCiMYGnt0nA\n0BpetNwXwnm43B+7fBW95ptHEWJkR2AdBtKefb0GG69dRamL/YATjeQ7uxGu\nFOCF2lAgjetf2m/V6iRgfu5r1kr0BpIaRVTQ7kznK+t1ui0HfDJkSMi5WfWX\nB6mAjLLJS34BCr1O34EJRQ3N/pNq00Vn908h4+f/Hfxx87AUlNZvIm50MRmB\nt+zOLT2ap8HKKP1RV9pVuHvRkOxjm5yPz2RTAxjsrK6vGuCpQWLZyBPXvUGs\nt2Qgfoyw8v5kzZAaXYJ9dyiL2PUIEmti9LQyrjk1QnjkBMFVzZer6jK/4kY9\nvYEC2X30dH3MqD3o1pBxIHPQVWISwigW9ulX5Z0Cjew134CfQQvpBOBIaJXL\nTtLzfxNf9Fer640mVWgSN+gHtRbZjWbwIHrgTslnS6lHc0vSAdhCF+FtykNA\nqdeMF1NL8qQXdm2Z6bggNeGE9/t6HQZycNROkfPlduyp28axjzidsdhiwZge\nlr3L\r\n=su7H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8ae6ee07772b70becfa69208ee5a4849f86c2fea","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.e902ff05f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.e902ff05f.0_1611705787822_0.9477798074461175","host":"s3://npm-registry-packages"}},"10.0.0-canary.2c9fc538a.0":{"name":"@material/dom","version":"10.0.0-canary.2c9fc538a.0","license":"MIT","_id":"@material/dom@10.0.0-canary.2c9fc538a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5a52cc96dfd6d94e290108b4c37ee6efd423fccc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.2c9fc538a.0.tgz","fileCount":29,"integrity":"sha512-rPlzWTQOzQzT/uKN/W/ADbB3bMzDTj0y/0B5HBvm4hBpk2Ku6tnEu3+d2IMdx4zpdKxZOC7l1mO/60lnPmrShw==","signatures":[{"sig":"MEUCIHgj5LKYbw7WVYfdy2wyyJhr2MG4F0RNa5uXnutXYd8oAiEAuay6FqaYIsYPqjjBd5oYUAdTOVFYjv6Vj5p5UWgbXH0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgELMuCRA9TVsSAnZWagAAnCYP/iCMMRR1dcbKsZHs1If0\nyKqOdRlWKguqdRZVH+G2WaWZW9G7mzKJx/km6WZcuaJO23DOiWx6PI3+pTEA\n5cETclkJe+dzjjFB330ZkZ/puWoRaJ44SaZ+0oI0GUybMMD279hGuw+UmO4s\nyjx48D4E2qiB7fvBUnvSzXmxWcKrfrLGm4jNDijF+pkKq7je3Za8GIe3svYa\nnBwiCeifgc1iiR/J9aaR87mCYB6GVDwlqm5GvV3PKC1iG/mPNuu1VWQ/URSL\n7mKTTGbGInUXwGdylZOb7cTe8QbfB7EzU/3m2vbJQmcqEsdnQU0UnnyRkUbW\nDejpaXq+sGHOv3ZmkovTrkKv5ez+CUm4nIf2+wgq/8Dwyh6MktzPNxJ5S/gq\n/yTPqdO4MEDQnPqqvAALLSbfXWPv8kcBdgIgp5w3CLUKd5ZMZHFDjJ4E3din\nZLubjuQoGwlgv34YY6bv2vUW9vOsv9r4mK1Rgz++MJ+HvNOkocvbpteP2Xql\n0ZyYDSTmaC3CkaeYhlGmXUmsFiT2WgKCcnq4F42q1DiyV4Ab0am2kYLOTnc7\nEFpK8PlNSLdHcyPJCbYfJFq05qubQItE5AlSLoA1meRvQlA+5LNt0bAzuTjb\nMB601+LfUtNWWdb76oZ/EG70bG7fsga3FzSbxfdUQx+DXlsmRG/dOsxCGcr0\ns5K1\r\n=jpQa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4bc5fff9ddee1f7703010e418626d050ca883474","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.2c9fc538a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.2c9fc538a.0_1611707181999_0.23736315896156324","host":"s3://npm-registry-packages"}},"10.0.0-canary.6bf56aaa4.0":{"name":"@material/dom","version":"10.0.0-canary.6bf56aaa4.0","license":"MIT","_id":"@material/dom@10.0.0-canary.6bf56aaa4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fe534c831c290f64715cb463dba4c4c3f354fbc8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.6bf56aaa4.0.tgz","fileCount":29,"integrity":"sha512-C05PW6ZhRGPJ2jv/viCvxkjFOdmyFqbcehYyxck2UZFMgw/APXTU4VtMYGiWJXdfCp0t8J5jgLEPKnnKyO4kBg==","signatures":[{"sig":"MEQCICVfUBX5cq4GfttaJDtzOWy++Rh+gb0OPpKbg8GArVg6AiBgxf+mh5/WTdmLMaS4DvaOjV0EVzYstjHQKrSzlJ/DhQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEL+MCRA9TVsSAnZWagAAExkP/RXSzsL9xY5a0j6sKWJf\nfUnD11Trh0hyHUvgJDibJUQ16qfaatCyBr8kjoXlUQmtMZLMyTV8lCS61Vw9\n3qKCeB+LUAfSzHdmtqJ1u6GgyFnMn5KvzeOIkNxGMlTUiAGsk4U17nmYy9fj\nTsY42YnR/iUqqt6bHNL1br4NB6xgCNXwzmvJTk2RAe1G/4Cp8JW9Ywetq5Wo\n/7HEIgnjkyDVl30G2D8p1T9Lt8xGFgKZkOcjQSPmDi4b5P2VKywK15VxhWBg\nGyBAx+ULX6LfTfnEqOG4qTW1QdwJmyHeQEorRK1cTY4RKWmZ1OUYLLXLP+x6\n8cwhfEyf/WE3YU/bxBjd9IWvvG3KOAdphThPlL7uNr3Jyu91fXT8gq79NMMW\nPcELeM+gSutZuKInE7pH6b0p9T2E66lAuVbv1ymGyF5TUFooa2u9SnmrAYfI\n64jN4sApMOQNTsAgwB649RUNNh23LJK/mmRzGb+BenbvNkfi7QIanGiLlMDz\nMFSEETNMPWcIXekqoAzuiXjS6paXMOMzSC8ngpl5RxxXYtnnE4xR6iKHkipK\ndFrLIcuNLaAdAFCDdBN/C9G9gIgxvXS0r/kD5xeOZJ3n78AKuiBXRW9OVrdV\nOQ2VIkRrcKvip7TjlnoIKGGSlpCnDfaV8/heTtRM9owlHDJhz9SKLwxMEqoZ\nCooW\r\n=OTcZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"557b9cd09fc15e60ea09bd17651230487a292b59","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.6bf56aaa4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.6bf56aaa4.0_1611710347682_0.39423881770080693","host":"s3://npm-registry-packages"}},"10.0.0-canary.994873795.0":{"name":"@material/dom","version":"10.0.0-canary.994873795.0","license":"MIT","_id":"@material/dom@10.0.0-canary.994873795.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b1fcca8502a6240d1d3a4dc1a2d0cba0b99ee638","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.994873795.0.tgz","fileCount":29,"integrity":"sha512-xD0dhSRxKQQUOq9mlndHQjRZDS7pJTWDLQ9WPpcfc5B9YbtZJoOBmWZhrljh1+ft8BknARpciO5aJJBqMOeZGg==","signatures":[{"sig":"MEUCIDmPD3i5P0vQKxeZLkKx5aWqi5LatjQoYNlWdhFIhm57AiEArFVJWYsBOXwywnn7MB/Rv1cH8VYQTjWhHuy8Q1LeypY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEX2fCRA9TVsSAnZWagAAN4QP/0CJ4NTk1mnklzB476L8\ns+RzbCkThk3dHoR61A8g6JNTWtSilB9e8CxOIV68ERL6SW8g0wYVnsdH2Q0d\nY3A988dHKtR683iOYVE52vB9uM72hrlvhjga0xbSzTISlJZcmTf/DMlIeSXm\nFIslh/r9ZdllZwZLzsLKgjVqctLQBxtcOIDDzcB4fNQeVdJp0Ma27tlGDEGT\nVjvpSCfBPNtpNGDqa5wZ8D7GNlf1773Nc/fYLKh5SCAT8iHev4wd2Coj2jg6\neyfAhGro8SygfhnuCewtNsV6hObD9eAjm/RQ6jhRA0DHOYHwXrReY2oAga89\nIGmI8VieyNtsBuXpqg+G9TI51CjN0LuO1CHSlTtPOqceGtsLC2LxIPtXAIuX\n7n4KnMTmA70IjjxOeW5GgL8oGdK0y2tvkCYcpiurUNK6nMZBP8Vz5nMQJRKh\nYB6UpDvgCmZZ7DF2Xy3+rMqEXKGQILxkg+KOSj3c0bi/gQg+yAZSi/mCS/i2\nErqx2aqTHEapJFvcQTPWqQPfGAupZZ3C0c1tXoVTXD2dbtCMP4G2gD2FE/GX\nE8n71ituZHgVcf/k455MrLbJQ5LbkBN6PrsjEsJhDEdF/9w2S2xd8Ft5dJwh\nazR1k7gAogcfXYPXXSxFVvHcWhUgzz6zrz7WKnV7/cRdijOajCYAs/L0ONdp\nHdB0\r\n=LPyr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8d1337af6a27bed9f06167ca1cc1c996fffdd9a8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.994873795.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.994873795.0_1611759006797_0.5689441690264447","host":"s3://npm-registry-packages"}},"10.0.0-canary.96878e1d0.0":{"name":"@material/dom","version":"10.0.0-canary.96878e1d0.0","license":"MIT","_id":"@material/dom@10.0.0-canary.96878e1d0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"11c72c484d4fd193e1f96c6918c5bfc06d3ed264","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.96878e1d0.0.tgz","fileCount":29,"integrity":"sha512-RbvNGooiadRF0oZcrSpWkot/LDeQaZEnnzNIkVcUwkfcQ/llUgs0m271U8R4jtBoysj2n7Nde3z2RUUUFYuPRg==","signatures":[{"sig":"MEYCIQDUweABNtryfZnKeLafGZWd+/5VRvfNytzhP5+fv0llzAIhALgUmEL3oOf0su1lKQhpDaPEumFU/fmF97M+FaxJbu7i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEapoCRA9TVsSAnZWagAAQwMQAI+gI8T/7fKKVl96S0XZ\n2IlmP5UcqdCYP1uNAf48u7YLCqIKEZY+ZFBXwBEpLTW1102YbLD8xrbukZxm\nVZnPMQaMQIsv/BfPvHRReCvZXbSuuOzcoBeChJZ6z9AeCHVfSVUVdKgo70KA\n+nSl5G2YvEoY/WACWE3sakf6aubilouegIFCK5cimmNiIiaE8QMrHH5/ffNO\nJyNigp6OuuO/jPMQAphqKpvMr6R04uhVLVGBxx8zrS6DwbR8e6IDx2tTWz9V\nRvPf2+4ZoCoABPQjmU13qr5EC5x84Fnx7s0EC9mx9sh+oOIALO1XVUUMeXrw\nwjOO6oJWWW+P/0GOYPkLK+JxxxRGymibGRgh8zXDa6F+EAv59h11TxnCCWzS\nSNWBC/by8qycZzYDCRoNpucBG43FdR5YXevayATT/UHI2DHBi8YK2g5X6ojX\nOUQ5gvy4JvHFG7Z7CeHZ/vhuIgWnEKPr1qh/qz+21I5fxWV4W8/Hmq6lxoRG\nI64ecHyhY76EaGDBQeHaONi9Hf2qAL9q4bpOn9YA4HyiNrjs/S3Biwo9Dsl6\nfcBg5zEyPSfG7HWLjxeJ9oeMSVQ+wbzp4y7CgEBxXrxqsabXOIKSM3jVsut1\nEcah6wHPb0xHN5p5qhbYjWtIArrrfbKX18DdnwZHSsrqxrYiWpneBuoqMx9U\nbSWU\r\n=rs8U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cc9f62002fbbf03874065eac25971ed2b49a47ae","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.96878e1d0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.96878e1d0.0_1611770471663_0.8392894115453715","host":"s3://npm-registry-packages"}},"10.0.0-canary.3c117cdcc.0":{"name":"@material/dom","version":"10.0.0-canary.3c117cdcc.0","license":"MIT","_id":"@material/dom@10.0.0-canary.3c117cdcc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a1538510c2360c8ab0cc3dc10ad4dd73f954d463","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.3c117cdcc.0.tgz","fileCount":29,"integrity":"sha512-DgEWOheoUmwMpCNA20gcjd04/lx/+CJh/52p9HVb7feBHZIbWgn8fpaT+YzW07dcBLU86yyusyusKvkcvouTMg==","signatures":[{"sig":"MEYCIQC+WdFprGHMc1D58D2Py5LJe9PyQZbfsm2vki4YuLIHwQIhAPl1j0Z8PtFq2x1aOgxqlrQB0d7TAXDMJt3MZq9pkXgF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEbF5CRA9TVsSAnZWagAAZPMP/R9l88gLs+gQObJSMvHs\nhpLLQGx/9ZTfpn25naIZkaqTajiVW3rG0ywJ9B9p92vR1/1n99Hw/Vp6oMcp\nCiq8D5pRxKsTR3uJANsAG+YS6TU8VlSjtiq0i48AVxKobhJ5CN83SFAB9S9E\nr7ZPGkouBZGjtClv0BVevi96xj5WfkBx/6kunzibVgwJ7s7eBB79r5IfweGN\necomcSOJ+d3+hF7r0lNSbmGk9FjEJt5JHMXBn7HFq3l2+nUsHgRxn1gSEqU6\nYcMYhaI8lA17J1cFDv3j94PUSoc/kLUIEqZcLtV2VTfzA/l6bdK2S53eefwO\n/xK+VI47b9oWpfqx8X2+H4cPyqduZdAWKxR2tMYMiznk5nPlQjrko5frvdcQ\nx6cUgER4YpiX8IZfy6N7uCpy1NTUsUtDrZdu0cMif7D2Yeulut6driiGs8bt\nXcgnBVQ/tiqZFWKZZMi4lntGOWz1z8jQNl5lPeoAaisApZAbEOjfWB9EgmdF\nkKrstawk41Xo97W+qrLnAsW80wSFcD5wcF+veKNRshXfTGOUEKzi+A3b0TGj\nRaHWKmQt1A29ruHmkw39JZs6riI5CHSv7tLYM1rZUh2j94/JWXb6EBZJR0L/\nvCk/qqaYbbAUKAQ21iJ+C6vveGWmLV76CL2VWc6WClbJS2iyMNYKEz6FELxB\nGpCi\r\n=R/ke\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dfd1ede4a4727199e63765d305bb36d91509dde8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.3c117cdcc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.3c117cdcc.0_1611772281133_0.35780506008513635","host":"s3://npm-registry-packages"}},"10.0.0-canary.b411e7033.0":{"name":"@material/dom","version":"10.0.0-canary.b411e7033.0","license":"MIT","_id":"@material/dom@10.0.0-canary.b411e7033.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"12fc39027e223a0ac4ea28b74740d829fb8c4166","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.b411e7033.0.tgz","fileCount":29,"integrity":"sha512-6hGImUJpknV5SHgRukd/GZNmvCPPzIZl4ruB0L/H/m+oZRF4Zs3vf6AEd1zyIfGUdumrsWZkJi8AmABo5te9WA==","signatures":[{"sig":"MEYCIQDnH7MwR2AB7wBa7VzRom2/I3/bJ48JfOstfwQJ2TWxdAIhANEvoqI9HGMn+TB2jcom3oST+Dq9PKVqswwEyi+S5kRV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEeL8CRA9TVsSAnZWagAAoTgP/2Andf0+egbWCevj3NRr\ncUgBKZ/B//h+16CikElBCM+g70SyEL+H3x0KXYqFvckn38TOb/G9MTXRQLQt\nIxQZHwA2lCgSP115E5/MUOdvoHf5DSCaOBzBpC9wbqSDdoqCxQve7qRGFMr6\nT/LJp8nveJpFRe7LU1P2pYXJBB+9N7sjCInryllL2/HSiVarKqyF7iish5gx\nMBL8sYGyG1foKTJE/PZ1Wb7GGF/5cy27cHomgScu26m3Jwi28L8LnJpYHoRU\npNs5hh0yOlqKS/S35vW3QoNO+TKeiRDZsspUWVbknN4Dbbo24+5c8qfggTTW\nOU9BE6EljbgLyiVOD/rvms4Y/vH1UwKD4s48NJcaDaIMWsloGF1ZkxDziwV4\nqGuDuuox5PqWkUu7Lh9YOJjIxZMv4T9h1VQ/P6qi30GUuGpYxURWVymLW5Gt\nmKVNd12xgeu2+9pvUUT2Grk2Mn3sm9TkhbU9nc28vBtvw/GSsETxmuj0IBSn\nYohno7YTjw7hxxcQq7GItz2qGnpE64Ak+K/3NcJsy+QSRRl4d3AhJzv3VQBz\navPwPKRSwBwZYTfAYeywOirrgvT5wcruY+/hqrAYlKgUkqBoDFUlKz8s89xE\nHMKBXp4AOk1lsikoTeQ+n3TSYQ+E9+C6rEDwixAuzWEuR33znOnMyNWifgYm\nj9P4\r\n=PjVv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1d12550a6229cb648f6739f83d7ba5feeaa67dac","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.b411e7033.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.b411e7033.0_1611784955587_0.08183250589828162","host":"s3://npm-registry-packages"}},"10.0.0-canary.a9ac16b4a.0":{"name":"@material/dom","version":"10.0.0-canary.a9ac16b4a.0","license":"MIT","_id":"@material/dom@10.0.0-canary.a9ac16b4a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6599fadcdf975afc48ea14dce121c30f886a45eb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.a9ac16b4a.0.tgz","fileCount":29,"integrity":"sha512-TOYgVntv3XAFsvtlC6HcHDsqR+uiwU2HEm6eUZ1jVjHgZinBnx1uPkTl9YtpmnB324cRu7Nj+IAqal2IVng+yQ==","signatures":[{"sig":"MEUCIGHvAJztrNnz/uUWWN6JSweSA5AYCTqxbA9lFy1JfkKOAiEAkY8SMUDIJRPWHemXymQX0/LY1hepegFnOLzniRGyWII=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEfEGCRA9TVsSAnZWagAABgkP/3swYtZffsYx2xHMTM38\nXwG6kse06Kgitqw0eJYnZzof9a1YpAT31BNl4FJtUQt9ndecbOHG+/dsfogs\nW0occZAoCtdBxeYO4hYFcEHibIFB6pwcToJHNamUZ4MEmdH/NAwlcpTnFLzo\nKx2D0+OUM527QqxyodY3CWyiezZCiN1eAr/t3AqeBPTt2FVxRNR7ql2+0LUu\ng4NHNm9kyG6L6U8iu2hHZfUQwCZt3Ol1K6slQa6AesrCCEWtMbjOZyejguWJ\ncEI2Ok/OrNAi1xyrCAgwkLv3GEpOkuhmOJFE6tvt3vNTwJVTjasSF0D+D6If\nPSW80y450ad07To2/ndvPDPEVnjjWwYN+jVMw+tho4xlz+dh45fGa5R/cKB6\nmbfJ64NVBHg3Fef1fpUne3uxvk3kL76PER0xHkrMEUwW+bD1KxRqhcHCWhB7\nXzjsvqP15mVx80ToYNd6olJU//54LMZ9d8d/wvY8vSNDsQR0bIYtzj643nB7\nuF+J2iRVq6Oz8sQ6fj5iDc4z3A1uhD6rEAxjiWaSpeqwysztBTq3WXZ6K6+U\nyNFOXdRBnqGfJ6UIRMHMV7S9jofzRzfdbpMxcOc5s9FB4GjUUPlqt8GUI4Ld\nWelTJnYUpRd2c573RcD/Z9U7ZFvm0w5JaDtIhlCWna6ZMTW4x/283jIaNWPg\nPEqY\r\n=FCa5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1635bad405a8d329ac4e844d0a2b5f3bac553113","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.0","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.a9ac16b4a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.a9ac16b4a.0_1611788549859_0.3109452272958062","host":"s3://npm-registry-packages"}},"10.0.0-canary.fec7b42ca.0":{"name":"@material/dom","version":"10.0.0-canary.fec7b42ca.0","license":"MIT","_id":"@material/dom@10.0.0-canary.fec7b42ca.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"13af502eb14c2fdedf78da9b2421a6041eec6a82","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.fec7b42ca.0.tgz","fileCount":29,"integrity":"sha512-kS2nYkLxsIQpoQOjG1hUFH9lA5xcbnMQb3+WfqtuordNbub+96kZyDlFwfC1kzVaBsASY2eF+59PzNQ/1Zn/eA==","signatures":[{"sig":"MEYCIQCYuu5Y/ziLQwLyGLO+HifirCEj0XdAoT/HKEIF/LEiowIhAI0/SdBcAUecmE/fmVtc2lpDyKoFfOY/wAm/4j5/lyp0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEwzpCRA9TVsSAnZWagAAoDQP/089VakZY/fWn6EWbsX7\nX2AdIIDBo4n5H++H/fmXpMjerxJ47BR319rM+NWAQF18mcFrTxOOf0YBfF1y\noJCSEBWx+Nx54QzTpx1KqgB4hGHJldzhsmYr9M5kkygtCf2ip3vKQvcvZMNN\n4Q+FpIwF7GjC0MOsYyCRv6ssD5PuPpHSHgypKNu6VdQhoa8llj5dWmEp/1zM\nE4IZWb4OCdEkJhKEMiTj/Mn5GBJDWw/OvgpdVv6tGfygFI/7176+Q/3bBBPB\n9f/aUi/JngL4tU7rPyVxhkc9zP/AruW3y+QTfcBLmOXJEs9zcko225M7JXRf\n+jU4RC7IWS6DJiXcqEq05fyVWCjwAqgdT2qIWrcSGxTxzFologURQEcK/0kz\nXfg3rGF5AO1Q0Q23crE9eZpy+3RxSW/NMiwRo0AsmCDoIN7/YPwWOn8mWPr0\nS/oe4erChmJSRqKsQ3+8AlVFe6xL+xiyx1JngyCe8hAjX43JsT6NWBbVG6qi\nVOsUuWHSg+NHJao5H1SyXf+As7opLiNBPuG0gymg4sT2mdV+zqE+rw0/LTXx\nGLyyBJ9QSHYuBdz7cfPKBMpNkws90nibsjsFMURGXfUycUHbV8mHCS+h1ID7\nsvzopcynQ9iKV0kmsm7+M96SVeFi6JvnkOuO0Mo2Qvl7sTP4BNce3qOzqtsn\nnHh3\r\n=0vSH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c05b9618cc2b93ff9a68314dc20c83c691206159","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.fec7b42ca.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.fec7b42ca.0_1611861224520_0.9780123716743812","host":"s3://npm-registry-packages"}},"10.0.0-canary.8e66dbfee.0":{"name":"@material/dom","version":"10.0.0-canary.8e66dbfee.0","license":"MIT","_id":"@material/dom@10.0.0-canary.8e66dbfee.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7e7207030bfd31e355a40b609a4ee4fb9cdb5e64","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.8e66dbfee.0.tgz","fileCount":29,"integrity":"sha512-rQnYtMyPoikeC3wkK8cnSaGvSnGpT22EQAlSAuKhYV7twA5kjY1ITOdx3279kcpTmz2LH67RvzWTAdJOGz5h+g==","signatures":[{"sig":"MEUCIHF+yLKkft8YT2aaBvYgXBSKWcX/SsS/lBxhm+YjiFAVAiEAiDq7wmc3wCeh7oaX7AeVTh3G/i5MYc7mWR9arMnwrkg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGIyCCRA9TVsSAnZWagAAmNkP/j0bTJ38COWuBYtxzp7Z\n7DRHAJO1LP0qQzWypOu8qz0UBRooXuSBEvQ37uXRqnAxup73O/xJ0Z9j7+p/\nR2hwutquKwS3ufDKnxny81fY8PB3RDx9Jhqaxm5Aam8Ua3s+e3lESir16NTC\ntDIbEkC2Nt2/5Bmibh6VMxLcorI1fHXh0TkZUusgGJ+IMHyXqkvtoUf+fsYc\n0g7cqBhtBfViLbF+PNallQyWZ707RP7kt5f0aPvOXSRNEyhM6SGhdrwsBXvz\nojDe2gcbOQvhEREfMb7Ps195e6lRZfMtZWg56MEhwgXqRiHN8fqe6qVgrdX5\nCO1UeZ68IUU85LrCWkLp6mddqgagG8UEAgmDdjU2xmYJKv72ce1/n86qEYOw\nTfAilznO9biNwj9dAkljm7dGwJ9GavFQTW0jT9iVrLEZU/isKGEn8UEsyP7C\ngOf+ryrHBhF8qOtitO8fgy1mOBEiSzHteByvNGqdINVixrE6+XlWHzBxHXKD\nCR9XQ69NrrPLDl89TrFY7ahIzPMbS7FyAuSp1UKPC8Wi/oP3AUhQh7VSu01i\nxkTXDNCndQTkcQ6NJmzU0Ud3hxNe8Fd2IlB32iNQE2MvOxvOrQoH0BdHgN/k\nSgq9EnmsIcWa1Nxu41CNGQdLP7X3bz9HZDXMQubr6SUcKSHbGTVLs5bBwKdR\ncQLl\r\n=SZuq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"63606d4d60d94cbfccb1897812018e02aa13bd18","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.8e66dbfee.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.8e66dbfee.0_1612221570203_0.21983920854434036","host":"s3://npm-registry-packages"}},"10.0.0-canary.637d15da6.0":{"name":"@material/dom","version":"10.0.0-canary.637d15da6.0","license":"MIT","_id":"@material/dom@10.0.0-canary.637d15da6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8930fb615d986df438515bd952049f25efb74070","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.637d15da6.0.tgz","fileCount":29,"integrity":"sha512-EgJIbZjKzf5T0xRcq9/iYwOucp5dXk3HiUtbhAu45TI+9ZonlfUF5TBrdRBWphk9dVKFcqjh1HNrLYAGTQT2Mg==","signatures":[{"sig":"MEYCIQDSyybLSthFmd4Z6IfhWshh/M0PO3N3yqajL6R1q45sewIhAPtcghNAwxws3dbFCqwtHnuP8Ml8lsEfwwBE1CTIYeEV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGZ5lCRA9TVsSAnZWagAAaGMP/01KIoZePw3WyMsE6di/\nUwiw6Rg/2Iyjst3wn/OKeE2D/5sgj6S81TJjLvg3xUdrGR9QYwnJqkVbcc2a\nHE0f3E77JnUiPCZrhYzWRVHauWBd3i25xRVyWGWVa46ieoyiizPISnOpq9S1\nRwt/H8CIXEFPADORk+JidelieEVArOlbvwFC5rtNS9g0Lcf7pQZarzO9sJLJ\nP0NM8BhZjFAkIp1xspGxTu/CjQyQVJxXGm5IFwGd+qrVwpFr2OWBSMZ6tjKY\n8Iu4ou5OM2AhnUP72Jgu3gK+KAWk5DdbdB+io2cqR61WXAnLF5lg9AfFpxrp\nDTl8Tiit1Nl+P+WJmJsyQE9ow1qvddbegHHmmB+ecwa70dDdvGT7SmqmmCX4\nLZUmTfqAjuMFKhx5RWBaX3HB5ZjuH6c7d+y22AjzIRcziYzMFn8QLAtgamap\n3d6vfdYd5uz+xcUf1/HF2157IHE5IwCzHFX9kN2EJUSH61pwumJi8MPikICr\nQ1R+SkwsMoA8ySbsSLA5lAMjMgyPV/AnyaAntRys9YpIkGQHJcWx5BTHDpUB\n9L+1M/K5nxrfUlB6AgIIxd6wg6RFNNTd74Q0cF742pvUSZV1r/3Bnm4d5t6q\nHq/vTzQGAOPxBVNxlYCdX8bwUOhX2tbPtsfYnc7fM9Kl+IxNiO67M9TBRHT9\nnNns\r\n=lt07\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"264dfb09f81436a3537d88f2366133e250344864","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.637d15da6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.637d15da6.0_1612291685082_0.25513995543314794","host":"s3://npm-registry-packages"}},"10.0.0-canary.fb793939e.0":{"name":"@material/dom","version":"10.0.0-canary.fb793939e.0","license":"MIT","_id":"@material/dom@10.0.0-canary.fb793939e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9ee7f2ca2b39131299752ce53d9eb688abaf1e5d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.fb793939e.0.tgz","fileCount":29,"integrity":"sha512-Pn2k+R0VGThLcd+6L6T9DzBKTaYj6Yb5T9UFbB9ehwmBKABuZRvtn5eGJ5zcQRqTynq5zMFa7UUAYksUnGe/Pg==","signatures":[{"sig":"MEYCIQDJ99DuGroVjQhBBUB9dG9+jGsFCvN8OXkBmN8+yvAoHQIhAMY9lMhSkexnt+EqrFXhWYgC65lilAsJpwr1owz9rZ+B","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGeM6CRA9TVsSAnZWagAAJbgP/iPRDy5fV0xEbMFhf6mT\nlBvkN3dqGH5mBbyL5tHa+qOS1Djoq9GKmwLgRCCaSajYS7Jqxd1kPNGgnm+X\nCST9YVuWLb6nOdaPhMV6WjlBb49uJRuBcNC63tFDg/ltc8ASWYkTjE8Fk+Fg\nb8qwClQnn+n9BMwbIbROwjE0kBNur+vdncNGbjib1MUcAT6w1obt5Jzx1I6W\n3YHzewd5/FTZt0bqWyAR22kM235IWX8qJETR03YYCtUyQWPQjj92UFvYBGh6\niHF7WE+7TGIWwyXVAKUvET+qErivF5sFrlB8iQHoXSfFod6zrr1V59WnZdt/\nbbWie3/qzxgRsP4jCKuojSsoJiPdB6pmp8gVBmEVYVSnPIc/uAmRuyMe9qn+\n3K34bQkX2rd6e9kXW5+VJ9wvKcRKLkpwIswTJW4TkmpStrtPrxwfIzc4EBYU\nsn7WvdH2j48grfSfdRgae79wP/J0MIAftqoOxKr9pN8DA0/CFRQKh3Cfh3zg\nVAsJOCX7JmPNGpG7rKA9F0JcqBN3ACSGWWEQIvzwB/pg4PVN83gIsvJahWDa\nLrJt97LEbrqJPaM/fhdG8A+zoosF1V4hnrHV99GHj5yIJp4YQRdTqpdk3PSm\neEh+fFYcfdOMawzkQpXhHzA/gU4pmCDmUmZJFHBaWfM4XRG+43Oprwe2NvOt\nwoKe\r\n=WDOq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b89489007d2a0c1f3821bd2291e448d44723ac68","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.fb793939e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.fb793939e.0_1612309305899_0.3483781153708072","host":"s3://npm-registry-packages"}},"10.0.0-canary.15a4d40dd.0":{"name":"@material/dom","version":"10.0.0-canary.15a4d40dd.0","license":"MIT","_id":"@material/dom@10.0.0-canary.15a4d40dd.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"abcee962c250ac00f3357471bec71fe90d58bf51","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.15a4d40dd.0.tgz","fileCount":29,"integrity":"sha512-HvaYLQPZMhn2BDlZv6Oik7iXfL5kSyZsu1APRTj4VYLJiqkPtsIGwZg1PuRssaNvhVqHX2N6ITqPYDN6kzLL8Q==","signatures":[{"sig":"MEQCIAeXBUrIn/y9JPi9COjEzeDSEo1l03Ui1vfwkYSdkR2jAiATnfI0GvpuFS4+0OAc16sjU7J4GHDfB1H/p+RdwAu8Hw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGgfHCRA9TVsSAnZWagAANrgQAIlN2VBTSWkMAN34pEV2\nBomZNpiTGrKHpuu664rf2XOJ1G0BBhrWpWRupsJz2cmJK1yYcz3BoBuHiqtp\nH99YS8zSh/eQrjGtYLvnjiciv00/3mGXst+ecTJ1aJQ9tE17EUUhaACnGvv3\naFdinY2+lE98NS83SBeNEzxrjNz4hGlxPmRrvNp706rSGu5uF9ilgw9Bh3OD\ntwLLRElWVk9CGyzCENUFfpSajQ5ntNVxzePGa1kef83HVBkkd8TYErETbBHS\ndB+PmDkD8lrcvu+Id/2SLyOyc20dC86drf5X+5CHMyoaEMY0g1SrGN3z5QrN\nseUAWgU7AxbIj6Z0QQAbsuOS9Ufe1fKGquGIRFGiXVv7hpXy6MpHMge8buZ7\nygn2d/pLfwd5+qbYF2gJ6Bb5KAVTNsSZgY/fxBSXp5QDEKUjJ799YgI3sNsw\ngq3Zswmv396HR/tQt/oYD4RZH0H6oy7GXoLnoVRo8RPgv9QfFkGdXIJdK8M7\n6vilLGY9Oi9yzIfqJJ6XjRMzzFnOGEqPIccy4htsRvjiInwmoriK4o90+0Hg\nYS7jUA9R3Ayd8OaGutpgGm1Sj4fa7oigoNYBAcC8ehr8tEgUreqR37Nya82T\neAgX+2ZoJKZWMb20k88IEDxo00Hm9ovJNXF8ymo3wUoL6YCHYvC7Tno5L4SO\nVhbA\r\n=4lzx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a6b5f072852f1f101d03fb492c57fc97f7f0ca9e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.15a4d40dd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.15a4d40dd.0_1612318662139_0.8719163257098763","host":"s3://npm-registry-packages"}},"10.0.0-canary.7a003acf0.0":{"name":"@material/dom","version":"10.0.0-canary.7a003acf0.0","license":"MIT","_id":"@material/dom@10.0.0-canary.7a003acf0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d507a1b6ffcc05b832715366039a530be11f38bb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.7a003acf0.0.tgz","fileCount":29,"integrity":"sha512-UJ8unrfl67YycAzr7PPkz0Nbecf5CtyIroFMOzLeBTUzwyG+9sITJGXFEhn4f5/OAN9zShTyvJieZPhdqL6M1w==","signatures":[{"sig":"MEUCIQDyWPn6Rt+iM0HEoTOPgiCEPtue9/BUn4i/dNww7e8YKAIgXn5KSnbZxU/G9EUlOjxeNGqrRB30YrO//QaZsZxCejI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgG1zfCRA9TVsSAnZWagAAh9EP/31DBeZqRDwboO4fYvUd\nAUTgPFtlkd70j+KQVqCfLV4UWa08H+IhAxSoTQMwrQnNxeSYGt24ajWMUw35\n5O7XRvHfgeiu/lbTmUrxvn5t4ASr/SUtXeEiGD6rK9JxGkljbtL8tz7COm0R\n6iX+O4M0wHy0dPbhQEAR7f7G1pbOyJ7NVuXv33jvIVj7c6WcFocqSjM8wyBU\np21bmbjMO7Lgf6Mxcwq+DXHbdzVKJExpYZeJ6V6V1j267WHwdvdeXobLMJym\nsXIwFrbkJvDn3Q69g1wM75xzIlNQ/N8pJeEFbGUaCq3mgUa6PNRrqlJMYRN9\n0DU9+bG0g+N21mrP/MdWVXMHUxgqK/9wmQQsDeXLT9ylC+kIAl8CKX0/09tH\nH0Bebj0+B70uz+7s+z8UMdJRAmSEJMAsQd7uDP9WnVyCAbC8hIQ8atfkvpP0\nGGNnkzwPwzTpfqyt94Efs3Mk96vlnAfeHgH21tNqEWKlqiMFL+jrTVjirSPD\nQL+8UNR4kVoMo6UlC0WVujof2VrhnAqulzoXry+nwMaodfrADY1l50/6+Dk0\nCl/P/GpELF99v0P8xkx8uX/mkMYOkPJrZL6XYB9NaOEsmAAfNVowgDfpinZu\npMK5idM/79iPH1k+HGsKi2iGyWPDX8ecmP/ieR68r9BX7dYY9mt6th2shj2t\njdQL\r\n=ZZXz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"50aca8110f6412e14432e118e1f9229dafb02d85","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.1","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.7a003acf0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.7a003acf0.0_1612405983090_0.4133566947228515","host":"s3://npm-registry-packages"}},"10.0.0-canary.05f249666.0":{"name":"@material/dom","version":"10.0.0-canary.05f249666.0","license":"MIT","_id":"@material/dom@10.0.0-canary.05f249666.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c573d5fb801fe9adc1c186767a19705c4936f773","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.05f249666.0.tgz","fileCount":29,"integrity":"sha512-Wul6UgMWtbe5FDxma3YYYPN4QESWiHfHwwGOmIpHrf1Oy6wHH3HOMzurKz37KJsqzXlRZDDerMOcQqrQ+dAEkg==","signatures":[{"sig":"MEUCICrois2i8aCV40WJ33B4tdx45QgVpOFjsWn44siUm9fyAiEA0BD1z8+FCwTjQ7vlonwH+3jwQUBSTC/cPLW6ict19VQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHDOVCRA9TVsSAnZWagAAbJUP/0ZNekA0V8ZlLUuaXmLT\nrOW1g3KwGFkTookM6A+kssLBmD5GetMZRbS6qpboZYzHB+BuASGUQDiujwnf\nA6V4W68nx3ECJs+13+arFWs5x+h8VtT1MzJo5orzXJboNqEtxY5ZooGuXSFy\nNZTpGe7wlSgccvPk1c1sHMIDWym1j9yWjG6iPthY6nDxscq22yFeaO/Q+Mee\no//4GE8iHdZ8LFgABJQZe6gezWwWv70R85B7znEt6pAljIn+aIppyBfLaMT3\n6T88qKOVgdDgE6FauAuB/NCy/0VcVjUyXRPqqFzLrQTsYsDTw05GICzzwz1u\nq4C/vTNQRYWdEZnI8O1XXvNW9mSTB4jw6iYoRqkO9AfhH7n8WK5aFx/jQfNr\nVuJi1ZllKmgD7XI3Z29UdSJ3Mk34sXjZrUbLJM4tk5ZNBd55Zf4fE18HUGg7\nR1knVgiG3NANmX2bCT2IfAdGqrfPN1UEE3DtXBSujvh4gWM9Wz0v03sf00At\nycz5ChGJoAxveDVCaO+kM8CepUXLLtBOBlu/YUxKlCEgXUoHeKmvPpMTVmno\nAIawJHnWCR/be5jsPokKOrmIeGSX59HQ7rvc//C5bzlr66Muux1VU0iYW+Ow\naNtRgb28KX8ZZJrPLJoxjKX7IpEwkN+QdgcGuRMUnjm07+N+oMmUyu2Qv1or\nT3iG\r\n=U5Tf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6f1fffc7e905a3d49f007f288c26a4b5ea11dfd0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.05f249666.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.05f249666.0_1612460948629_0.3118796605169978","host":"s3://npm-registry-packages"}},"10.0.0-canary.1a3a39629.0":{"name":"@material/dom","version":"10.0.0-canary.1a3a39629.0","license":"MIT","_id":"@material/dom@10.0.0-canary.1a3a39629.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0603f0b8483f1db021ce627d5826f56e0303db62","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.1a3a39629.0.tgz","fileCount":29,"integrity":"sha512-dHEEE4wW0SvjOgW3LJ37CEQTlzEY4SkGf1Q+aH+Mmah2dZ4q1v20PQW3vBOh6LYwMZF44/p66+HLnrA+RGzVmg==","signatures":[{"sig":"MEYCIQDiAPDX998yjA7u9NBA7b8AWsO4l/stA8raM9XFVaL/FQIhAM5GvxaKIQ/OYLWsNe7yFchUZOgTF8MK1OXYFGxMX+Y9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHEAGCRA9TVsSAnZWagAAJ2IQAKDjY9NdSWADOz9Vt+3f\nUN9XWqvVpoDvYm0EkkYrBv/+8wYnidwJ2CIGvETy2M1MLVbt2WSX2bFeFzNl\nKI9NltPzi2lSWU/7S/GAm3B5me2A6cBhACnL4nV2TNk9UFSG5kznjqZv4ODS\nOrC4Ep5yFCHLSP0XYVw7M74hQbL1MEGiSmsXWj6BgD4CXwcW8FLNQQoUc/UL\na3JiO38rl4gBOUmWSkCWQZsOk4ZQLAC3dFbH0fesI/VtLLYx4AG27t8IbfVn\nr8JDG/w5MYwyysPZ2HMqhMrQvPeiI6Z1Ofoe4n+2zsfPbvVLBXauuoocNYVZ\noQq+0QJ0TAr/io4lvF23yECBUrYFufSyAgZX4lESCX5JvMY4omt5tFL0S0x/\ntOkK0je2zzIrVYS/ijeBNXnCbQ+PYTRH825waXABthzXG8OM3H+8hM9pKDlM\n0PMK9HwtYmmLXaGNYM6loKFIha6Y2mNuoflvaM9oAo+/IJYh/jfGz92hNNg6\nbrvYp0DSqI4jW7YLEyPQGABk6350fko766HREjvSKOWw5vYsqR5g9wPPRUU3\nE3bW1S8gsIxt6EpWWs7NP7qoOtNECCpAvcZPiZj6LFbWNHea+1Vlh/JLdtMZ\nw/KVBg6uw2Zu/lXkYxePj/DQVG9rBoHH7F5VwvimGwDiBcnuvSMH16SLxQpK\n/h40\r\n=/Gzg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"87d65275f85db5a2c4e630df10d231afaba36449","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.1a3a39629.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.1a3a39629.0_1612464133957_0.8312982504670661","host":"s3://npm-registry-packages"}},"10.0.0-canary.8b1cdb1be.0":{"name":"@material/dom","version":"10.0.0-canary.8b1cdb1be.0","license":"MIT","_id":"@material/dom@10.0.0-canary.8b1cdb1be.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d83962a622e9c993ffb6493d971806d6ea2c1ee3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.8b1cdb1be.0.tgz","fileCount":29,"integrity":"sha512-7w0zvzIL2qz0YBPaB+BUM/JmA+Cb1Krigdn7SbTy4zugXQMGMJhyblnCFf8C+WVU7LV0PeGISjaAYiGFDy7QAQ==","signatures":[{"sig":"MEQCIDapw3K4KhACr6lt1ieCKyttVNijgoQNJuNigSM3bh0TAiBlmYZDYjV/CD1LZ044XzAgWqrolzFUQUBPxGH2BGD5Zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHHZKCRA9TVsSAnZWagAAcd0P+QE4LX+d5zzAUOF/k8LZ\nj4IK926aBxkvOuTuppYdXpnOcmOJpdip1geTkjjw2YNUFjQdIVUM5IBrfX7Q\nTL+zM8K/29nAjqz5eAOM4CO0Ao+ujjD3JOg0icHzVA28pTmyPcaX5mXMvPmN\nPZZKBD/4r7sO91puiAr3C/j/JUwGkZrvK7nci62NoFFicG51nwLHASNERmYE\nT6H8QfdYfeN8mcF+MI5LUXv5Mnf+lc156KWaP7XfDLml7N+4GR4WiBgB1wTi\n0TMhbTr5uJnprNlDNuXb90YatO2BXgYkxwR3UWZYYthRVmHHjpkKnroECZHw\nwIaic7+m7VdMpnA3N89UO1ker0DSu/5ay/rUAlOejVBt5jdnnDqP3qfimyY1\n2E7gr9TjSaleB5V74MVR2ZEy07sED/egyzFGaJ34LZzxH4IYTNSZZFGDPFb5\nDnq0SYEaSGUfsA6U5bmLzwCRQ5C7vIyLmUNanvjIbNQ9Pjqpatz/6ZYaXJgn\n3Fdijf7lWBcUhk21BtmEjgqFe2hjVX8lWCu6qpQQI6/YkWTcIfGPNUyxIz1G\nkH7Oml/EVkNGx5qR9a9zYDTUT1RG066xoalMrQcKSHKKAxKOKJxd7z2czZAO\nFdIRoGvUrgy+fDahdn6mxTkoVNr+eG6Pw3Tv3G6DHWayAuvue1phVwQqAC01\n1A5A\r\n=WoRT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"73f8ad23c72c2fe32bd1a9e5e102b6aca8ce21d1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.8b1cdb1be.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.8b1cdb1be.0_1612478026101_0.35110578695048145","host":"s3://npm-registry-packages"}},"10.0.0-canary.8271f00f7.0":{"name":"@material/dom","version":"10.0.0-canary.8271f00f7.0","license":"MIT","_id":"@material/dom@10.0.0-canary.8271f00f7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ad7d56f02bd714bb51d95ebcac02e933b7b76905","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.8271f00f7.0.tgz","fileCount":29,"integrity":"sha512-zrUXONOeKkqI42LHdOvsjOnPERRhfyr8xTcCsTqNRd9QAxQWOXmJ4QmNKZ3tArTbtjfo5M+wy62Tpdv3MGA1aw==","signatures":[{"sig":"MEYCIQCEgzZxPFZ9Vb5jmZylAIwxUOj7nXkHxEM2XDvWNtPGLgIhAJWBk+idKM3rByRNJhRy20NUUJMFW0KTo3hgQs8XchcS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHHxiCRA9TVsSAnZWagAAISUP/1ISw6/lqXXj64zz8fTb\nrkv3Zu8FJVr8Xg4H93eR5NyzfyOjm5551CWBSeXAOk7OX77rmQdTofTGiFK5\nWOf0q1zfIDmSIr5dh4Csn6QYv3YX/ntzZN2BIrE9fTl6QzoXvmjmFe6mo4g+\niIgsjREdO+d60ZPgvvbjTpNYrWCeY5G7VfpK6NIK9bNcP+SypcGt4HGuF1pZ\nhQMYVEKZSqJz1fwuRBARhmU/vhyyQDptv1UXphvlfizFS33K1KR46fnp66mT\nkadzCtTs1eBnY4qocXjvH5UaS6UpqxYwdOcwrtRaR993ZZ0eU+Dcu9D5kEyW\nFhRB67f5NdU3PfsGUY7dtrAG/VkYjFuXFdgVvL1jva8/u2NJHEP8HZRNxXrn\nw1eAgOSSiE/JGimmZ3jEvn+ciuvaNMvVoLi0sh2Abu/lBt0esZLVMeQPPdi7\nTwFMI16mxxkYmHe0rD5ZMQDlO0K5w5UI1P5jhRmdzWGHzJSpjVuVf2Gzul8W\n/Mv0QG7ULLnWPc56h/xqAIs47Y2s4WYocgFo4+kdizTzT3Sh+rUIliLjtq/5\nnhVnWXEnmY41c1oCRpjCTYuvwHofmtz6oga2irc9JkehvFqOpdGyE1fVFuVx\nJwH7EdqyjykuhI7Kg6w+9wBOpsDCdRDEp+7p7H8aTnR91/R72wsG5/iWBs67\nNsrh\r\n=gTVL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e210c5292564fea23c9cedf08acd2b8ecf86e94d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.8271f00f7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.8271f00f7.0_1612479585559_0.6622272736975849","host":"s3://npm-registry-packages"}},"10.0.0-canary.533092a90.0":{"name":"@material/dom","version":"10.0.0-canary.533092a90.0","license":"MIT","_id":"@material/dom@10.0.0-canary.533092a90.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d8ef3a0fa8a15cddcde0ebbc9fd0d04c4e1ac222","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0-canary.533092a90.0.tgz","fileCount":29,"integrity":"sha512-HBUGx48pdrOWWtV5lHo0i7rsz/NCv7Yh8lGiWtCcfATDJrmWI7iiO7QHlPyxCxVERaS+Deki72WTSFb1TveM0Q==","signatures":[{"sig":"MEUCIHKQfAmeSyGcSf9BvsGc/IVhUyx8/csg7gJuXwntQLgZAiEAzWqzZ5bMPgbjQZgVfscQLsT307SCbw3sIAYUS7Pn4Fk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHL9zCRA9TVsSAnZWagAAmWYQAKUTu+wBAYTpOWjf8Ymj\nGkduUuDxNwqxSFpnDkGv+j0rKxBO2tch7qP6p2ohlBD7XwSdcuWSkCn+HTfM\nqopqFL+/msmn1diP9UuJW/yqvOMAgNvBBu5YRaO5rzAMeLWLu8zSJTjK6m5h\n5FD0qqMJlLyzDr3rJH+C/cZEbdpKpCMCkSVRH1fYdhzZ2Q3VX3mQ1EHKHfk7\nkFFwDeysRfClkcv/3ONHKKJT2xGwwzIj9Tb0+/JSUHy0RE1tTUDmBbNDW4iQ\nILoPnrriPYpoZJjTqC/9Phrm8LAC+MQwimGib2/Ytuj4Dwn51Q8X0Ej9WGGR\nqxet1E0qjcbs0zV/YnpbGgZSfKo6wOQrbhx2Bo31CkPHKafU9MOAMmC8dYsl\ninRGHAM8Zf3VnLWOSmFYRHKnKN5vco/4lJx1NUxqSBc8hoMlj2og8BcXriWR\nCK0tKYIClzZ5Fzi7yiuGwcYWf7cO9pATsP4nbCCuFcBGnJ5wvTmU1jkzGdlE\nw6NCj8gNjoFJoq0dbh1sKp/UKNXjzlZn1CyF1OejhrtZFBqmGh0NTrXskvCt\nyBNeDh8Ds6oxFl3wEGHgEV2GAA/F0Va+70tbb0pAGedRFVFdYTGXbHsk6VoO\nQ0cDCP1qoorhViEeOBtgSEivL/nB8XuQscq+S/51p8ZNBs4nW1NlWcW1A/rb\nAZp6\r\n=VwY0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1f76aa244e85ddde7348716259e771c739c09f23","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"10.0.0-canary.533092a90.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0-canary.533092a90.0_1612496754975_0.23565320159808145","host":"s3://npm-registry-packages"}},"11.0.0-canary.633a9fc7a.0":{"name":"@material/dom","version":"11.0.0-canary.633a9fc7a.0","license":"MIT","_id":"@material/dom@11.0.0-canary.633a9fc7a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1a02acd4e341ecc04a79154ff66a7b54444897af","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.633a9fc7a.0.tgz","fileCount":29,"integrity":"sha512-F7ak8uh6sL6wrvV5bZn2Tr80gyqQQTdDxhqjt0TV2fPmAHGVuxXg7gGA4axCGYolLL5qLewGj3JF75BuUgVwWA==","signatures":[{"sig":"MEUCIQCAJR2/k/j4hWiANIHBC2BEILld7K8R8NxNeGZ+VPC4/gIgRIfMchiW4jOIM8Ns2fTk0gmPLHjdbNSqLhc418Rndng=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHW9XCRA9TVsSAnZWagAAXmgP/RKRA3lLoSHkCsEWoL+N\nE2UG7D/1Um5Ynl+DXHVePzywGuQtMga4QNclZVd3beo4MidktzDjrOR85g32\n6/aVZDgYG0Bc5+faDGbV51KzJf6TS1P/uRfH9cgDhurKIcJE9N5N8vT6Xmvg\nbcKuJIUYKN31MYFdw1q0d7QoAR3jbDeAqk7jFUXFD5e+2GAUnjZ2ZKzKFKxq\n13heG7zx5+a69xwUI4KVISol0m98QsdIlx3NEiKNsaYsgB8R5BxLNpU2AFKD\nLMRh/G20otaqjlr2GR/2NzkLBIOKf6FOJdKkimQkFlH3sVtNxkCV6oVFebMb\nDpLxpABfE/7LjtZGuOVzd0DMl891uagHjLrA1HVXgvWG/2pJh6PsFJegBQlP\nhjeQVfmCL73KGtb1z/7Klu6xJYddFCAbSjshBuUk9c73XwWvaP3IpHOTxH5q\nUgAGQq5zW/9UA7dxuL5QXzEIveBYINc4Geyhpx2MT55i5tGelL6k0mZcR+Dj\nnQDwE9hhOO5s9AcsBaDM5euvTHC/lJMj8DCc1gGRWwKcTy0ScPPGzB084RQM\nEvEvP8L+yhCO1yWZ4xXtereYYXuPeupZCkzR1p0lXwpQvOwyr/VxV6uoaQBE\nojwFz9sFDYCCSpBEeElsgBFyZUuAfixiGGedJuBGC7WnABg4mAHB6XToGXLd\ngNWR\r\n=JHNa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9fe28e8829bc50c384861e340d551c0718dac053","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.633a9fc7a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.633a9fc7a.0_1612541783163_0.9099874290905112","host":"s3://npm-registry-packages"}},"10.0.0":{"name":"@material/dom","version":"10.0.0","license":"MIT","_id":"@material/dom@10.0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"83bc5c4cdbcb6337c9687d962953919e1a624e30","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-10.0.0.tgz","fileCount":28,"integrity":"sha512-rimaFIRsbacSjnk/1IqQZLOjoIWYhmuR6AZR35nkeAYg0H3DmLuNTGyAgsMaC8O/1vBcAp+c4N9WASkITCOE5A==","signatures":[{"sig":"MEUCIQCB7XTGoO/wSQAIKW9KKX+1NlUzYnBTG5VYcKwf5nqjyQIgUKrWU5viNSQ3u57yN8/GLrYOtwWJJfVKh9ao1lNaeO4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHW+tCRA9TVsSAnZWagAAoVEP/j3wO8GydLHshzhlIfiI\nFuIcGkQc3uqvsOXRd6jZHUJXtFLToq7geY+4t0GXbFlfRYjyGTxCX2aty8m8\njun603pVuNGC/JatRBVmTc34MD2im+JdaKolObtTwfTvcnrGKFHR8DmBEs+e\nYOI16p8w269KKbxe6JcUCYJ5NQWy088N1Iim2vfy4QcATp2HqCzCvWhfjcDA\nMZuEf7ERsQClHEyXBJAOeEjuJn/BkOqr++b6/Xf2thqn6IAwAHVOiGzd5JA5\nV6nKHck2yd4D2AGoyJKrYu+FDQlfo+5JSKC+KMaswQhTsjFrOkI82BSdjHTw\nSfn+8UJM8v1m6tqSeWvVr5jswQpgs4mfTpP4B/8ZG2Xf35j0+Ka5HEdpKbA/\n+IGqmjffJUQKjGNvzXnP5+RhFWBUzsV89th5IulVKMHYxf8L2bH0VkXgaSNB\ngIuSBV62PZZ9ln57/u0IpbwfRCqCW/X3fueAEt7++g1CkUuThJtW+NsOOZqP\n92O/I78qP0HvYH07I/vsUL00dOf2AeCwQ5BxdoOyNN0+4J8ESpiKI8iji8+C\n7rUgben4K7IwWfFnztEh3/ptgfLvuc5jw/foHDYVqIVVYcJgwWGomMdiDD8G\nugv4DpOAvTQGPUKjQ+hBQbgZqUQ30Wmnk9u6wM++biPN/PThOr8BNmkrNddf\nhqip\r\n=Xumi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","gitHead":"633a9fc7a98d0d9bdc177bc9ccbd49beb25bd5b6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"^10.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_10.0.0_1612541868708_0.4201177049167846","host":"s3://npm-registry-packages"}},"11.0.0-canary.b5227247d.0":{"name":"@material/dom","version":"11.0.0-canary.b5227247d.0","license":"MIT","_id":"@material/dom@11.0.0-canary.b5227247d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"099cc3b9a0acef405227d92c84a8a8b8a819fa67","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.b5227247d.0.tgz","fileCount":29,"integrity":"sha512-pkCFwNgRqOGPRa6qx9mny9EdX+2MtieeIIFs+9SSQWZmn8HbNWkBS/Sz6KlO8mgFPm1dccL7pGuBbhLosveFHQ==","signatures":[{"sig":"MEYCIQCgGJu+lGBf8EDm8Lz9nO/PO89e4K019ndCZgfrnMtRiwIhAP5WBjArwqfvo6aGMkwcdVfF8FBuMvGUQbCtXGtlwIiB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHYMwCRA9TVsSAnZWagAAUfkP/RecSePLw/uGYP0+EsUm\nOXpTehWcRWkraVG6Y7+sQKsqct7bjNBf7VWKeFJvpWPp+wXl77EKCssaydqf\n8RoDGMvnlh5TiBeFP/fq2XMA8M1ZMJ2bkLWurUIJ2mi9YyPnnNTAmRxJEKfH\n5CrbDAFc+l/kEXzZqzHz3/g19zoXUZgCKGGT4UB7XXKuMkVBkcA2fFpMzIY/\nQYrcQxaXjeYaRPT4ClPgoEY/s2+Gv948Ek86rfCuuy5YsiKv+W0hInRw3ZVd\nef5Bh8zZqRPimDEjUmoxvDIdbJz3aXjBU6C7B5YrnHgtaZkCei+tsS36FMfv\nyRKH6rvUVaLRLCpLjxxaA8JXKXl8W9gxetI+eInWyOP9gNWuDRB7nsVvhj/g\nB4jy4zpPVmji6n6GXrQ11bQlbCC8pmZhznTGmerqpVLtU3VOMXcadQK7NxdO\n1ZQ7DwkAuD454ZgWr85k+1pR/iqTNOwZFrbLlOXAa505JqUuNfrFF6xcZj1S\nOfTQAIvL7i2djDGCQvCUYjDykWlEA3GN0KfWldlfP9zapAmwkZU1tDM9BZlc\nXYqsjMOu9ssxxGpmNE//dZ95QIEk2E3cJB41sWH8lLIhCz1L8PfRrBWqAU27\nE820ewAGlXUofj4ey/q43Bt2ghGF6xzIZAkAuMOY7v3n/wdyVK+UfxAjOEZY\nxiid\r\n=+/K5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6f733c52a8cabe9fdd3ba4c35cb19e5526d8b312","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.b5227247d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.b5227247d.0_1612546864247_0.4818065121400368","host":"s3://npm-registry-packages"}},"11.0.0-canary.95322b11e.0":{"name":"@material/dom","version":"11.0.0-canary.95322b11e.0","license":"MIT","_id":"@material/dom@11.0.0-canary.95322b11e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1c9b39d6aedee47b230d7e9e49fadf2bbbce3764","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.95322b11e.0.tgz","fileCount":29,"integrity":"sha512-QBqlwxcPh57n020DRwO3Gh/6WJ2/uAeXGAtvXlT0MYX44iQyfkBPYfEniDOiFF9hlkKELSlyjkNC/K/u106GQg==","signatures":[{"sig":"MEQCIA+BTaD4QN6mGPA8jJWjQvLo8HWEjeNbbwGxDuVCkjqaAiADu8Or8pS2RP5sW/qrKbB3Ys1bZJAHzGnD1Z7kOJCF4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHdUoCRA9TVsSAnZWagAADnMP/RgSDe9kUzQSLLQPK4Di\nvGD9mtfy3YaKUBqsqr++/yLFLSCl4vRYXU1UiCdUs48IRRQwly0SKDthpy5l\nZQgttmtNgXPl68K6b8eZx9z8wYPSwJRtA/gUH4gwU4ISln5UpMKOwakAedjX\nu3EpqVCQE85aMQV2z2BheJzjwU7FbsCTMAWrrmzB6ysLQdFovmi51rAcy5hk\n4Evgmjwdd10OxIS4D3pJXWMF8Q0KF/swioH3YY0b6N0FRIlWCk3D/KAFO4v1\nVyRM5ZgpCTMhfa1UCE9D67Et6bbfIsBg6UxEjhip/Uh46iWat5cJeuJowZgr\n9cU5CGfoR6NxnjQlD0np+gLAnEEHrLYKCOxWR0X8qY2ArdnxHf5ZGtDNKvWj\ngXj2ffk5b+D3r9Unzbr33Oz/E17pMCOh4mq/7vQJTJz5eEkduxc9Jz2n4xCA\nXCw8uZOCl4+zlQqgyqovrjmb2cpM2DfZqnKS8JFUkwN6VwZp4bzOun0cN1Fe\niWeDHD7UJXZjy7Myg2ndnkrrG8m2Q7gCPmp82ZDg+nXFUcJdoAMtEuctw5sM\n5ueNop7AKz33IPeEt4sdD0cIv9YZUlIM/YG8RntdLlQslLpq0JaA7VXCGwbG\ndt9Pyo8DehUbUuUudel8Q3/Ug6r8sx0aL3t0fuGEfxsi4wZQQ/tZRYnBofHv\nkqwF\r\n=+giX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"96cbc49ea4bd39eb1c275fdae68b6bae32b59ad9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.95322b11e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.95322b11e.0_1612567848299_0.09709619503303601","host":"s3://npm-registry-packages"}},"11.0.0-canary.1f318ff0f.0":{"name":"@material/dom","version":"11.0.0-canary.1f318ff0f.0","license":"MIT","_id":"@material/dom@11.0.0-canary.1f318ff0f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a35bdd4747faca7cc7b76a01b1490438694bee3f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.1f318ff0f.0.tgz","fileCount":29,"integrity":"sha512-3jawzqdhD2OcDRFDai1SjNOVGOK3f0zQtTslx3Pb3RWa1OsRqQxTuNoAFAbi5nUYPypXOEqQUZmtGiOJElonjw==","signatures":[{"sig":"MEUCIANEuspvXQ5behNm/p0/xTTd85nb9s9XNp8+lc22IxUqAiEAkOAHsn9jUeLKgTKU6wE4R8B6TJEdUt0fs0ndHuMUEvo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHdzvCRA9TVsSAnZWagAAZW0P/118dntx3ER67GN46DWf\nPIeIYmb6EFTAy8aD1ha1Fy9a4vnE15c2rQeA9lw4UAA7Uk6hhcRrJ5ZhVtSU\ng1s8ofuPF4NOFe8KW/iP4MaSnRErbQ6m3B1yXS0xP5Eb0uh6UbI3orK9lhCp\nQwp76PiEH9nSFvxW4z8NuDdGZe/oHQdm/pqx37GYvcX7ICGs2m8Z3fVc0Qsd\ngK4fCRBnaRV/WMnxCN4/Pnv98q+JBlaDb6F6JJakOxjOlgZDu0EofYtOvfSi\nfoV8PSM64kRSN1h7nKLrZWYfTzSoHZxJFYNdF9AlQDSRx52X0EABG2OntOZq\nsveFdSe9zsoFkjroQwQDIOlsAKQ8y27/Xf/CYd+tRUq2QgBexacG/DhFBBPx\noemAg5D1zhSFaca5evHbS0LVFjehLZs+wpR73o6o9H00xJbM0GKpuOaEmFAj\n6BLSSDoc7gTbs37RfDpeGa6+yDayCYCfx1eY/Va1xI71MG1DjdItjoxxuoso\nQAHeZc9Uslp5LUISt7XG9hsQa70fA+vbDOnOBX/Oqt6RO1x1kPPT1klPhcj8\n8RETS/NJjzUk1jHCuLMJxbK3vA/KZI40aE9xQql+o52yk9V12E8PJGs1AVdy\naaeidBTbTL9i3YGEO44UbvCw82Wm4nMd8Bt2YdmAcelpmooePr7WBEgthKSA\nLe+s\r\n=R5P4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fbdc53421d5701ba23a43e18a010bebd179dbae0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.1f318ff0f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.1f318ff0f.0_1612569839293_0.15491693036580667","host":"s3://npm-registry-packages"}},"11.0.0-canary.ab12cf7a3.0":{"name":"@material/dom","version":"11.0.0-canary.ab12cf7a3.0","license":"MIT","_id":"@material/dom@11.0.0-canary.ab12cf7a3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2354ddc3bf654f9930d7e54caa579abf15ad7edc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.ab12cf7a3.0.tgz","fileCount":29,"integrity":"sha512-gxPhJo8xzrH+cuvlcH7DCyx63vqPt1FbFP/IXCoYJ9WmuZAUSScU0/5ex9t/2qfqO1Xo90eEB1e+pLjgcFlVkA==","signatures":[{"sig":"MEUCICZusJ2CnNYcLoM5sYZ9OC6xbO3lFsa9JCDuEillo9KbAiEAqKfECkq4t8lM6vsUpuv8U8NmVJ4K3NxvsZpjnFHZ2Mg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIVJ2CRA9TVsSAnZWagAAKYUP/jkegx1hVnEysOGKt709\nXonIidYiqPFvbN03VLy6560fC2T17w2winaNELaaVIpxsHwYy2Uo6f9iPlgT\nDJ+y78QJAw7Jy3FB+lizwSH0TLA3EDRJf3k137ZtN0WKc1XphM8hdDTnnUbP\nfPFznoGSMvuMAPzR+wju5WtwGDG3Mawq0kaKhYJ15NsbdYwQTVB270Zb53EA\nh16nFTlAR7vM34W28FvrGt8PirdEARLHxSAPrIw8DDfAQLIRYBdae1oOZurG\nwOwcQLLwcSMILfLj2KQUgU8YQHq3gbq0bhTejOp1KWpQecT5m7Qc7o/RUno0\nG7VcsFrR3sHr3WcIxW9+SAaUJ3BzuNkhK/9KAvYNmC3GfPxuhPXa9sC4xnak\nqGGvgU6gV9MlLrNDOFRsF/m00ZyDxfBVWpvdcuBmvaxnr7GRQbpH1PyCOW+c\nsfg5SzaPJJbvFzXjkGzoT/lUy7+aAuSIHlC1sz0zMkGgADS8coybO3JUXhG0\nYvYisO/UEXwkGjQrzBQsjNF1aEFpo7Ij5XCVGZlbYwx6ZB+F5v5lqze01mCZ\nGV4FOCIl3yiutKOE8v3YMFEEFOKfYN1S93aK144trd+Pv3hJba3biAHklcyF\nft3lUCfptYJoNi5LekFtvNir6bCv9xzFYrfd8iTd6+49hs0YoE1KL2P1nsrb\nXLMA\r\n=EckV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b1cf52745607ed664e2dca58a230a3b3849aa273","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.ab12cf7a3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.ab12cf7a3.0_1612796533716_0.058606299359201364","host":"s3://npm-registry-packages"}},"11.0.0-canary.98db2c5ec.0":{"name":"@material/dom","version":"11.0.0-canary.98db2c5ec.0","license":"MIT","_id":"@material/dom@11.0.0-canary.98db2c5ec.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9ff248c0d42203ed00e6898556512e6d58520b06","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.98db2c5ec.0.tgz","fileCount":29,"integrity":"sha512-cdBYs2neXfC1tj8QGDKTzSAM9tro4AHmwFdRgE2hEVQ7j2oD+kYVb+n2+a3yXWbZCszQASlqhbv4VEWdDhvlgQ==","signatures":[{"sig":"MEQCIDDOEGGi7ywZ4UYix0XIdQQ3wVXoesQwFsnREjRRKJ88AiA7MaItK0XcmVkrTcnrOdzSVbOv4gIEY2gmwrAcAKPNgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIVm1CRA9TVsSAnZWagAAHNMP/2Y6qYOuYjkNOlX+WmaE\ngYPDJxAFkzmEVc1X91cJfmyBlVjiFkcpcOqaZe9MHqASRXqTNvHFzQvsIqED\n0tXmd/o/A8vNdnmVxOg6Z65rHhPhizd4SsbGTE1NE6yuL8kZiXqb7aD+F/oK\nL88qqrFyhH3L9+jyrGwTFzZgxOzTR08PsYUQygNuCIOJE1YSb7s7kmZ6vIeq\nsyhFyL6OZG9ibNjAx26F51fC26BHai1OK5rHVihmtaoSVY4a4uBM/mp9LkeF\njYPPa3e4qhwioYXAGfEYW8eUBRebgEyTbm2VMEL1UBSVivQ2XH1rECdJVNIX\neV0N6QyMcHwBzOWIGUFJJdDoQedUUz0sNoMm0iRwuDBbD4JN3NRmwSi801ic\nBX8wjP/fM47dgMVupf9FK/zv5eXmZHayTPSFP3R88heeNIuu7tm0UrWSXlQg\nYeIv3WLga4FJF/nIK1QF1uKHDSKEGg30wZuczTwDqQ9zY+sni1y02+tuTicf\nR+7EkmL1vAVh7fPBygcZRfdGghUgG+8V65jvmqoDJsAHC7gifoPYqGkzMhSY\nivUnPEwW2b2v+l6DoRJnUC1l+hybwJJk+wxenLxunxbbYRCqQchUJ7Ajo/Hg\nIre8+hKbcbgL7xT5OtL8vbdzEt78/tTnx6VN4s7pbSgBjOzxxY8XEINv1Hjy\nKhwG\r\n=qBvv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cc1b9da2cd7b871fe0f5c8370793e0ad9b1a5f1d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.98db2c5ec.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.98db2c5ec.0_1612798388546_0.058042106342011124","host":"s3://npm-registry-packages"}},"11.0.0-canary.1f86b9f6d.0":{"name":"@material/dom","version":"11.0.0-canary.1f86b9f6d.0","license":"MIT","_id":"@material/dom@11.0.0-canary.1f86b9f6d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2d51fe753110937fb35c7e7b08149d92492cf3c0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.1f86b9f6d.0.tgz","fileCount":29,"integrity":"sha512-vQWgxizBTqax7nlWxFheJziWjvQfenXzeJ93gZ1YwhgT0k0kv7T7N7t6z8ja3ZFk5XARv5UIjLwj6MCdr9mVSA==","signatures":[{"sig":"MEUCIAMIjYQTCJj1nB7+7e2eNvIWh0t+MbI1z0k+UUr8PVQXAiEAzPHpZfjCdNc9Vjx4egC+1+DSz2LfWk+82f5Lfwcyw6I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIXHdCRA9TVsSAnZWagAARJcQAJ2bkXau8ITomsqJhpD8\n2flsz0ZqHFxsbW8r7I7T4teX+tJUYIGiukOp0Alhx+I0lAR3SDtrZndQWp1S\nBDahl4oFHHs75+2Cy2GCugslIWF8gJqAhExgY6Jr8qcpMYmEyKPxPr34zu/E\n5Oe0tMoxQC/XxnS6ARhZfjWeoYQ1lmwkPwKEKSjh1hVBO71MLL3KkJ7jVB3G\nfeC3pS00PUfQTPimnNJSRRac6nN8X/Lgj88UB8mQgV81q/UImzNxx8+tDzo1\nF4fR7e7kbkxF7OjumCUI9JxWskFPl7qEYD4PQSrnQma1rOp98viaUVSIX6Mv\nmhp/YqTJsJb46rOKLQ2HElSbPe2wad+EFDLQLVgmVzMIjHs/8BBbcqEfdSrQ\n8fGjCw4yltU26HAtGqjNgSi9itcw12Lu4qrh6WK5J2hGBnRuks0K25Mh4sur\nXncU2FxxegZgI9UakpI2eIONcN4araII+V+MHhyOPA8pD6QbgWbOR4q1pPCD\nuo1aA1P9fos9OMUFjNPAWIsM9AzE/Pv7G4QVhOPnfekzaEqr+EKGTGHPUFGi\nmG3Zx2e+dWVRO8yu+IHOdd2ta9tev5tGlhW0YJ2izXdu8Ejcg5RkkfMMmCJ6\nnmJ6mcq4dQ9smT2x8nQ1rgejgZrMslseFYhn1sStoKD69uXj6smNK/LJLrxU\nrp93\r\n=PdmL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"aff88a7d3786743558ecb0dabd92c225698d2b93","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.1f86b9f6d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.1f86b9f6d.0_1612804573000_0.28718822491330753","host":"s3://npm-registry-packages"}},"11.0.0-canary.aac8f5d9a.0":{"name":"@material/dom","version":"11.0.0-canary.aac8f5d9a.0","license":"MIT","_id":"@material/dom@11.0.0-canary.aac8f5d9a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"11525071d31bff25fe3ca7ccef7cf346d669bb68","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.aac8f5d9a.0.tgz","fileCount":29,"integrity":"sha512-jW6x+mGeZ8ITRbeL4w2NpRMLVSa7iua2zKeMDxggRNdkalEZ3u9cE5Viu4yQ1A8pqA2hp86hyNcgAnqep3zBIg==","signatures":[{"sig":"MEUCIBFRvEkjScmpE0sem3m5BaiujHOXRAC8+rjmrM4X+Ls+AiEAqCWjUc3JDDVO2laBnuPLtmXycP8xVkPwFey3Wd7eYOA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIXv2CRA9TVsSAnZWagAA1NgP/3/OpK3s2QtYYPrD65QM\nXYxErpGS/4dY2wjw/pJQ32UU+uYvmrN16bmKnXpXfWSLWH9SmIF9C9LmC75P\n06aOS0YXxLkQnQuQUvJsj/HAR1IapzYK9DVbtPr4UEEd6c0Rc2ylZDCeifCA\nT2se30G+pGYHtF9uvuobwrS4jCgbB7Y8FA+qOHby1Dbm+wem2oRtJQUcr5fU\nnPNfwMYIDzxUAt08xACT4kwwDRjn8V9/0BbJnrgGQ2oOZ52aaRMDyrxI+R5K\nWvjICyIm+gDLNliTpIczzhb+q2m0J9AzrbdNrtd/Oe/s7pZnuhzEt9oRtQNg\ncAF1hg5RTS+CrSmkfsvQQ3jx0xGapc8SrqpYU8eS6sWzspChaqjOf9rlw3Mu\nFQv+qtyHG/dC5MOwKY0xv5Zh0JPND/VceLTAad1T3SdHFuya67sLS/up4A26\n0XnY5ikaiixLYpEt2nTMIb4L4atmE78QqsRIN9foF4YkRe+knm7JUcA7UiWD\nm2wUON9TbFcbvJdkygixfSAh0/OkLoRAzwcwSp61MTsQhUZNknndeOs2DD8z\nBhZw6bU/+/6oW0LSCq51lhwEhHPSx0irxpkVx/R98/rv2YuOrNmc9Y+DwAC2\nnK+0vwbW2aNzys2M5Zt03SRt2bgRodgANlGzfI+wUSmbWJUacsobQJvo0zy0\nGw4Q\r\n=Oxjz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5accfac22392cfbc1035dcad920093851b33cc79","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.aac8f5d9a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.aac8f5d9a.0_1612807158097_0.5449580542635779","host":"s3://npm-registry-packages"}},"11.0.0-canary.750e18fc7.0":{"name":"@material/dom","version":"11.0.0-canary.750e18fc7.0","license":"MIT","_id":"@material/dom@11.0.0-canary.750e18fc7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"373d33fa3994c90e208c1f4f6dd084e2fde4e7ed","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.750e18fc7.0.tgz","fileCount":29,"integrity":"sha512-1Hk3IWRm06AcBjl8SIA0tOHtTk3v//wwcfGhb/TAMQwZXES0kSL6SvqnmNPA1skm9wJ6Wv8oXPU8i60YGgY92Q==","signatures":[{"sig":"MEUCIQDodMuWhq+i34iwdjYukokd2qatWdwbwIgPaE/UFTzCmQIgEaDQkZD6MkpuvcwNXD+b8m1Z1qgoSf8YLaSdkA0EjoE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIa/JCRA9TVsSAnZWagAAmuYP/jNjXpQeJMf8gduNrm8b\nwBmPx511x4bEph9XmUcjz1oxaJsY0seehqgHet9q+z0LOBi93xEqLbtgfTrK\n+VrH+hDwmlL8Gd3jwx3R+jgsQFtWnqCBtvsY9ASCaDuWq162HGogHweLaIZm\nCbu2P45Hb27vLPsTzcecLM4mqAAkFqii/FOVGw/0HAoQXEqvHkyChMFnfmD0\nIiDdl7RT3pB1VsdsqJpPck2hNsONvUKo6BuRdA9KoqkEBW33X3fgp9x+gUrX\n5a2QNHnobiR6LiWZGslbzCrFlXg685uTvLQoUZxaDA3ulQrZK2Og7HNF3wo9\nkIhz37QVcHG7zL4CGyE0+M56JrewyiE6iaHbrU9PmWq1/rTGYMqqyCASg7G0\nRB6PnfVePdd/je9QevcRtJcxIUsv4abgoaBm5WXyYDzEdRUR1t2ferDWK6Ok\nsJRWwmiAfHEjlZuHuzwOKf3/yjIYVck3K4RVt3vF/surN24adl5IPzyLznlX\n8whZ7fTbWDqrBGHj+Jrb2rVVrrkqETx07hnv/KPkLCNOZMcfYnY4OxaQHFeV\nyU3kvPhCDRJRwmjPYSYotvgPjZHqMwcwhgAt45siZSR7MbBm9S6wxRu4zwb0\nra9QyrWQjuW8Y//L/8e5fbJKDQW0xTxmvxXUIZAZ3CZPv1shLqFoTEOcG5QX\n3X9B\r\n=hZDq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1bab3bfc895c50d4159c7b24b69d3ab3a7eb9e72","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.750e18fc7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.750e18fc7.0_1612820425065_0.11211077005712133","host":"s3://npm-registry-packages"}},"11.0.0-canary.b62b1266d.0":{"name":"@material/dom","version":"11.0.0-canary.b62b1266d.0","license":"MIT","_id":"@material/dom@11.0.0-canary.b62b1266d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9a8197dd4ac0bdf55c9aa812291a38c6ddee11ad","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.b62b1266d.0.tgz","fileCount":29,"integrity":"sha512-TxHR87HAigGiH7TDbRSHtcSTUMWNiuUnrSwL6cISCdOUNpXOUDXe7wPViPNf3GF2w9GwMqyx2lwTYat3sXEDbA==","signatures":[{"sig":"MEUCIQDKOYv0W7dZ51T0873BvXbynzx+J8b6jU/hCJCD/VuR0gIgC/AQNo2qg3woVBemQ+IyFr0jomv0B9yGu0BSv5zLJag=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIwPnCRA9TVsSAnZWagAATrYP/1QmF2x8taObt8qucuBI\nnGTJK6vc0CUF+KcIWv/Y0REbPgrXG9sYOniHMVmqgYTzqvzVUk37E5OeVgcW\n+bLt1zqKYV2Tu3cGZ0SHWWgtbgNU+oCurjfj5Bc0Epa2qd5kLFqkMYyyO6gA\nCRyJiAoP1RNsM8YyTVl/8fLoUMTF4O6zTsj4G2efq3BtsYW+yGcXf84qnq9n\n+oZ0O8SRxDenzA27p77FAaC2yncBr7lwGDKtTLO02hpybuPdVYBSB9ge1K43\nNo7868l+0WqdHdmCPE1o/EfzEajH/vWdF5cuWNRNCC4aVCNTEMiylrIJ2cfL\nQ2RmyA7SXGwPchLcc6TcGSDI71n5YgtPiZ+OkqoRVq2PBFNUZhqLslaedRB0\nn4myzxLYkPBJr9W5H4j0ewevVx669LB8vZl5qJfRHMYYCoq8AS3k8dSj3Qb9\nf1SbmeIK2ObsaCKL2YefpKWQrbgPsZnIYb3K1y/o5WtRnunIfiD/H885+IGK\n9pJ29jJhXBhjS2+kt1s74wNpenCrzWGOooxw/HJ9JHmIKXslVlyMPddt42+e\nycaI839RzC41oQjJQVDNUib5cWleZnrikJGD5V398mJ/5i1NQbx/2sLOAkBt\nhq2nldy/1eX7KRq4vZ2oSlJb1McMXX9x9LcUHXOWatf6lalwRDJwzG1H3g9W\ny7Ie\r\n=q+5s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2369de5a28b7ff8c15bb5f1b2ba96320e8a9126d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.b62b1266d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.b62b1266d.0_1612907494620_0.13542916807253036","host":"s3://npm-registry-packages"}},"11.0.0-canary.a6b3101fb.0":{"name":"@material/dom","version":"11.0.0-canary.a6b3101fb.0","license":"MIT","_id":"@material/dom@11.0.0-canary.a6b3101fb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"916577d931175fd5629ea53e79220180db34b938","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.a6b3101fb.0.tgz","fileCount":29,"integrity":"sha512-9ixr+Sqr6yi622WWWpSfhWpGcdouoUxqyHj0EIiY95P96wAr/bhsKK/xOIfAuy7bJKIMBhGU4uDGbPERj01ekg==","signatures":[{"sig":"MEYCIQDzmGswRlE5vu9y7VeshAJnoXBtNw3/l1BJ9QKWGLHdIgIhAKub2xZe16df3W5HrO5/VW2ga7b7dMrhMX4HDiMm6b+p","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJbqwCRA9TVsSAnZWagAAP8wP/0kLjxwPXaoixrSefeYM\naGlc1bXWgx8JHzmfpp1GYrVdhfyCzrxmO5lQNIgowOvtoOjZjQMfrYhuqYxv\n4kgszXqgD8dczmk/9aTY9h7Wc34hyld3vCvJWtwrI+Hq87xMiERjM5EPv/b3\nOjVbaEblZMqDHgi7wSSxd8W3AyUhCZMDrdGo2xKxfN+xDNFNveHp60scJCUa\nn9ZgDfWz/L+VTUE8hNEeeamMVl+RiFkcbzyr3yG+ZC77T7MnH8KQWdDiynwV\nltpuf6a/HvqsVQK32R1funH3WSHQuYSk8mktoXVRkg+svqMDsWy8RxpPM+Ud\nbSMXHpHA2qbvkZ0XMBmZAtF0sAgVCPUPKxzvRSyhgbPsmwtXOUIlnS2vbJGu\nf+f3LDrT1IadeKQFBsmhUlNoFyF2L5COi2vgCNpXCdfVberw3wqBhRZ6O90/\nIA6Y0a9upYqYGuasbvjET3pR4Fs6cViLWu5VQv7hAGKLvcbI4wUA8bhSsHFT\nQIw3osXeK9rIMhGyR8drmcEbz2HBjbSunOPZu75hjpDA7BviBvkAs5+yQysX\nUN6aN4Ofd6tUJKO3ODzTngN3/VyEMjoLzmGLTrcT2Di3Pgl1WCl07MShjSfJ\nMJUJz4IAiRNhonhORbwG6M6LzvMo9tvWiNyo6k6pj2SDXtO3mHmy2S2PP7nG\nZRZq\r\n=jVq9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4e94d35f86983ae07d81d1c7893ffdfca50c2afd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.a6b3101fb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.a6b3101fb.0_1613085360182_0.21715356572131594","host":"s3://npm-registry-packages"}},"11.0.0-canary.ed88df700.0":{"name":"@material/dom","version":"11.0.0-canary.ed88df700.0","license":"MIT","_id":"@material/dom@11.0.0-canary.ed88df700.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"55e8eb836793d24f95e986734a48f58910bec8ce","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.ed88df700.0.tgz","fileCount":29,"integrity":"sha512-V9EDhtL6bUJXzvfuhuVuUWS2719ZDoetR4ksel7cWzhpJlyuqLu+82TrD19inZV1tQcXa8v5fa173Rn9HDiMgg==","signatures":[{"sig":"MEUCIHezCxpuqX/VAXXjz5nWWhdxLnjej0lJXNIg4iM/m9wpAiEAg6uBGEnv49w63C849qZ//+w/2h4NG4mbIkO5ShJU8xU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJcZZCRA9TVsSAnZWagAAlnwP/1w9YnBopo1UkGbZ42vh\noREJYcU6Oh967GqDl12JmfGL/d2NjSGEN56y6sjlCrJxl4bbfoQWD5hDtB0q\nbw8DDDVhwGSedu32mkTUlXNmNYNkEDfdx/DF4w5uQqIa/oZicC/K+sbVKwCA\nRXlGthNHEkmgOULmGm3a9l8kblB65GbdvWbSmv+45k3vIptNCErhuStlfWOt\nxBZpyjsyxGpn2WJKruX7id415ZoIFnq7Q2gdMKZ4gVJyfZzfjpcQJ+J+9nH5\nTaeT1C7/jb0gwUHGkRaW0QrzeqxGsd386c+xTQw39JmUg5M5PcPsUb/VJCbc\nqmmiPrc1u50OThExAIk46RJ65qYmjNKBEjPfc3K+1Ktu6ERA1cmgHiWYWkt8\nfkB7UyI55AANMZLUu3X9EmNyuepbMs+SEzEk0ovmudBOXsxIpdYYhgFdKMBo\nRnPDIg1MLEfEv+lYS8oQ3ARe5GpptRr/TYaEhVhCcWN6aq8pMca0ghxTWXel\na71UXFVTJx8EaNDz4+tRjXxzm6KKgapAxNZaUcOSJlrWb4OkAynR8+AN/Ljh\nDdEH9cyzrPWuv6BchZYNOlsC5WiIn6yt4arpoNLDiSCMPCuEvT6DWbptAMpi\nCGlDVqk38DRETniIJdAiu2ovUomOxc8ixz8M/LhYISkKv/xLMEHv4bnxDHaE\nbGlD\r\n=1VFk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9ee8b051c4fdfde9d63ea193e791d71e20094867","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.ed88df700.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.ed88df700.0_1613088344612_0.09346773385010376","host":"s3://npm-registry-packages"}},"11.0.0-canary.d30efe6b4.0":{"name":"@material/dom","version":"11.0.0-canary.d30efe6b4.0","license":"MIT","_id":"@material/dom@11.0.0-canary.d30efe6b4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4a16bf6b7b14c5f5f8d467d2d928f09e063b490c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.d30efe6b4.0.tgz","fileCount":29,"integrity":"sha512-ZhBv/OC/w+FIf9hjgf+4+HuXw7xSzQuAP9KcKNvOf6GX2S0wUZKRslNMKObp+Mjy8PNHyO8svejGKIPArPCl4w==","signatures":[{"sig":"MEYCIQDKaomRhtOV3QiL6UeV3hVxiB33g8xKUAPQuRgk/SvHXgIhAPSL+9OV1qNLEec74ZSFPiUjOZrJGr0EbmUG0LMEKUlN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJeq5CRA9TVsSAnZWagAAuSYQAI9r3k5agwmvJ01ZjJyo\nQ/WG7GobxVL+yq6+Vitk+iHMejpxPGvdEwHCWnt+wxT1gwO4NvO7KMGe2aNU\nXxUUwjdwuqnS4Zigjf8hXuLyhi2yKPylVD4GrorKP7xX3FG0ewrqYUR38qCK\nzFJO3T28LVyRN4Tb3gVEhAGKJsm8RLXu2De0vfVvb0cbhVY8sVG/6OvVwMB5\nMNjz2P271DiEmMY21e5BDcpn8RxnWdypFm72CiO/RQnolRcPgVGzUs2R0X1j\nagxjuGAyaXqB0VpVINHvDOG7D+mxqLVK7U80hRmbZeUQtRC6KrbNI+y0PUAX\nNqMULpJIC2cpCmIv4fFnYKKBznc/vRjNw+znOZhMLjZdMhWSNlP15A9WhNSn\nm9+j+0+CsjbaPIBwgrVM8RxWuaczMzM/p2yhoDs5Perl65q8zkR4pjcRKoq8\nwh/6rNhP1skBoTU9cBMxS+Pr4klAv36VEJ2zZ3AjOdYO2qL0LYIpJSG7DLFj\n9Dzh4gKDPPhKYP85oUEhTRiLjTABvuHYU/ZpexQwxg3VQAeA/ng//OialDuD\noglh2HcwPWvH0jj1Q8Vr3jANuzwMu4rart/NHgiSRLsNXFDuTQSVJYHuEIre\nx7fJW1AYMv3wkbaJIXOqUiKeXOLVjf/jhDd46kr3lvYl1TgAnUpP6iDzykQZ\np8hg\r\n=2NLY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0d2a46d4ab9ca5088511e4e0b5cf2b261e3e644f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.d30efe6b4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.d30efe6b4.0_1613097657266_0.7055208792616257","host":"s3://npm-registry-packages"}},"11.0.0-canary.0393bdc4b.0":{"name":"@material/dom","version":"11.0.0-canary.0393bdc4b.0","license":"MIT","_id":"@material/dom@11.0.0-canary.0393bdc4b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6c36e2c26c03aeb00e90806a7ee98d574d2ac745","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.0393bdc4b.0.tgz","fileCount":29,"integrity":"sha512-0FHNsde5eOTMos1iWI0OdqZ0Gxv2JTO6v4MJeANleRx5hTXsRt9niONZRs56xjJHKSJ0CW5EGmuhQMTmhZhDvA==","signatures":[{"sig":"MEQCID2I6HtQLzsqLFE/ZaJaZo62XrOpzYCBR50aR/PVSQ9PAiBLh14+Z7BklY2OQlpYg06XSP6rLeVsnkqAP1H6gRYlmA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJgQ+CRA9TVsSAnZWagAAdBAP/jI3b2u7NHwZ26OVu+uv\nSjYz6IHh3o94hIV/J3GKDdJ8X/HjyGs7a6yALaPmhuijgkb1ubGz3jUzVW5D\nStqFmc0rlgsZqI6nRLbRjKuIs4di9+duWSqHw43yZuen4Ngb17K19FeFJkhJ\nXipkQ8xkmmxeAZBMTiBsO/jKTyISWGIqRO8+poWUuFf8dxthCu7lGIy48gT5\n3iTjgrUTlV5ARpS7bgriSnKU/4YgQyHrzT+vS2ep3Icjv+6mjZULyd1BrFLm\nnpBhIVSgB9n5qVKgPSEQCYBNqfTJy90Br7750u9ffeDZ41zFRPmiwXNEIT0A\nCLSE3XMPWQuINYJE+t0ij+0OzSYItY6X/mDhQU+PCyzLGTg9Ge2FrHBoBCuy\nX9DfGQmxyZOq7C2VCBSWWpW+H3cceN6SYQrtgpd6lYdU8T5bBMWYQmaQcoNa\n2QT+FjJJMzmlGRP1Hovdnh6gwQ/roWp0kUOMvgIc3cG50c+SmG0NZ/MyKrwu\n7Qa+ewuDF9nvNOoNO85QiVUTmtx757WYjYXHXzFT599KmXcllJWduLkCk8rq\ntc3mIyFR4XCl45VJY9Po+uol/PN7ELpgOg81avzMu6t66RG4hSsANCi6X3u8\nwvIwFlhIjwXSxToJRM0E0HQQReQEP2G/ObgG3BmGj1IbE8rUWeNxpz7MHE8E\n7N87\r\n=ZE1N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8f241a2f549ae5b1fefdbb0c93ddadbc1e1705a6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.0393bdc4b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.0393bdc4b.0_1613104190215_0.12828239881093628","host":"s3://npm-registry-packages"}},"11.0.0-canary.7cd26af4d.0":{"name":"@material/dom","version":"11.0.0-canary.7cd26af4d.0","license":"MIT","_id":"@material/dom@11.0.0-canary.7cd26af4d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"52953f5e0826a067a0369f85bc7c8346ccad7af8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.7cd26af4d.0.tgz","fileCount":29,"integrity":"sha512-SP4pvCi0A2ZmRiJodu3YDNks6gS6iP/CSww6zMAuS4H7BLalWb5EL4ZRNL8aG+Ya8tkMlJXUVQ7PL/jMLqLoyQ==","signatures":[{"sig":"MEYCIQD6YEOsd3MkK0MsO92KTXunZNazpPJS/I2fTLYoSLljqQIhANeFTqVOieGUzVgcUDvrZw7QjWu0gZS/AR9273Gdz4s+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJqWiCRA9TVsSAnZWagAAWGkP/i5lGF4ufUb4IuI72jj7\nckNHN9ROihAXnADnbZ3eGeb7PamIXW4mUiRCq8dU9wuMo1cr8yhFBf79em0f\nlzDQaUnISjKmO0B6rDgwdJsKfypt6TnszkmVVj01jzexJOBs+IscB4EEZ2XJ\nyE4tC8LdIJQOTIHlRmgINdHATI9EWVZOFftT2oX1DVHqfimA/8BQMVm9fA5W\nI+sPgq6Q8/HovBI227uN1PuCvheXO8NS3YOF4ciS12F95qqJ5W6qIldnDrl6\nuB4hlC5NpiH6fFJaMe7YkSoIPiSMfxglvTon+PxAA8gj2aPhMtj6i31VQhMm\nQ0ETiQfowbEWNjWfp9tDbC4hZXzZFOWS8E78fR4XXEXrL+Q5VHPvRbwwDYJA\n3OEfLy0EG7NvECF+aJm76Y6q6iSZw5BSftHko+OUwz34M7q/BY4HfYdciTXj\nb75WrNRTfVwS09BjmSaypACDX44KeVKDBphKshO3iEAsnIr6BFoaJKvCuk0h\niiNC1TibpM2GOm36xJZuDwYax0ptl8kKRyfrkh3qtNq/fnuKoiNdvNgvXXXP\nejSFVVxNnL3cNSW0avJ+0F2sh3goys5yk/u2MfbK32S2o+AsCgBbhqLLkjZB\nptYPrcYo7EO3MtdYFBbBzlc7oeXGMej/6//bl6g44o+J+Qx+7tgSJT6AExqX\nAtMZ\r\n=eRCM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"da78e237011a9e38abc623fed26601ad22a7426d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.7cd26af4d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.7cd26af4d.0_1613145506233_0.2816982463415967","host":"s3://npm-registry-packages"}},"11.0.0-canary.71fe9a067.0":{"name":"@material/dom","version":"11.0.0-canary.71fe9a067.0","license":"MIT","_id":"@material/dom@11.0.0-canary.71fe9a067.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1feb19b10dce75b6d48d831bd3b7423d4c7aff49","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.71fe9a067.0.tgz","fileCount":29,"integrity":"sha512-FctkynGE002Jn0qhsltVDx4Tyvea9U//fljAQDiSso0MXLHTcfKgvYMZ5m/cQmDUagba8wGoOqKMugWVdyVd9w==","signatures":[{"sig":"MEQCIGJb20ByUqiZ4ayBnbY2NWznTIWAHevCzeFuLX0Pxn1lAiA7NcJr9hYZCGuNDuhcA/gJRnj6JctzQXAsYUDW/+q1XQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJqz2CRA9TVsSAnZWagAAYZwP/i0EYn1SCzea4V+J7+3Q\n6OUriy75Wb3dLiHyfuZMSoYcFbQKTkf6dL275amUD+1nXi8CuMzYLCv2l5Uj\nqj7k7Lw9hZiOeBb7RZuHDb4Lpa8v5WXRBxXlJ+TDI9g8c1qK3Y+Wd8G/UrnR\n+wG3ODLE8drnKcedKWiyiibefUGHEAj8sW6zBTncfU4OhLIuiyakXsYT0r8b\nbqWPeAr2K7TanRoEW7IS/0Nij9LKpB3MrNvnNUc9TcacIXWebQlX8FQGojp0\nEyGdFGckv92wxpHLNV1hHke3np9dZ1Iy7qOMQv72bYRwi4BtsnZ1GWdKH6AI\nttxwoh2Wd65BxxwhmzmKFyha8Zr/Cf+SS8cf3+n2gg/PqcF3D21abr5/xTcV\npTPT/Ot2EKDbkqlgzLvL/TYNAECrFtI1XqxAY35hpPG6050OJaRxWYrM2iAW\nejiG3IEuQuzh1N2xNDecDBWETEmRZRR7DIddyiphkfhoekI85JNsfY31zQp3\nfzRmPTL0beS+IWiofPDrRpTUsMgqjyRmvbtMmqqQ1EWo6VkykpVGyC/8mIXx\n/SGqn3YsMxW/O9rxOHnNee0ElC60Yd45mYszIJQRbRrrcGoR0yvWDhYH+fXP\n/SV0lZxoUBAMFSnEnwLZFIryVthBFG2Qy94CUkEcXNBKDY6BTr4dB9m0GPKl\nXKvH\r\n=xRxZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c79890da6d0bcf08c3d7c57e31df805b50394019","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.71fe9a067.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.71fe9a067.0_1613147382385_0.7637363010659615","host":"s3://npm-registry-packages"}},"11.0.0-canary.0fd56a86b.0":{"name":"@material/dom","version":"11.0.0-canary.0fd56a86b.0","license":"MIT","_id":"@material/dom@11.0.0-canary.0fd56a86b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0cc5d982302c847189570cdad0fea3e938f5a6c5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.0fd56a86b.0.tgz","fileCount":29,"integrity":"sha512-gc+UQWvl4iNf1M1S4plWdDazgupW4K/TDsrEti82i/vT4AViRapTfCJGAGYuvntgGmkUEeUab8ytn8z2SjIqqw==","signatures":[{"sig":"MEUCIBndaWvd5hAX37LoceXQQ2s8pd0xWPFjsOBnepwGjXq+AiEAvzV9EtkPB1MkclqkvHGzGudthAzfMKaGOtT6piVAisM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJxkICRA9TVsSAnZWagAAIVMQAIeAco6fqkt+Wu4COpBK\njYutXdl6Re1d+Ez5SfTUovFZH5FauU9wL+oDAPXze1P5R2qxWJFTgx38JVxz\nERqAX+BDu24mGJ7Ua+GFUu3Kbdcq1+FgGGZO26I6d7QoHiMyauOLvLq/uMmw\nx+QnFtbJI8BV6CnZMo9EFd6F+FtesIsVi73Y+V4COrbwyE7a6nkH2t91c+Pk\nYFbLkg4IqQYdretpJFyO284nZwtP3ya287t93gHEra0TscMnnwM+f08J4oRc\n0hE47KnApaxVWYAoxU+Blhy76jFe2klNPToOOSyActzN1mstj/iWM8492kRe\nAByvyIR0SnjZ/PGHnlQzYhYCaYj+y0HKcr24ZSNOVv3sDmfTbGLRY7BvvlIM\n+Wx0jSkfd2PrTq6HaIm+24MbtN9/fLBMW4AHSBEc8apcfEJcOhy8UMDIhkP2\nHW0DoOauC06P2Y+a6TmLztdxp2HGdvRO3jgvb5kNkpuiJqDft14t0C1ZavOs\nCjq9iS56LzbnIviTHVFYUPxHOQjp45iP9msGuUydqEbyFHuhyjNu/b5NPYb+\nnZ/3la2wlMQJWeCeJuhIwKOqtXihM6lVSFnPmghygmFUXhAktydlKOkFWX2r\nNPb4BKgGdg/gufe6vQgkgOJskOgkTX7TcC268g2b3VflVd7bKKLQUIsUGIwS\nunze\r\n=WQS+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b5d7e78bfa318c864343a15754f4c5ab98160ff6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.0fd56a86b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.0fd56a86b.0_1613175048266_0.4581228451298611","host":"s3://npm-registry-packages"}},"11.0.0-canary.f19bbc4af.0":{"name":"@material/dom","version":"11.0.0-canary.f19bbc4af.0","license":"MIT","_id":"@material/dom@11.0.0-canary.f19bbc4af.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c24992b8cf77cad9075e09fdc00ada6338b66940","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.f19bbc4af.0.tgz","fileCount":29,"integrity":"sha512-XQRwiG1dgpXICUq0IP+R0rqOUgmKuPhdFs680vLW1pM1mO+j3NWD4eBb7EDNH23u+rOrYJH1anGXXVC0nHxm1w==","signatures":[{"sig":"MEQCIAnoi92vq00bXouUIHyC2ioKMrtS3Yetd0bRgohqzFUPAiBYQUguzraLgEl2u/XziDc9GtUYcF7Wr0bh197n2kcixQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLEPxCRA9TVsSAnZWagAAfmIP/3qbp0d5/o2J/b2l0Hs9\nO48YAoftmTu2LiScip+tusdPsSHL15M1ipzMR41bavwLFa3bONievYSE+P6b\nS/GWsoCdp/cr4Cg8YDc+ffrUHv1HHZRRozaTqooB6Qnb7+UFP547anfJ6jVT\nbWT6ruGTeCrr2y25kCfOUmVM3nmpAnrRdCc8RKXIwVdKYbVeC5wfipCR/Ku8\nKrt2CmuMwhqVhkE/uiZvI6OsmlXYqqHT7kbp5ABdFojPPV+UGUIE5z37K1/G\n4XRMtIJz6o6GkVM2bQRVQpisRym++fmPXm8M6V3UccDZ8RKMq2ufPl94MLF1\nuDQEqbJhXR10WSGmJHiPHO0paicVxmuDHpyUkFyrHb1UGvYNofMZujH5oaEo\nVU+ldX5Z0dl+ZFp0/ZK1ACJQplXNWG8Wo8dLcAj0oaPGh8t7bZaDBveL+qef\nIMBQUDFoad1W8axJe30IAMZIc8vdUrvKXs+cVxy3xgwjHgDUs+AbokzjhqD2\nciLYN+F7FsSfqVyEsbyp6x6a2vGInqCWN10fmLVMAl4IZNacH8nwwLjXVqjh\nb4sDhj9gRdSqHxHe0Qa0ir9IBQlkt4Dpv+3uTyXI4HoA4LYBXIKWvWCunVso\nB1Rb8OKcgHCJ/I/Jhe9FbVrb8oqC0Czuve1B2zbWOlXMmruxvb/L3PR+VUSz\n37L7\r\n=NxBr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"842729c260f5a3be9fec8618b41657a90e725af0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.f19bbc4af.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.f19bbc4af.0_1613513712952_0.9606890896270615","host":"s3://npm-registry-packages"}},"11.0.0-canary.f9cac96cc.0":{"name":"@material/dom","version":"11.0.0-canary.f9cac96cc.0","license":"MIT","_id":"@material/dom@11.0.0-canary.f9cac96cc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f31aafbe0f1aebd756c4b52dec715cb3f8995053","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.f9cac96cc.0.tgz","fileCount":29,"integrity":"sha512-vQuakF+2uLPSFWgj5pLfLm0VmPe7JTjqnLGAGldldqGrPqUMp+yeX9AVHfXHpGvs/X2AfePld1um2XGJOVPzLQ==","signatures":[{"sig":"MEQCIGAH6EtEnxyRrysXOFf6RaUbGqGncTnoqzfnu34+pAsQAiB+ggsEjd5ofNpN3GFJHvaFttgXNyxy7U13uXCjarszug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLT+MCRA9TVsSAnZWagAAJUwP+QB85P/SnwDYgqMV/3LG\nb7W2h7qbSZrs3kCmGClxgMBKLl4KhkEiMcIOyONwyZ4H5LfNrGcgj/mt3n//\ndtsPmZ7mOo5GWI99IgWc4VQ1ynVYTOcTkgMCA1Uju/msT/eEO6TC2RWPr5Im\ny5FRNHW6MU8eKPIB/R5B+GrEZs2SCJIhnKUutBAu+73f2AZjRnnoTNn07ybl\nVHL7+uI7xt77/ntKCg0WDZSujMfaQUa+uEsRD4gmaLmmR0/r1sR3KiI94ViB\nn9iJNepdme4C678zXUcICTl6lLaqcGRBSrbOCGmw8nw/yZQkwephJaD1/FtS\n5sfL2FQxegD4AoJdMgme/OUBj0KFN9N+YW9EDQX/aPFlgPGu2KTYiV0auJnJ\nXpnCn4D0QJ9sXG/sK3AHxlW87jsOy88XWtnv83ZLzR7fbOhDxbeF7K7OEGCD\nKjD/hnmdyh1l/RXaZnTPGoLSAe8OUZpXl/9rpmv8RCYrRUEvTmmlOuXbqRFC\nuh3KoVfU0bD1EDCfR2iqrsFos4OnkHUkoPkBWdxuyjAIbNRpdE9sTkpYTpIS\nFYdkWqsoG+kUYhIHiX7i0PvN/f8zBJLW4tXHH6qfjPv+sYnaN4YWVsaHWBxr\nrZa/6VB2h+XmNYsXu6F2KTv4D8ISXMc7Cm2Z4AsdLGTClc6oB+iCHOgVSKh4\n1lzV\r\n=y/Sb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"993e327235c8cd36a8c15095389eb149ada97cee","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.f9cac96cc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.f9cac96cc.0_1613578123706_0.8226665847118937","host":"s3://npm-registry-packages"}},"11.0.0-canary.79ce0878b.0":{"name":"@material/dom","version":"11.0.0-canary.79ce0878b.0","license":"MIT","_id":"@material/dom@11.0.0-canary.79ce0878b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"39724515e146b05adb4b4f7192af7897c569d045","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.79ce0878b.0.tgz","fileCount":29,"integrity":"sha512-9HIVXI7unLAkzgW48zowJvV68LPjWXoxfA67NaMysmfEvTBSNlMeq57wi4u4J/WLCCJbmjiqBI7Qv73NPvc1EA==","signatures":[{"sig":"MEUCIQDsho6JNHWLTZwV4Ei6NdscWcQ2i8y9zZKrDvMWxRiE+QIgNEJRtDiVxbOiZTy7UTCgj0SDI3f5SoFR+vt45k7nJ64=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLW1NCRA9TVsSAnZWagAARDwP/28WhXRdw5p4f+QKzoO0\nHon3vHp/ulSG8Rx8fYI04CPzc7snJyRa7MIOUG/1+UinbQ7w4/Lqdub/fIzX\nh4+dspLG0NDI6oJpB6xHIpR7/w5VzQvSsne20W7RWPvdje/zO0f7nJBsywm5\nXPZiUaHjKVr1f0Oe7Lix2uLe7Oe9h9pmalXRmn1gDWGmrs/Hn3y7dyprWwqD\nRxmqbZDTCb1pRvTcgERDttuFwDNsxiKMoHEnpDT6UGD2txPel+vHnf0m/Nck\noINemh26DCwpxImurB4tvRKpRKtnIrayyEJGlZ8i3R4TQReSE1ljuHK+ikOO\nROi0ghAw478/qi/ka3kkl4om6T1Yu3kpFbM30NLcykdvygmUoj6OMXg/qIA6\nRsz25hrS66D78Ph8kb7TYvWHfmdXgbWVN3VHUBZ3BGJVCcw8w9Eb+5uD+etE\nB85Bbq5n3ZHOmVC4FFPoyG/lBmppQzrJsaAlLTSAAwATRYsL7WGb/zP3s4Zh\nO/HrPT2s0xeWCYXAdaJCpIo/BryMiWkppazLkY7mn8BYvKjRVZsS4dokSe7r\nKl0j43sBJvLU8lVTBAz85ZbPBUo4pAprDrZS6E3MyFS79KjvHudIgsjR/LGZ\nPsRuXxBbikSpBVUAo49lDo4J7B5TJWXvnBlBEEDaCTKZtBXY38T9HIbkYY71\nbkSn\r\n=d4gs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3941c218ed650b1d1767cd6b17652d4e1b5f7ac9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.79ce0878b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.79ce0878b.0_1613589837422_0.13084199555017673","host":"s3://npm-registry-packages"}},"11.0.0-canary.d6e507b5b.0":{"name":"@material/dom","version":"11.0.0-canary.d6e507b5b.0","license":"MIT","_id":"@material/dom@11.0.0-canary.d6e507b5b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ebfff99c408bc797992aa90481a5e989517909a2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.d6e507b5b.0.tgz","fileCount":29,"integrity":"sha512-1oLft4+6rK10sGqSPYxIaH/nBSB+g5juDI89K98r6MhXsNkidyvbzeLrx3oVRrb9iPgpKQgsra9ZnaEgYbNrxw==","signatures":[{"sig":"MEUCIQCzCOXfuQNsZxPb3rxIvk0eeHcygtOoNfZM3k5G0oyEDwIgJGWQeXK331yxVnmVjvhdKMGK2v5LJ8DXaTyTYQXgzIQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLXUaCRA9TVsSAnZWagAAXQQP/ju+N3eyxnDdsR3GbZ7H\nETP7B1UrwxWbxzmcgmKG6Vl4I3IrWF+mSK9jrNPtTHGNV9YGfuXcH9Mz61l+\ncRmeEOBPQZdG0o4IC3iITImQw8aRQ8cKgpQfeo+LP3RWwhG8t+h1gHDzDmkr\nAM/xKHvuxrf5v5/XWs5/IoP04KZ0PFcwLOoHi4nhNw4lwjxAMNVgorB6jo6S\n5a4IvdcsC1uk+fBbR4+mmXwtIvkIkib7bcclkUKYJoeS2OUwXX69OOihZKhy\nVWuvCvjI7LnMghDnbfEIs72r6xSH8NwWa7ESyNrqeQNa9kveZnsk+8ILIvi9\nHnG7V3Tpgl0njhW2R1pFMgwMNHd0bSmhNwAbfo+YbZz49NlEakDJ2Ysy5qc5\n/MLqkyYA3gjkHphroJye0/dd5QkZAZuyS1jtaLrwE9LfOEVkc66RX+LiqArZ\nrP5gpzzr3YFdE98vN0rHDJdSr64EhFzoj61SRX+5ES+OXVMU6EzaEJDT5Cms\ne3Ot+/yKSOmdRC359YjgZElflr+Qcfe6iuLIvQh/neBfE3z0wYoW+pRG+TM7\nR5W16feC5UMbSQy6zHPHnu3k6Ds9j7eSoqZ27ZLb/YWl9XL/6BxNXoE8P0BB\nm8DASxaGe5rn3+TFR7qnNu+GPvuFBeSaGh/YMij+QP4RsVvMj5FX4phrdetV\nUzqS\r\n=FAZw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b20b73a4aa16995dcd0b73e46e4dc31f7914a367","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.d6e507b5b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.d6e507b5b.0_1613591833963_0.540305235822147","host":"s3://npm-registry-packages"}},"11.0.0-canary.f2658381b.0":{"name":"@material/dom","version":"11.0.0-canary.f2658381b.0","license":"MIT","_id":"@material/dom@11.0.0-canary.f2658381b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f0f2afb2c93962e826c5274b16b906f6af89db13","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.f2658381b.0.tgz","fileCount":29,"integrity":"sha512-eZ/pGLukvW0sjINfo0/fv/xKwLbE0qmOu/b6TgWK3oXOIIgH4afxGtufW/dQlS2p8r6hOOFOHSRsIetZguZDTw==","signatures":[{"sig":"MEUCIQDlDvpFxc/Li60eevjiZOB3TWYI5LeEhXdqBiizqLYl1AIgQ6RgyhCWuHc/3vei+ReL+QOfWI19fLcUbYm3b9RmSwk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLZwgCRA9TVsSAnZWagAA32gQAIZkFU3ZAc8umpXIkwd/\njfTm3yPJN4Ko0bHZap7K1K1NJIGVDc17BAfLhxkqWUtkHDNnqxdkVPLrcXp+\nEHicOw368dmQQcAJ1MU9W9wX6jDu33v5FJEMUWVlW0CxEKRxzYSRoFT+nPB6\nJ81vns2EK4B2WkJsZ8xeWitJ2Sd91q8lOJUpInNyWJ2r6LsUITMfSpVP8/Uh\nozL6uCNL9ii4ymRDAqObR9WLreYY2L7zKA7Iwdh0L7h7HZfsdzubfx/gpShj\n6dICKb6VIi9ak8+BjYEk/w4UjXuW1txJmRhqQ8W3Hijfll2NQQC3bc/ehG//\ntTuYOGnu0dxaRLKknJnRLXvSm+5vb86RFSZ5SzVK7qbpyWJBXyvu9fCGVosE\n7ss0qWptlKcRO7At+ryZwDPdiDHYGjvyTi8p1SfUK510CdFJRhHYwsacfMNN\nw2icphzgfSCUooYPSIPX1PmS5J6GJJvvEHZeiDnONCdkqgK5rR2Fjk5AfMDi\nIz3YAl3r8ir8DShc3aMV6O4aUatTDL9kRJeecbsdm92Hz9Pft+O9PILCVnLM\nx2PzvryV6lETgFm8QcoschSpZVyoJ/LEqW0QBgHouhuY+m4oZroNiNFZ9V85\na6NHWZn1KP0IS1dcZjYb3GPtO4z8Ywev/08ST4dTG28Z+FLSsAh8wyW5o+sA\nSgqk\r\n=GreZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bb1b60f60cf9b1a4184aa52e590bcb4003d3c09b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.f2658381b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.f2658381b.0_1613601824092_0.7187804349741174","host":"s3://npm-registry-packages"}},"11.0.0-canary.97c4d4035.0":{"name":"@material/dom","version":"11.0.0-canary.97c4d4035.0","license":"MIT","_id":"@material/dom@11.0.0-canary.97c4d4035.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fa537bfcd6b2df08037ef98235c0aae16613c08e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.97c4d4035.0.tgz","fileCount":29,"integrity":"sha512-e1D6vXfFkuchS0lQZWSkVvHOH8/CAhtzh0pOObEx/1XPiTw6bG3cqnJCYevHHz36Y7lGjjcHXLmh6dn+q2HG6g==","signatures":[{"sig":"MEUCIQDmOf+N72rfFrIwl0rGg+8qpuERQ4c3PXUV+vi12/NZ+gIgbYbLK2adEbj9ywEG4KEuRF/1BEs0ZHVz/VHsQ0qgDhk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLdIhCRA9TVsSAnZWagAAR/0P/3xLAC8Vw9gKG5e4n9yZ\nR6XKTmuCUg7kuZ/5wt9cA/0/kuDgtD03tDkrp6Wo32LbomByvSIl3aGJECKS\nzkjQd5W3dEMOQmsZmt2R1+Pyu7fgBxCs2MyRUcB3HOBJbmHwSJg6ak7BJkE9\nge/I4fz5Q50UUY7xLOcK6c7pTlnD8jeNgxjTDrjFUdlkMaTFIa1WEDvh7cIV\nFqT+rwF2I7KEmOqjDp8Sebvnthp933DxErRgoj+cSL1L2cXiH2uQTzPI4B7m\nNbmpR8MAyPbY6H4Yn7XIfsw3Sh9mvO2EnsZVm9zMExtsgvqdVWKmfdxGA/z2\ntPnHeYXiVn/movMHRrZ9Zy3AAtHshHQWISj0S2BS3+DNPvV2rZ3XpVjWI6QQ\n3/d8v0w3uPEIksUZEX7P/vJF8M9xN6oDp0jS4BBXnjfayqC3G1joYuT4yOD6\nds9TqMT0mstayiZS0xkr1clDrda1a9sQjnu0HSUrmSOG6tdezIIFRIY2qYnn\nmGYd3o8OQwpi9xm7t/2KnNRMTg4zKsPG1kDIgJbYa4Guut1ceUx/3LDZqh8I\nTTJ54kTPH+X3jUwFQdmxgGOy9nbZdTtSwVshzjgmo48ODmEegzTETRZ6G9S4\nmeTmx+518cr3QUxWLxgkviDgGDLJrOUjEEbMAfwpX5lL1QRA27Qor+u8tVGy\nOLj5\r\n=pOtC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1d9a223ae17277dc00b76dbbc4263232d38e50c9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.2","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.97c4d4035.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.97c4d4035.0_1613615648648_0.9219571420589532","host":"s3://npm-registry-packages"}},"11.0.0-canary.f5bb4648c.0":{"name":"@material/dom","version":"11.0.0-canary.f5bb4648c.0","license":"MIT","_id":"@material/dom@11.0.0-canary.f5bb4648c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dd648d53201ff88af9605013a7644720488f2be3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.f5bb4648c.0.tgz","fileCount":29,"integrity":"sha512-amldi/UkhWeuL7uREXGGp31ptMCrcoI/dipIgqfp3Vcec/yxVhcLQHqsXX280zIvL8TxBPMzy/Tcd2TNYs3EqQ==","signatures":[{"sig":"MEUCIQCuOu40qMsy9t5h8MTFA/dNr504HCoBGfRALSrz6pUfRQIgRM+HzN7RO3BAhebJOEcX/Jow/NO+WSVESsF6AXHD4ak=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLo/0CRA9TVsSAnZWagAABrYP/RRCQZiL1SLoRQd6WRps\n/dNRhmpsT1a2NqD/xlWFw3zW0tEIhxCCFVVbsEeH6INCgALkCt8777+nJG0N\n1aOyeDU7srM4OTNb1M2cSAKLcT4fO4S7/aHiDMJJs06EoFEA43HvUlaLcjQk\n2ZmyM5pKIkY+8WmSwOhEymaRtCCQi/aH7CYtQh5rAYQ8/pdz5JPgtweY9H4t\n6QNALQ7TWBaV9yvg93pFoP90jiF6vAdvUCL4ckSOBhu04OYrNRvhhCHVRT5N\nD0O7Z1a5/v6FP3RFrnw4GuEAJMG57HohBKb7Jc2IgrLajeaeHwBi2aqJtR6B\nrJdlGVhbUgMIfye4ka0KZQPoH9/yFmo+Y42NFwDPWfva4leARUZvWSegMhd2\nzIjxAdmyKMNih6ZaNUr27dlSKpF8QBSNY1X7EUtz1WnaG38dAFilddsVYc/V\nJAOcsKQwRQ2qwDVG7sh/1dPMw/2nuYsXZm6WESXdNzEKF/WbCagiihKumXDM\nwhEu8GlbuvhKEteoIKX1VynTrM8600VwQ7TemT9wympcj+57/CyMznSnMYWX\nTO3ex0y7n2XRDEEBLekr5KAAJ82NSXaPO5nnN1CPd750kuILothrjdMshff1\n/Rwc6yWVUIXaBV5Ig1Q2Sin+q69uSwWdCxkQ3vbBqBb7ySrvCFBaTeg+cK1X\n6/2W\r\n=/y64\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3abc3c2f94ce48fd3a6cc689419e03b8f7769ce0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.f5bb4648c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.f5bb4648c.0_1613664244349_0.02928733011593887","host":"s3://npm-registry-packages"}},"11.0.0-canary.302c7a960.0":{"name":"@material/dom","version":"11.0.0-canary.302c7a960.0","license":"MIT","_id":"@material/dom@11.0.0-canary.302c7a960.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ec022685023659bcc97bc3ed0f8a7019e2a9ebb1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.302c7a960.0.tgz","fileCount":29,"integrity":"sha512-xLf78UPX6HCkuuEdpTgOg5ORXeG8xsAIp/F9ITRAwjQZ9I88Zu5LqRhcXPQk/fRZb3utCTGka/uhyO5A1oViKQ==","signatures":[{"sig":"MEUCIFXpMgTd9rBQRpcETAAXtz4JeLfcFcuE7T6LqODlAsPxAiEAyVG396IHEXMKh+Vt0kzOAFyZzJDV5BpY61sKOik2TyM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLrO2CRA9TVsSAnZWagAA3koP/3wB7zdgE+hs3vZfWZ1r\nN/Si5Ur0ZUfnZtuMSPihhSkOfLfLYsuiNB8bNM2wqxmbxxCUP4jR6ZQ1m6lw\npdntbxKvLxxC8TSH2zCkxQCYNfL+Gsee6BKO43LeiW3vb7otH9PX2F5joJZa\n6aPKOpKGhQhCZmWxjoCVuJ7TZdvUEfC0YhBW+OxW5RfBfVjg1R1I9I4Vd/iZ\ntCwWNERBVHnoY27hJsNMjGmieL5B4peABGZW5+qiZZjouTydiQ+PacaLmzZQ\ntINo5319ak6BlCiqkWKlo61gMfPrIcBW1hKbPqUbmuA80UGCi914iXB9yfVZ\n6aKgnkxW3a2vUI88Trk9Tsx0z9QgEImITp3etSnQhjI3j5S6iGHbmoVdZr83\nv8Mz+e+BQcaW4tZiFmUutmiNDlGvOKFtv079eVRt7E+tTEyggTG70kHIDudq\nFqUXrF3O6R2qAzZVY/9AAOSsGboq+YIavzKSvJM1ESki9jlffLk5ZFBJwRfI\n9a0Lg4kaxPoI0ikhEG2kzsqOXKNa21+o3CPOswPft3TrlSonzoN2naWBN0bW\nG4Q4PNIVl/+IppaY8CHPYt/1AEJ0MOqS90/ePxXMSPDaYdtyzwKHE2+YLHVg\nIqYTS3+o0mQnpaS3DE1JDuiqgLCaSJtbXVBXkOXn5lpl/QzwF43QBCN6xfkP\n3ZNG\r\n=+Qfz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b16c4cf1d0826970ff04a72b663f1838cf8c37d0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.302c7a960.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.302c7a960.0_1613673398321_0.506810908531087","host":"s3://npm-registry-packages"}},"11.0.0-canary.aa0aaf026.0":{"name":"@material/dom","version":"11.0.0-canary.aa0aaf026.0","license":"MIT","_id":"@material/dom@11.0.0-canary.aa0aaf026.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"46833628a38d273977c8142ae7a5613b60a41fe7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.aa0aaf026.0.tgz","fileCount":29,"integrity":"sha512-jt0an5yLItpDJ2GlXXiR3QQ+Wzqr6a6OvdIpy72JpHcxVstqDZQuXJIFi2W6VcdS9lkAi5k12UvP2AVrfs6voA==","signatures":[{"sig":"MEUCIQCZhdrDpUe5/l7MyqlB+G25XmEtzVCCypaEF2p1yjd41gIgHzHMT1AvMuz33oEKcq9mn84dTDCwr3Cm1i5bZqkNsns=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLr5gCRA9TVsSAnZWagAAhLMP/jgL2YMDDwsmyP0IrQNq\nNYJgep7Iuu9un2ZnKEWlhrYLwnMlRFqg09fuqprcINcuxh7qExPTtclpbKUS\nUjDUK3H/Vp5f+S8cYTZSpy7wRzynoOPaUDqyD/EPDGl6VEL4yYh2sZVOxdH6\n3gUl0tGzar9zrkNAbfyg/zMune3JWmnF89H5c2lVqbjnoexg21W6a8CqRoEH\nHzYMsMox0bY3NMFVZeQm6TF3DsmzSdF3zDrO2Jh5vFNJouX6ukOOEFnZXcaW\nuZ9BnKf5FOznlbHUsxWJJNxY3sextW8nwchAGVvdkGGkpN/K3QX6rGxvG6/T\nJXTVt/voGvStsc9mcQu/p7ouAPbu522Mb4o+IvxX1eHmVPSrm4jHyMFT87ej\nst1knjo7Y/EOnPvaCtW/TqR9zbstgWlr6Fj2RHnSQUkehuNiqZQy1TBA/NqX\nHtHbzv0Jq5w7Mfp8PuucHQ9TjuLsOqD0KeMC9J65Y4m4Zf4RHd7f1JMkA50b\ncPjvq2x2ql4/1RVPMY3HGp9tOjw1LgZDm105bDKspTM30QjjooDUaoBRSgnf\n/X6QEgDqqGo2E8qmXK6J39f7Lq1Parf3MDY2pfKXrtc5RmK5aCoLzzzU+GuX\nIk0vkVKIe0QWbPT9/Ymyi6nqD80O5LzKJMUEIMY7nu8U7lElxl6J6B6ZKpQ1\nkYoP\r\n=vzo4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"de542de1d7c4c8f5f51199fe207ef527fc1265fe","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.aa0aaf026.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.aa0aaf026.0_1613676128452_0.6444287748160815","host":"s3://npm-registry-packages"}},"11.0.0-canary.07ff0c452.0":{"name":"@material/dom","version":"11.0.0-canary.07ff0c452.0","license":"MIT","_id":"@material/dom@11.0.0-canary.07ff0c452.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0eed3be8a4865e1a6a1397e5bf365dfcb0a46d46","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.07ff0c452.0.tgz","fileCount":29,"integrity":"sha512-JYQJKIV0YguPRROsgFuJKrJEubutb0oGXB4qDL2L6WKOOCoy6SW43AKyPZCRQsm59hi1w0EVHmzT2IO/ZemqNA==","signatures":[{"sig":"MEUCIGyHXuKrvsTG9BUDaJFCBa3NBAJ3VjY8iScThwJoZcf3AiEA3QFMAdW3lrsfXKHu9xgli6VICpFlpw8w9Z9cD0ZKKAo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLsLuCRA9TVsSAnZWagAANPwQAJMpUI3d6Jx4avR2UqLH\nOJePwuApfzViwOBM/V2qDXW+DXWB2/nTDpVmKAmekHXtMngPcNxVQIzOXWpM\nEMhCgvxHk0I/uOpjTb2qkywHHdC1ygQQdvv829wjdYNz72NRlRSC3Tq1bvm/\n0X6IOD9iMTV1M1Fg46gjhtiqvcqEIYdcFqPPdqHCV2hFSq3sGkQXAzoquNB9\n1BNQrSZ/zzHQjnJuqDv8QiLACioiaH4E56iJiGKJUYmKfHnGjp8RAMr6lA/j\nImGtUdXxLkUfIFMzfledJwseh5FZl2by6u0dv6Sh1dYIyrhM2DMHLm711cJA\nYcvgiju5lwsLcUxAWKRqFLpLlqS7smkIB+qr7P7uaiACWdvVov5G6SHJwTc0\nEM6e8Fj63kHhOFZZ86lufAcZDxUw8O6xK3eyc8gaCeIOXNaL/xu1u0DREih8\nogCqSOwPdIICoWQquf7C0FrdTyCDDuyqDiCh/xjBuTdhvIqXgedAAtIyqsnQ\nJBkrniMz5AFV//uIfases+jy5Qy6Dh+yYUbbF37V896TX8apxKhbt1XM6oDL\nYdjLhdsxNTebcRAdgSGlmC9LzJmPZ8vPlbmClJY8OJlw8C8hP5L7n+tiBpnx\n5pWLsncwb3PRP1+EKXfF71Jn8DoVmuN46xD+y+OaldP233z5s44pIxdVOIwR\n9KDs\r\n=kGfK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"52e3f1cc8fd4568a48ba4314f982d5613f53ef5b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.07ff0c452.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.07ff0c452.0_1613677293578_0.917088689609427","host":"s3://npm-registry-packages"}},"11.0.0-canary.bed7ecd3e.0":{"name":"@material/dom","version":"11.0.0-canary.bed7ecd3e.0","license":"MIT","_id":"@material/dom@11.0.0-canary.bed7ecd3e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"af54dbdb3a839b3ea4664315b627f7f52500f044","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.bed7ecd3e.0.tgz","fileCount":29,"integrity":"sha512-9qPvR6XpOQgFKzcMynsk4iX4KDnTdtma9TSSnHCJQOOkXEQmz4HLVcHt7AvErqGdCdWfNYVBXG9jw8omgZUhhg==","signatures":[{"sig":"MEQCIGndesisVXnr7o9pm5YXzxi7BA7qyvqLFvNEex1xGhMuAiAhySoYT0MqHwouEQ3zoi8KZm1qBodiptC0ceb8YY4Kjg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLveuCRA9TVsSAnZWagAAW4kQAI2DRWYcQxBFizbxxe3x\njOiN2Mv0lh85l8o357aG4mku7r3mOmoaMCVJBTbPHtvv0FYQa+2TW0uGsNNS\n1SsV18GicxxYs+IeTqyhRgDleCZMO1EpLUVAPpzdZ/7t6ErA96wGU193NJJE\nXEHnyo9v/Jq+j5361dec91TD77stjeOngCA/RgEHDlJPvJqP2BfZw5lTZKIY\n6xAnc2i68U2F2HplNBeP5gDh+m4Pw3WGjjMGW8U6mVsFoIFwzXjeihHZocDa\ngDVrNEDw5U3lrL4ixMyi1NdifWzrqh8WCOI3iLtIexSZMso6IDYh3xnnW6yh\nFR380ZnviZn1ZZ8j+arF2A5L0Y7Uot0swa/sixSUcilEGHbK9pQg5KRI9Yc1\nJCN6WNvleDJR932vJWplMn2C8wF5ocbVRy/CWrjpNo8HXYlCYzb82IFNwSMr\nbkHaa45gVWTpRWBVaWXPOIrbpJTftWiF9h0GEfBjXGbsiABoWndKs81XGhfl\nYuBt6xJmJUdpnxTdlnQm+6JOMa6LkkPEKbov+qhV6U9Us+HDcnI3AcUWclgG\n94BNAAZ5OkgcuA1aZY/UktTuqUgUVij3TaYzQj75lbcV4M1hlqVWac0ei1Xh\n4pxavjoPu00PlC0fqtzzeHlzAdNTwcZodPuh0XroYIbnkD8Rx+U4hSvQpjiu\n9al/\r\n=92Nt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c23b9ab547a5ebb36a108742217a017fed1886a5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.bed7ecd3e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.bed7ecd3e.0_1613690797479_0.7817698147453205","host":"s3://npm-registry-packages"}},"11.0.0-canary.06dead2d6.0":{"name":"@material/dom","version":"11.0.0-canary.06dead2d6.0","license":"MIT","_id":"@material/dom@11.0.0-canary.06dead2d6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c3060cf7dce66262b6dc2004d4a5b909710be893","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.06dead2d6.0.tgz","fileCount":29,"integrity":"sha512-EkfL1tzftB2HHK0Z3zdl3EThAYX3Dme3iOeA7+nm4/M9h1b8xmvF/Eq8MJS2CJSCMi+SJ2a6J1IYp7PqM9Y0fQ==","signatures":[{"sig":"MEQCIFs0sUOniCg/Acwb9yOw0ussHL9gU/T8AOaKxDw+t7T+AiA+4v1sUWniPRvsIDhdqpOPMvIZob0mM/oHLv6UVlWZXg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLwfvCRA9TVsSAnZWagAAr2QP/1s6vh5Zsad9TpoOOBpi\n8AYwlojhvqWDpu+kn7aVaZYIIzEjkDBRmR0kJ6XWQV5+Xo4+GmX8x7+oJ1LM\nDvR6oNYkm+1OHv5qtsq4tNKBb7jXjjFC9Mm89/N7I++nz/3PMPjFJAV1Odqz\nY4w0pBkBatIMw2zt7VQgEPPNk1EMbW/dADCsf8VH+FzFdvLJX8Hfkygbim5N\ntBM4gTZNAqJD8k91OsqWug/k3I99eEP472+RZ+HAP00Xf05O2p+cHE9Y/5LX\nnqbqjSEQqKc3WvEp6obad7IlQyGZSTX89fT67j1mOGmmfgpcZR7+M+aDlWvI\nlStzbsHZhaugNV6B1PPCZf+a+NtxNpU+Sl8Bam1ttRSntI4fYoO5XHFpqhz0\nM06TwXcsFvsFxENZXJzTh/2dSxRL5dV7x8PlyeRzvfQTZ7b9Mmkhi2NQH4R1\ncSRzo+9JYTyeML//d4d7QP4lh8+Ol1YTOGeEbDpluHaIXoTagXcp1M+oVjkj\n4lIgrYul48wBDn40hqeJAL/dmnNO6G1/TUgcmEgETIEgbzBsJiG+nuz8S28R\nszijYq4qeBb+2XdYI6uTkWEFmu7O7WRBma02JVQYRzEbmouXBduKUnpVeEUx\n17e10713QLIb+1MhBU8wHA/jUp6GXC5RM83TTF8O4rMRttttmC+QPrOt5uAy\nQorQ\r\n=HPu2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7458ca9f14be94c1a279bd594f262289d278bd39","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.06dead2d6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.06dead2d6.0_1613694958872_0.6989396726651365","host":"s3://npm-registry-packages"}},"11.0.0-canary.cddb03553.0":{"name":"@material/dom","version":"11.0.0-canary.cddb03553.0","license":"MIT","_id":"@material/dom@11.0.0-canary.cddb03553.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"183ff128d02dc7bdd1da73761bd4a7dc4f18b940","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.cddb03553.0.tgz","fileCount":29,"integrity":"sha512-R3+Zrdh0Y0Gq5mKwh8h3D7NN14bRxJt044xcPu4kv+KyCYJTRhYwYs7TxEh3xkSqTQyvbEEd9QX1SUGrreuhig==","signatures":[{"sig":"MEUCIQCxlDQrfZhjuPCVVDjKheuEgBwYW3k0y7MLyXxM0+a7yAIgBQ4BHvUcWdcjRFrjG0KdN8HY4DKuv5xvp0hqxNJW2+g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLyyOCRA9TVsSAnZWagAA+GIP/RR4ooBU6OkBUBehDvUE\nvnGL7UHFZUz/3Pyuyeh4UJxN4EoqQZd4n0pctjmAeMwZmiIB0qNU/Hjc4D/q\n+TIQfJ7MCPLPFLNJwnvlx+4/4okWXGZGLKaJ6V9CX76OGcsAjU9ujsKElkVv\n+2v7oEnvNnRJU6MtvEh11Zw7QxOXDugWM2NRvQE3dWLlQQE3jVudwcXhxvGt\nienq/xmvPoHmMOCIC/WCkkojN9X5H9rIHYkQjS3VPJGRlCVDSoBR5s6M8IkA\nyKoL3ThV/F4Ui7nTXnf8zUvgb5bG4X7rYARvgfPRvnAx4lLrfxmNJc5sf/3V\npNMtCnZpR4NyDZH1f8yTI04IsU942TbCztGPpaQ5O+ZjozmHK7ehlybRsX4p\nO/AbQlQVBniIxXEThcIPz6Acy4xKgMIoVdt4zRUNWlXbCxXd/cGIUGXDPogF\noNBcu45JoB/16FcvbGYeaBzZO44aJyXR/FHUJz7kjrXo1pcfUgfcDRks/1pv\nOYV6ssTtBEKghNCRYwJOw8x+h78I9QMnAyebODZT7MHXnmoUAG973yk+GG50\nwaiwnqMzsAlKYGFcoEWamI1eap+0ubQ3E3jMN5806F9zgWuYJskjZ1F3eZRR\nC6pTY75cl+fOpCUeBpWptj1GVqY6w9/wJ+YaWcZLXRk/xTHBdUGZ5v4SJhAc\ncMfj\r\n=H5Rr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a8deff13e5978e42ae51f60c844f7ca0abf64b45","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.cddb03553.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.cddb03553.0_1613704334136_0.7127707272200734","host":"s3://npm-registry-packages"}},"11.0.0-canary.d6d8d0476.0":{"name":"@material/dom","version":"11.0.0-canary.d6d8d0476.0","license":"MIT","_id":"@material/dom@11.0.0-canary.d6d8d0476.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f66bb647c0a7e67d3a7bf24c6295c84327843264","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.d6d8d0476.0.tgz","fileCount":29,"integrity":"sha512-ZUGhqO53nd5slEulhPI5rJD8owrV1RoZYV9Czspk7p99gGbpug2gS3Z0L/yDQX+wHEihXgBwAgTogOKIWG53NA==","signatures":[{"sig":"MEYCIQDDqVX9XmNy++HqzXtmxoULtQkJzmxqsMVgUbbMkZW65wIhAJWDrj33m0LuGXiiTMEGeVpgkuq0+f4IN9Zh5HhAVJAO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgL04nCRA9TVsSAnZWagAAUGIP/iuNyo5iX1TtBOPy2k1X\nTqgh8+ytQuXn0YA5G4B8dNLCZFmH2qbdvlZdf3QOyyxPNo2rwz/T0VlTCJvg\nLw4IgzKYfZiiCFqw1H10FMfBPN9jfCbbvJUuPJd6UBaC2F+gY4IujwJA42rS\najoPopxplIWSRWpZbteQv4tGBtcDmIGvIgzHVLf4Yz58o1PqYKc5YhLMrz5W\n1cf+7tEKrXXf4SBn+bSrC48CgyyTS1aBVQlVHzELBwtjiDrRhcuzgzbzDBHR\n6/JggUv/i1iDjiGQT4CgF7Qkxcmqg4c9Q06xz0RAYomaGjYPDGTsMyMRLmwA\nGzJYP0vuTSuweegV2Vc0br3dswjnwV/wCYIYqHQ2ZrmACHpcvFOivy30N3TC\nmwI11n5Yiz7UPbafEUXwHzna23F2Ookhg+4pPL060l1yTtJNoPsjWA7mX7bI\nb79Tex9yE4JogQjIDK05fSAZPl4qIgpzhaoZ23ixWtlNUNb+WfM8mOCR3wIu\n/Acbx4YjdtlRDIXkg+yOKppCh0HdNmNVu63u4oQbxO4CipCslbCBKZeyoH5Q\nrYBOthC3IVNP7repYcGvOc+ZEYDVyAPqoJkeBig+0GckKkiSq3dFbJjZJOYC\nNueyo5SahkXsK47/Qh6XXnGUUxHRdLlA2Z2NHbDe5JGBQnsPMH+6ZaY2orNv\nyXWD\r\n=tKCH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"17aa6317e2c1a8109a8bae34e962d438f170f811","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.d6d8d0476.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.d6d8d0476.0_1613712935025_0.6945813530455534","host":"s3://npm-registry-packages"}},"11.0.0-canary.0b4a4b2eb.0":{"name":"@material/dom","version":"11.0.0-canary.0b4a4b2eb.0","license":"MIT","_id":"@material/dom@11.0.0-canary.0b4a4b2eb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d57fb58f947bf4d14a0162acd12190f2f7243665","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.0b4a4b2eb.0.tgz","fileCount":29,"integrity":"sha512-USuJx9K7rfa2Ae514Jbn540RXtJsfaVOL0ahecmX1yWOqcqxk7RFau7fAaXjLppnuoEHw4o0AQkfHNCRs0LsSQ==","signatures":[{"sig":"MEUCICWPmqL4uafuLRjL1TN55JkogCrKN0L8SGjPxdAYbcoXAiEAs4bZbWNoAMttE3Q3h1tSboAyGEXlm69eY1LN2capSzw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgL9zpCRA9TVsSAnZWagAAt6gQAJKqV81oZzf29wBfmU7P\nCpFe++fqmdIn/VKwX11LewqPy4hczFFygsVkTW7ADmymrCRTtvLnoWHfyEZR\n8nDlRl+M7PXjPlc8KSaDdBCvdmRwETUuNzq6GM9iR91uz6vxfyDdDBLnODz2\ncyXP1hv67UeDk6TbvU4Hy1LAE2BmXgasIMz0RCqdYWEZ6rWpqsKEfqdN6lgC\nmR32FmzZ/0moYaF0ZkDAqLSbU9ycqJ1S/OBJjMv2SF3tpHSB8hT4aeoaDUWG\nOekgKC9hdnMIlqXL4JGaNUzfxJXRxnSAvpH5ixjT7usBpkzc0uAAsk5IVrfF\nkxVCGDGy78yrXkkdnbfVrh/aJBM6pljwoOntlP9u547RYiR07NVvdpGOczun\nY8vlWp6vJFPCT/cpCNFUJ4xCnIUqEtzZYhLsqzU/i2A4/1IWHEJE3WyBz+wg\nXww8qM0sCfNJbScNUUSyD0WmjJCAj31+D1IL60cF1KHop7qnXfUgw/zuZElG\nIn3D6AzQTQK7yIzdXd4PrOEXJwsNoHKIrHlYtai81SM3kF8zZsAMHqLooTlY\nNAVLM+u/NXAg55WUccceySImmnjtI9+mXpOQwjgtHkO8B7icTqUcc74IeeQz\ny4X0p6zzsEbk7YExapvbahOvOVfZB8D+Zbh2Evt1FVbEeD3qOS4ezqiIvrbW\na4VN\r\n=Z16E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d96f438a60c2d44b9a3f9ec055d1dad78d316e6c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.0b4a4b2eb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.0b4a4b2eb.0_1613749480705_0.3484598486538877","host":"s3://npm-registry-packages"}},"11.0.0-canary.3201cae47.0":{"name":"@material/dom","version":"11.0.0-canary.3201cae47.0","license":"MIT","_id":"@material/dom@11.0.0-canary.3201cae47.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"71398eeeb1efe5a3b8a4baf78c7e232c4faf44c7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.3201cae47.0.tgz","fileCount":29,"integrity":"sha512-AiIHREUvAnjJuUwhpHXwrpmRc4zF/GnKBvLb4DVPq/eXwvLshHfXak/+haYXXBG3pWo2er5lTWnIZREkSXRL/w==","signatures":[{"sig":"MEUCIQCfF1NUEvWkMEV4VcLaCQs7G9Ijv9ieZ8BfaSPVYiN2UgIgfsPo756H/BBGZCC5r+N1mZQCpgTvBlv2D+E0Vaug8sI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMELZCRA9TVsSAnZWagAAzssP/2HVqRWG5wVIZN/7yL0T\nAQiCakwJyqFmTRxtM6lmlYOZTG+XgcCQifC1O51MtOBLZAKxkl+RQvHZ+F5J\ndKkES394isbgvOsC5jQdgEjEdvGvSc+ZjeDH19qZNTx4As7u5XERX1/UIb0i\nJEGCuObBdBlIMvCLbxQ159FEmKDEPL3MTpQTwvnhYW5dIbOtiOgp8Q26G9Y1\n9hTedHh8biHztO2OuwE56cm2LLveytvdyfbvU3DvRVeK7ilVyUJoV0yurbWm\nayeDCP6qXb0JeWAnMLYBOhOAVZC83/NCGCDdCfaX8FD8q9yggtFLveE8CR0W\nnfxlR54UFguO2ai9PMxYLYCAt5LK/UeyuE7XIjhICDxCT7hQrMe9Z+gSrZs8\nsGxv6mFNH8MdiYakxZptOVN3dVaxwirhxTG5TJncXqMI4fQW8NucWb/AA6vK\nx8QaUtgqr5iqmM4x8j4xPbNQV3F5pcdglAaE8Oi5eIyps/jOuaOoUgQlVU6z\n9vZtbQP2NypCCXX6D2u0BlG2iYXbvmpMUdsV/F3r6U+7QYLOyBUolbEqB6zn\nEPE0FmZTSHcoiSwb6KYJuc1+7AZnzLoJ/BiT2B+NCuKpFfrUBM5Vnt1QwNNT\n6Tz+jqzsaau4a/e3mPFrzR0n0L+uncCYUl8AyqrcoTQXWyINV4G6y01dvn28\nTUq0\r\n=7eDy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"274d3ca7227bee74ffff3d46ddf3ae266226bca7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.3201cae47.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.3201cae47.0_1613775577220_0.45434480590496396","host":"s3://npm-registry-packages"}},"11.0.0-canary.f1b1fd5d3.0":{"name":"@material/dom","version":"11.0.0-canary.f1b1fd5d3.0","license":"MIT","_id":"@material/dom@11.0.0-canary.f1b1fd5d3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"de0c43aee8f0bf1fdc0835f78e282d1072a2e412","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.f1b1fd5d3.0.tgz","fileCount":29,"integrity":"sha512-f6rsgTo8FCY4taq57nCz/AREQR7XG1/aeM+o2DFUEeXJoWRLsjjCjz2QEgnFglZnRGDXkQHrgaYNnZ/Itk/vRg==","signatures":[{"sig":"MEYCIQCh/i4c4BtW4xQreIMnXG7jWhY0EUHFkcaPG/HmwcFJHgIhAIoIzpEqyelMwOX7xWI31mTLJ7UlkaS/COt7ZpePsw6G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNAqLCRA9TVsSAnZWagAArrIP/0vX7sNjBfTKVVZ2rW3t\n5xRt7B5zI7QVqRtZWAYhJeofmWv8yJeYgSzqDmNpGmhYEVL4rdJ6Qn1lronj\ncle6R7C+C4VIDgifYca6I+Qumalwipv9Shwxl8fVSJ98xT73CD1qJ4vjwx2B\nOLDh5ZPfFaeUCAPNaQPkN/1bQO3nCnTzDbFysLse55rHfF2MKzt3pjFNd+ay\nD/6vmzXqdfMS6gnyqKpMQJ8O6BjVR+fyY6hP4SpE4GuuyvHezI+5mjVhqhwy\nDIXwxiShW9mVvx0415pA+8qhAZVrGtGtpMMW002vfUC5/e0kcdIRNYULaggE\nem8SmGc8zYT3B4xD4ORvUMXEJDPsmz6Si+Ali8JuYIQ10p+IMZac54JAu+Ur\n1OJNY05zFb3Y6a8/vEdqRxqDd+pN2QNv7zvkbFKDW4N2UJhgYP5edy+xmtG/\n7e6iYkwsmO6iHhr4GbCDlBqKp13jfjSTNdKOL2CIR5+8AY1Q3Os7ZkBiwd97\ntHvID2gTBNtHyxZVDUGHOI1lgZUqQaLsPnUC61P2dGtr1n7MJ0CmgdgWlISB\nQkk5qteF3APhtfv/uCbz+++VJTyov4+ufNSnSJlC006FI/8w1QjjMcgczooz\nTtAodBJzrhbiszGXce8cMibl/I3e/EQzM20WcNAJyy2MexXvsHdJwgK7+f3/\nJZJ6\r\n=OCTW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b73a5cc3b15b450664de92ee70312cc1e8b17304","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.f1b1fd5d3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.f1b1fd5d3.0_1614023306535_0.9892781849575618","host":"s3://npm-registry-packages"}},"11.0.0-canary.7899e0fe0.0":{"name":"@material/dom","version":"11.0.0-canary.7899e0fe0.0","license":"MIT","_id":"@material/dom@11.0.0-canary.7899e0fe0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7c037b210ffaf50a83e11d96b0dda511f7e279a1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.7899e0fe0.0.tgz","fileCount":29,"integrity":"sha512-Csd2H9tbMWqfEBC1WivO3/1dissqK3VW+4iE4nwI70xQHpFVx7BSHQwE4lYfbz2acAdgTe4fV2P/Ao11Ddm9nQ==","signatures":[{"sig":"MEQCIF2NVl7UWwXjz6+cq/oCjX0D8dLVjDP9kMjAD9cuOLv9AiASzjur6PWjk7UOKOms/5psJdAGhzEoTJaf8nS+ytf0pQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNDPjCRA9TVsSAnZWagAAFCoP/3wRMIEl/7zKtbURG1e7\nhYiS5x+kjn1CUIgrLzrnkhMR0qV95ajeL2juIqAgfl+RJKPHxGCVYt8nZ3oK\nOEaY7pkiAp4uLyfnc19y0HAySYAv9c/QK76T482ZErQsRAVQwYAh1jI12RHU\nF852Q+O2DRvCGfcNnW0l+BCcxLKLPJ3QjzRIYw6A4wGbQsQElc/ErrSgj6az\nEyjsICvZRz126Nc0xYLC9YPRCohoFsMixvoco5IA5KFMhsfYt/jhkRdM6LMm\ncL6LYxtUHCBW3j8FJrAXSydlTEAViuuJA4XJE8jxnBHmor8eZx1jkhSpL5Qw\nFDqG4mLvM42PQxPNLXUoTn+OdSVTYBPoGtzAKxW+e7igGhscmGrsBS4mLFmG\nv2BfryNsjMCp2COHHA/jDZRpzS3qvIfSOmHYfkZECp9XrW7UR4OOr/rXzHXm\n8MQIic4EbsGJ+wMcl7drJxDR2lvT3uR1og1/oxj8pGH3Myru5WUnl1bRvuFw\nuztz8LvYgHNmayzI/nQK0oz7sdNu3UaUGzRA0cRlmVjTy6R0hAExtEKvrbmV\n7iFi74XUaE+mgZg9UGFwAatHTtxgPW3NosdZV43SOV9+CpfHuVNTWrMT6vnE\nosX03mRzfLX16i+w+sFdJ1L4Mg1XGdYQUIB0bFyKCmuEIY+/kyUsYaEorZ8G\nCJeE\r\n=FxsW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"73b260d2233a31311cff76e4c10438913b91c2ea","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.7899e0fe0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.7899e0fe0.0_1614033891512_0.5577970157253922","host":"s3://npm-registry-packages"}},"11.0.0-canary.f19c86d13.0":{"name":"@material/dom","version":"11.0.0-canary.f19c86d13.0","license":"MIT","_id":"@material/dom@11.0.0-canary.f19c86d13.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"64d54391448e0ca4905ff75fec0cc82d9efcf151","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.f19c86d13.0.tgz","fileCount":29,"integrity":"sha512-Q6LV1kwTwe6X1oQQ9Jp8GvwrdMLdZ/4aO86Pc4o/poA95/ShodLwNPkzyqJu0ouVxhfuIyQb7p+vf62icdaMRw==","signatures":[{"sig":"MEUCIQDRk45r1mmytwHwJqUJuNU/6NhtqNHqLJ4cfYRm+MXdjQIgESYY6qqe1DbPKeg9O7mtjcS/L1EWkql+M80ut6kMw40=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgND5iCRA9TVsSAnZWagAAaDQP/RQPAPEMn3MnmmVfgcVd\nLQjWwSsAwCyVMkMzMbojOq9I72pBnoFKKiMQeajaJQDi811ikAS8XpWRIVJ4\nfR2w4CIQY71PjEroNqLnL4EOTRfdTDNjTr5hxOqjsDAGJeMfCDPVbBLWPmoA\n37b6lTC06xQI/PwaghwX5xg+noRZkhuvYs/EdaKOHikNj4wp8AIN5jN+aLtH\n691P8qaMyYrzj5OIoiWgKXOsBI8kuF7r2T5sTqbMoK22Eh/XC8f3EAyIwkLJ\nl4NRiOp7c4IHAmWX1feiutPfQoYumUl2Z5wpkD6fmtCeWNCzdJ+DSbTh1cSy\nEz+wdsld/ikciSbEJWVi0rVSblM/6O7TN5SK6hWSWXOTEVFhhOJQ7dl1wtMP\n2S48UPwOPs8rRbTDD7Sfn24mHP2FE7BkAiASDWlDmeSiBq9ErOswNaeKIUvy\nqomp5newl4WW/ahYN2BGJjvcNdL6eYgNWIs89Dfbo6CRH/4mo/KFjAd8zA1n\nFMIC0hx9r1/vB5neZBm59ixygIkLPBJKyjJvgh8hg6UrVgfGgFnVHG1souCa\nlxQ2VogVLAOzj8I5C4N6w3bov/Q8X818ASRvJAOfS9pk5IYGr7CwlA/lFsLe\nhcxaXuM2JczQfGYpi3TB0pKXP/iV3ehvSQXW9kP7JNnFBQXDQCZawz6KMSR+\nrXZj\r\n=0yFc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a4b2b851fa6f3895a9e915d4bdc5b6b6715a4260","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.f19c86d13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.f19c86d13.0_1614036578165_0.559324117594225","host":"s3://npm-registry-packages"}},"11.0.0-canary.60e892d79.0":{"name":"@material/dom","version":"11.0.0-canary.60e892d79.0","license":"MIT","_id":"@material/dom@11.0.0-canary.60e892d79.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4283c5c12936a91f2b7b210f597352a68d85502c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.60e892d79.0.tgz","fileCount":29,"integrity":"sha512-k/1xfCikvWLTSuqEB8OticaPUTSTg+vCt9aFAbx29FfjLtlj6IfgNBFf+g4GTejJFI5lEmuqxhJOIYNLhvmXbw==","signatures":[{"sig":"MEQCIEmqqnin00Gcvs0HWsStuujo6fp3zEtgJx7A2z7fBM6sAiBI4gtI1xxwZ6ZkpPJjl+9Y+MN7B0ppO2lW/HSa37S1Fg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNFZ9CRA9TVsSAnZWagAAi5kP/iQ6C9A5d/zK+qCZBhHh\nnp1yl3AM2RjO1IPfpBAV1kf2/yIMjzrRw5XF2+sKzz7zZcOdXQ+H5K/gg19g\nEsDZNorzH7T5uIFCdVXkxrKVUQ8A0/IqEZHIGIO3qeZ9rMYGKPIiQDJtPAf4\nXPPBTfV2BTxR8VHK+W//6dnNua8fgvNeBJN46GHOEE7gQMkPJOQQtEGtGYGB\ntI5Mvq75SDUC17L6fTDjCLUYVxVeg529Ha1YkCOFhFcVDRKuYZ3yvJtGBC9g\n7OZucsrxE6RxvBqgXih6sSR3dVALlNwdxvK+e/BrP0k7yvCqIBtbOct8im8g\n9DK69mUgkcS79rA5eIb6Irdd9kmofxiTP1P1YCglMduLBguzWL+3hdh52LCq\nRUKqj0YMvBPlhezp+Zd4livS5XSsHsJwn/jzaPFpq3qwEDixHkK0lbxvgmgB\njViSo5A496AuFtuFHXS1NuA0sStYHKRSyFgdepfZ6kWE2Ljxb0ai0e8qwv77\nxIRdJcY8RjCsm1R4poGhdv0yJnWIgYcHTGFClQFR2USqeOPBX34jrs7zcMCs\np1aHfe4r2MVU14auUZfGjpUhBvwOJI50FPdAnovbtZwcWTWn21N22UqIkFxT\nMhepeWzfcROEZ/Mo3LtnNfehK/100zjoLC6yr/j1i26FQm/MMp0OpPcnx13o\nAGzv\r\n=Jlod\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c94f9f392484897a962a9b7101ddc6d70e5df67e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.60e892d79.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.60e892d79.0_1614042749006_0.37939721760083867","host":"s3://npm-registry-packages"}},"11.0.0-canary.c96bfa495.0":{"name":"@material/dom","version":"11.0.0-canary.c96bfa495.0","license":"MIT","_id":"@material/dom@11.0.0-canary.c96bfa495.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a1072d78cf541bc037ac4fd0fe0105ac034a37d5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.c96bfa495.0.tgz","fileCount":29,"integrity":"sha512-hMsQTURP8mnrbA0rnybP+t1fqx9OTPc7z1E88n8Xa7afLEUPekfwc621ESigiaH+3kpn0jnfODt6zj5k5Pt+wA==","signatures":[{"sig":"MEUCIAp63/czInVpaaid4l+BW//iWyHR9A3iJ4yQTJLokynnAiEA3Q1V+6nNIJedGvYO0Ut7XIXzahGsNNJ38078+/rTFyg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNVgkCRA9TVsSAnZWagAA+UUP/RQ/BKpH4IMCs1a7JQNa\nPKbljsOuopSvtU6U/TWLaGrI9X4psXrWlRiBhxVN1/WQaJVn8439Vb4Jv8fx\nu2kbpPKDYTj2R7iL8ymuW9TprQugg4y/eWYgC+FqPTC0d49ESBXFS3HFB32N\nwJlew7DMKMsLligBW+1fjNs4KvNgzEschcoWASa+RKNEv3mpM4ukRB3TOyGC\nYiL3y/CA4Lo4crmho8AkGYUKQBslGW4c0V7hp6SOIAmcOWEfcXTyUhYfT1YN\n/2Kd4OjNZS3fVrCHkdGaDTla24xzNEQTdZZsDUKAWzem8AhO0k+NJb/P0fzc\ncMVIdZHavc3Y1Dfdaq0VSBNOse7tAVho2YUulWE2CZvC41VATHk2MocG2O0r\nkFCQBLevNopfNu7bCr1lz7tJUYpe4ZwjCVGR4Sm/2PcuMyJzY0H33mxnDaqo\nh18kXN2AcfFt+Sg32L1Qw9cs7j+neVlxTJtD11BhYVy1Xbbbkp6H2ggDdVm6\neg0riDC2vZnpGsi4SwFjS4xTdXUYJYORY/Trq+vUiTFia+XX0vQf2+CIpr5+\nV63JT2Af9TZqzlfHYTGhfL5gVAXxMd2MWGUVRKdTUEnth9HOR7tsBrSTvFTy\n+muafL38ZbgesfiYwraNEU5otM52YzPoccPaes0nkqfzltL00Hus5JalLuiy\nnKwi\r\n=+E2Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1fd35f98370bc606c6677b7045a8acf16c0ea7a1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.c96bfa495.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.c96bfa495.0_1614108707805_0.2345510495284031","host":"s3://npm-registry-packages"}},"11.0.0-canary.fa9b59f67.0":{"name":"@material/dom","version":"11.0.0-canary.fa9b59f67.0","license":"MIT","_id":"@material/dom@11.0.0-canary.fa9b59f67.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9c77e8894732e8ee5a29c0145d2f3e011e9ef941","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.fa9b59f67.0.tgz","fileCount":29,"integrity":"sha512-VwpWnH+Q6iMTIGoKdrun2Ux9SyvcauA93/DxjzSbzfulyzyHlGFR+6VG2ntXjS2gDzi1g96Otql+5/D05n9YLg==","signatures":[{"sig":"MEYCIQDkxi5RLOWOrSNCLMkGK4wLKmUP6A4TxWnkPXt88Dzf7AIhANSt0kBijGp0Uof2vLUUSrn5OJod6tM5PicBeLaDJYwP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNVhuCRA9TVsSAnZWagAAR6gP/j2BqgHQbTmgHEd9mTAc\n0HB27xu+8FhnwhniDTpMz4175UUxQ8tljkuCRpqH/vvkIi8tQWsmxAbRTvdv\njp5zgXK16fZ316OLrx/copBgov1WOSXb7V2LWkPlpQQ3/b3zPlY8ykhtZUa5\noWmYi0EuSASOio7TCjNoecwl+e2O5DGPdUJcLcA/E4WGudWhQfBc3P9aWy86\nb9IC5v55dr5T1BLtaFCcKbeT5gSwr9Qh8Wpp26vVZNXK1rFnQoMQeTkhk5JH\nDQEm+DDfGswkW4QgTn92KZ+f4MUNL55pYSskS5ZeSIwGnfGBdO3DpQYYYD7x\ntmZv/cA96TxMU1/LAOqKO443gRuLOWmt0W5ilZ87iPeybRpjk44cLS9Nfvy0\nYmdhsHG5LtkxY4slMYwlKQjGq0rjnrg9/KYC6vfY2nVdCvJi2tMWU2UBWDxf\nH+piez5kmAZ2zpHsEpJ8ZjEhBIGGLnbuqasUTAxfNPUGwYg3wvdS5RA6uSXg\nBj/OyNEA2AO2Z82Lw2PoD1KkuOShYgR0Scmd1uPk88OM978BuOedL0+R1OGw\n0kiwFXm2ORil8oF0vI4r95NHNzCDl0yPEqxOtWS1EeSmH1dIGLM0f34uFuWx\n0GwXBJKHy+0mXZ27gwivAtw105M0bQVE55AeXApAEUFSFXYcQE6HsqXYU08f\nJ6J7\r\n=wCFL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5fd97ca8b5906f3b3097bd333237976e3e93d192","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.fa9b59f67.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.fa9b59f67.0_1614108781636_0.04550800432712432","host":"s3://npm-registry-packages"}},"11.0.0-canary.869e3497c.0":{"name":"@material/dom","version":"11.0.0-canary.869e3497c.0","license":"MIT","_id":"@material/dom@11.0.0-canary.869e3497c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"926fd62077592032244d8b4b514a17ab88d60b0b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.869e3497c.0.tgz","fileCount":29,"integrity":"sha512-iSzmbbiGLbYvy0qNvHbpz27XxG4YV5DAzJpaHJsTPqY5/Z04+L5+OSIny92p8cJnPxVCG334vRlrIpuomk2gOg==","signatures":[{"sig":"MEYCIQC/j31h3qXlg3XPv/5cTCKlJxF9erc6tHybov4hm8DSggIhALCDhxCCy5gUJwJvvTErGlBHq8Jau4GB1RcCIENlgVgG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNViaCRA9TVsSAnZWagAAPr4P/2zTlEHikyT3P8IcM1+X\nTSPX6rru2SYEBWMiZ/Ik6sF9iVRuN8nOlulmTtOcNb6FJtd9AFv2ejFvU8xW\nsb6xTGc1lmYnk/JqYTHtYp1q/GQ83+g1WSnK0PVgkVwutu61M9NKkK8oGdoR\nyQv6jCBBS9TC8OjCVHckA4eIn8sjzJdqmlQ2ZoXTqJSyeBeTNwPw73TUp7SM\nYOoEeftLn7JLJIBvHgmMIwtA8kyi/UHVqkpYiheqz9o5to6Eja+XN8z/LGMD\n8am4WAqLf6uI3NrXvHF4oOMtedBTFzES3rLCjPrs8uPFbeujdEUB50y+gK2B\ns15tpKuinPQuE/Eugq+37NH9JUl4X23HuozLrkL0sJAPadpVZE+i/a+aBgXr\n1D0ZUH3mse5GujE8A12A6M3FJu5Aw+OYW33anK3UsFgYfSzQN5KpQWxsuKds\nIEjzU6g2h1DwB/AFkAts+jQIzPFhW9Vu32it78tgutju3OrrKIK60DSYjwdo\nSea8+97ui8n2NZSv3S10qnqQg1fuTiepV2Mqjr0gF5xaMGxBnwqW01dRICOY\nO72j4rYelwNnadV2Q5B+MwSKvguXVd9boL058RoAiHa85GxbazxE3QWeBvnE\nSZCXIq5M+Tb8zbwvC1d7RUtkw191en5OujIjG0FF9WSei1wELnfWlB6Nopcr\nQ4c9\r\n=2MvO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2e1e116734dbd0e962ee4e11a9952ba9ee6684da","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.869e3497c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.869e3497c.0_1614108823027_0.9373353230140566","host":"s3://npm-registry-packages"}},"11.0.0-canary.8ecd7c9a9.0":{"name":"@material/dom","version":"11.0.0-canary.8ecd7c9a9.0","license":"MIT","_id":"@material/dom@11.0.0-canary.8ecd7c9a9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1d9762d235200aa7cabcfd60bc47b1a90cface93","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.8ecd7c9a9.0.tgz","fileCount":29,"integrity":"sha512-3K+gx8sW68MQeB1Ej2Qoqci3U0v0YcIRqzzY0IC/1cILB5M9Lup6lWTH5KSTULFyOZxEiXUbvucjXvlH+5l84A==","signatures":[{"sig":"MEQCIByn65P7WigyiUxVQ3VhXuN/cnLC4Vq1XS62FbJgHgkAAiA/aZWxPehfXa+txpMfm4nisnZQ+fbvUzn3UriX3R/IkA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNVxRCRA9TVsSAnZWagAANi4P/1O3U68SJQNMgS0Xq5vV\nR5u77wAv3N+JC49G2uc5p1FrMf61r0d0O2A8pFVzKyedeIHuIJ2JG7AuKDDm\nZSsDxgakkHtKcyiHsVD4s2KIFwRS6KycxEC30wFHfYN0ceYc5FPcg4gD3FGB\nCWh6/Ab+5rQMpE0fPPB2Ddd2oC2EfvYV2uCHE4r6tk7fHgiG09IWSOhdNJTL\nfMN3+1YfpkKlGIhFsqjGbglBtqD6xSAjSYUfOmm9h1uqiUr2wD4EBXSahapQ\nuNUOrjkIvVPLlZukFtYKONIEHF91jC84QLfoPEKhXoKyV6SsrCo+HPzoC0sO\nXu5lUgOMFCAhJ1yXMwcQoZR1x9+xvoBR2a0OPiKxtIRghy7tBUzzgtVieGgF\nGKkiTXgc4i6t0mI+Vh08QFiYE/cynAGvkvG07dZ5RMqAGoQxpFwMHWpqUJhS\nhPrjmyoAI4UbTu3p86C7SyPYgBMz1mhjH6Zgw/2AuM5/5JjKiasm4psOb3TM\np4KoFJVyODzAMAT2U2szS7JPbgZoIx7Eyw5yZu202YqKGc6LgcevviPes1uM\n3Fc9c/oQfQeBasHqYd/2z/NpTZCyc8ZLuOM+zcoTO6FTcy4zpWTyKLZ6nZBy\nOInYR2vXAPn2h+QOnmC99js/JM8z/7GiD5io2JssPb0gk3w/XFndnWvhfmx8\nIiYm\r\n=gCI3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ec70d22f543f79f769bc5b509c9dc06cb8114af1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.8ecd7c9a9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.8ecd7c9a9.0_1614109776746_0.18878043034378256","host":"s3://npm-registry-packages"}},"11.0.0-canary.9c85d505b.0":{"name":"@material/dom","version":"11.0.0-canary.9c85d505b.0","license":"MIT","_id":"@material/dom@11.0.0-canary.9c85d505b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8559642d26de81029f50489abb47d7be9839cb5e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.9c85d505b.0.tgz","fileCount":29,"integrity":"sha512-3zh2bCOhYW300cCErI1dM8vvLbLdKBzWdHELGGztBuRYf0hYTcl/lbV62u6bf1SmPrGXdtXKwUdR3N1WQ64keQ==","signatures":[{"sig":"MEYCIQCp90eMXx3APo3WECKmM3uCYgiyFfoj0z5prTzqHKvPKQIhANTMdTEdU5A6IjUZnOI83W3pDx7x11HqNrWoRLR3rZYb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNX5GCRA9TVsSAnZWagAAw48QAITjBp0MshLp4yPikVb7\nh4kx/16pEB5wq8Php/YVRdsd9BREirHRYqGBFGIhhGBm3Nr8y/e8th5t7c+A\nwJVmcLBViTz8d0/5DQxrUdfSPpLkrBK541pE9qRFI0co9BNXAROLFCUbiC0V\nvW+zW+FvMrRr1qQ8oCSDjP+9DHm4YCgYWrXdykStM4IRZN5DyrAoPsQksLLN\nM2zsp3flCiv2hLtS0wQVSPWkjs2kVVuXtzp53sGDkAuKrbdLvBIHVVrG9FHq\njYHqloDZks76BOgc/WW9JRdqol0sz8/n5M68LacyUJxxim4j+PVlB35tS2Ki\n3bFklelYCunG144JcLD0pB4QS76Y453qROeiyAVQVPYPyDrp8ff8noLf2dxD\nDIPkY2gKaOVyPx2s88X4I4dQD+rFsgh6l0oYemN9hvqHEdRxT6y7wxeVVtIX\nBVz9iD+H3KFOfBnRACYKlGEoQg1eI3Vd45J0urgMCQZlBWOKVjC8JFZzeY7F\nExPUPY7i5nVK6keEpAHBEIPKShhuSZFT3Y3+pgUIk64fbKY5P1y69X2Gm3cn\n508P6SynbPs0bdMrFIwvs7wRwlsSM78lqVgYRkTTEo2TTLLeO9+uBWQRlEOp\nJg7/ZuaFA8oYAPzGv5oAk/zd/rW9B1GigNelEVQN+6RGhdAP8FmrKDEpip8R\ncJsW\r\n=hIYv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"374562c85250daef48b37a0e27a506a7e81c56d2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.9c85d505b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.9c85d505b.0_1614118469703_0.5096484588719401","host":"s3://npm-registry-packages"}},"11.0.0-canary.9f2e85fb8.0":{"name":"@material/dom","version":"11.0.0-canary.9f2e85fb8.0","license":"MIT","_id":"@material/dom@11.0.0-canary.9f2e85fb8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"49a6c3d500aa08a180d29a6d2e617a19c8bc37a9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.9f2e85fb8.0.tgz","fileCount":29,"integrity":"sha512-9glaif3VEbRRNlQ0wcYU+C1uYzppe/oJJ8jYB9GBnrIFDZ4cBsW/zzCr9+BQpnEqAicCosSbDy8htetw1JGr3Q==","signatures":[{"sig":"MEUCIFygKAzvrs73bcoBK6fzb5EAZA/a7CyO0VkqIty0QqIvAiEApC14d6jCizELDMl+VbK3iZTnw8JN2zlycLsXXVaxl0s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNa//CRA9TVsSAnZWagAAYGQQAIjcqZRuNSOjGWm5nUEP\nzSCeDMoA97NkQVlQHa81bLVall+x29gYoGoKpQMtayBusZvR2juwu7QvWIXb\nIzWmvirWmI06K9FLFzHzA/JM1tPfqoKF0GY0ikJOF+4Ru1hV3SEXSXkQGuC6\nZNbuvGVJkScYREmyaPbuIXtlb4GBK/uC0IyyzaKCG7gUarU9dGaADxUx1/LY\n7433PUxRCWH/tEuUo3lXv7G84z4KzahMxQxXfiVdtGbq/cAhFEBh2vfUiRJh\nxPy3sfGGrbk0Yk+Cs87YFWfj1eWBdZlpDhe36JGVx+siHBoyZrj2izlmheXK\ngpCdXwPjbm/efhLbeuYq01TV40NcwcosHjw4jTklo6ViwPKnEk4ooQJQeT+Z\nHDtuS3SaWXY50sILmTRHgxXQwdCxSbJwmVSHVvTrm5+g5BXrZnME9dfNpzIO\n/x2nFAvyRzUDJuvXfaAULv3wtm83ktjaGVMsAMlVcIrFSCSaK3OQspNPmrTC\nNkNNqxLCNt1iETLskPOgafydNGtnFRQ/xI6lMtxY8IboO/24QW7Clz+AOPSx\n9FHqp8cNy+FefphSSumKLjDtKaPNiIi3bS8FBwxlnPFD7hsel/4Ss7m0o7EX\nRQmUD5PaJ9fY9+aZrHUo6mUEAF5BthbaaGetPAGMb/xGmbp5I4tjfLwVNlMJ\n9sKP\r\n=b4KO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4dfe4e49ca9339b2914b3dfd9e5c12642a0fd60e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.9f2e85fb8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.9f2e85fb8.0_1614131199080_0.7432745890323962","host":"s3://npm-registry-packages"}},"11.0.0-canary.19c4f29ef.0":{"name":"@material/dom","version":"11.0.0-canary.19c4f29ef.0","license":"MIT","_id":"@material/dom@11.0.0-canary.19c4f29ef.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"233f33a483eac16bd54ab109152f844bf1ed0a3c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.19c4f29ef.0.tgz","fileCount":29,"integrity":"sha512-s154sF5Rp/wmEOL09nrLLBbdcayI1VgJkFzfzXM3zczsyUQpVc+JWIiF4uN7zVGBJno8aiaqxiNcV3/+deemYQ==","signatures":[{"sig":"MEQCIFcrDdAZnjWhpy9LMeQWh/C6g8XbsywsW50nn41QT3NUAiBlRhHwnUo5haxJJjp3pBQrTGiPHZrKDvMbLk9qEPBQ5Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgN/iwCRA9TVsSAnZWagAALqYQAJTNkctZEMlZEdhyxIVx\nxNA/Vg5amzOaT3ml3AjGK5PvqyWnHH/NMzx69m6uc+swe69LwqQ2PnvrMgAj\nJ4So34A03LRYIB1cCT2sLere87CHtRkeAxoss7Z06BkT1aWMGUgX2tmeXY2M\ntGQ3YT7aHaSoKgayuSJqjje2fMD73inCeoOkKEzAuZgYA2vcQJGVWxlfYBjz\nR9TTJBdOLBxasmh2OH0WP+pSa81Q32RriPDKNsfUNRUzvuaJDJoxE2Y8uRVW\nCCSDqwiSlU7YW2N/NeVhiTmBgBf5R4aXhf3p5uMrOZ4LPA5Ai0iujqQxik0w\n9z+0XpDbZuoR3FaRsEUaZVxrta+OsN7A9JfUTLrvY1F72jF0kcil0wkRQnbD\nV5uPMrJvSghis1RUROR5aLh2ri54fjern68ADjJdyJm9LIlDPFb4qxvoUEl1\noHoFeHJF7V8Ip9A5hNoA7VdOyWy2+vx0XA9MQSXpJPrz8I7rV+hpjGSEIQ5K\n+GkFEZ+qvGgIEPj0nzj/BLpLe4/2f94g7kJdV1xQOKqV0oszeJH1rqa54tRN\nAIfIxnM0J8odEzPr745I+ExJ9Sgj4tlZD6A3xtjf2wLrHyBKdWuj75ol73vr\n+B50ihBceRS69ND+6vRFI5eD/1vGpqeZpaV/hphMdbYXsRFv6JL+GnGsNdJ4\n3+cu\r\n=TgXO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cf61b54810b37e81ab57d447f7d050104a2f6f46","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.19c4f29ef.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.19c4f29ef.0_1614280879767_0.6194749013972594","host":"s3://npm-registry-packages"}},"11.0.0-canary.63df6e9bf.0":{"name":"@material/dom","version":"11.0.0-canary.63df6e9bf.0","license":"MIT","_id":"@material/dom@11.0.0-canary.63df6e9bf.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5cc8ca11906f5c2de0dd51ecf39f07f3638f06c5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.63df6e9bf.0.tgz","fileCount":29,"integrity":"sha512-vOg3mw/MAA4K1e7Hc+mZOBl49bAh/p9JpnncPBIXqtkzEcYolpoTtSFQ6z8eybOyssPs4b+CYqVt+r6UGWIbhg==","signatures":[{"sig":"MEQCICdP+KRlSU/0fTSf0+pDdzsVA8k7Cg+SE8ux5yg1XWtmAiAIe+mCU+4Yvq5jezYJ65j1WXkCAjNOrNyQUskK6tmpLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgN/wsCRA9TVsSAnZWagAAo8oQAIneH4nh2cFTiCpvtBNp\nVSPzNa8u6Sttw7sBGcty3eaVV1YrxrENHzYAdKEok3vWsUUzpY2Uda4NP79t\nbg6m9CpOOHlfxO/kLB2hcsemEECDBBCkzGBMcuXMut4Rd1V5nfTlI1sYXi83\naN9NY3hcfU/ZNEhJI/EI2OMLB14yiOGUpqpKuvgIk+fR25mnWmHSdsbTUyND\n3s5BiKPmV9bvL2iAIsHUUhw7h2HxXGxGP69lzQ9VncysFsQjnO1trYT+T1xh\n/zYo0DSlWC94iIgaxV2B+XWc1zk6diLEplo0wpBc+6HxoAXtkwi8QhUbDlsX\nD2J3obilG3JE7Itn1o7yfdjuH3rSOwDvXJM0zimW/CInbhTNdlvSd5LEOwVi\nFhWQRkgG/eND7H1/2sZv+jefqb44HLdfpwjUJ2lutEoAoFjv9kwyttFHBkIv\nN+Ig3s/D6Bns0Wjttbx9FQX05/xNOgLJcaCOqEQ2ANspuAZFFJ4u0HNi+EqE\nm+NZoMgye0xbfdEN6C97J4KHhPIkZkT3s5cBuCcpnGz5P9RCQL+EtCsiZ8/n\nIxjyLMEbzkwm4VB8OVccLmiWbaTs20dfsmKfGhf5nmjF+gg7+ifxiMB/eXl8\nuXzbAePB/dSc99oXJ4PaFPzLBfzfGViyetUjDWbklLIfI7dcSb7ADJ7CHxQ2\nCwD1\r\n=vL/J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6d11b414d4ea43b5c780988e2437ee30c9f1c0b3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.63df6e9bf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.63df6e9bf.0_1614281771609_0.3933794932157133","host":"s3://npm-registry-packages"}},"11.0.0-canary.981ad970a.0":{"name":"@material/dom","version":"11.0.0-canary.981ad970a.0","license":"MIT","_id":"@material/dom@11.0.0-canary.981ad970a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"274f6a8ce30a305a8d09bd1e1d1dfdaa3bfd0d43","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.981ad970a.0.tgz","fileCount":29,"integrity":"sha512-pqsUDW+Jq+b9FSoWp0SDmB6PZGL/V61jUpwWSLv08JBXd+QxiRBKpV9uF4thZPJJNv9uhkw2j/vXPoLcZH2JZg==","signatures":[{"sig":"MEYCIQCDMXpWrkuxSkI9FBzG2Ul2VopSVGXjbXnA3W4SbQJd3wIhAJDf2IxWHquUgcsNVq662NtqGq8k55cQ5aCw1u2yo+qx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgODt6CRA9TVsSAnZWagAAQhMP/A2IvbMxbeqlBFt3EBLY\n/WQHVMcFk4vcDlVBV/z3A7n0F3X2p7xNsfqCQqgwZUw9TBraPOkxv4asZd9Y\nUxJgOF4weikyXGjUUpV4v4X183vvOSysOtAvchxwoV4q99IAHaU4FS+H0K/9\nklJzGnzPL4W7sJZhkaiXV3dJnH8a1tZMxOGuGj7TSMhHnQrc6jz75lxcUxXP\nYrkYu3zRJaCzdtoRK9HvqDNmkQ/PZ9ruYvCEj+gxt6iYOORwkaSbl3ocvwOT\n3uHEMers3L6o4mdc6s21/PnsRk6/XzMHSW/WfehQwf6wbTaVLzTN3hMxKKrq\neCBB109ggIGcfXo/L+0jxZgmXF31QybjeAXPrvd2kVtYuxlbNn2/oxYpAvVU\n7Qu/TtN+0e9R6VDsaybxmTYq8y6rtzJ6SmDIy5SvHC61nxESQGqfBTCEYTYI\nR08+Pyrkn0in2Jl89rr980+hlpJeNMvu5E8LY9JwmUywFtjMTp1vzh1b2D72\nCtgkI7btuJOqYjyQ7TF1/rGDtfyUbDjilWJLSdBSIiYg/COSwBNPmBsMiPTa\nPXbWfAU4dksqeqiM2iv1PVis+P3J6ZjHVwpYohchcfODdMp0uYbXQ6Jye9Ly\nVLSYKn3x3JuDzxGKalse6k7FthVXgaGI7CnrcKFs9K8QEhqANf83Lr/Q4CTH\n5xDd\r\n=VVyX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0faf6e6b78f0c9b2c63f416ae85331d13aea198e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.981ad970a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.981ad970a.0_1614297977599_0.6190398472673986","host":"s3://npm-registry-packages"}},"11.0.0-canary.f9c9e39d6.0":{"name":"@material/dom","version":"11.0.0-canary.f9c9e39d6.0","license":"MIT","_id":"@material/dom@11.0.0-canary.f9c9e39d6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"721ad4b8354b73f6e14ae36e1b2cd2d768e4d3ac","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.f9c9e39d6.0.tgz","fileCount":29,"integrity":"sha512-j0mnk1dO7P80QvTb4pfPw4ybmgrBqK6HrLGuLgwMgdxrOMrVzgPaftXJ8rpZ5xrAS5hL9BcqcRx+J7rh6s/GjA==","signatures":[{"sig":"MEUCIQC/6PSQqo2HatHge1PbG5TCeipBZQ6UoFSslMKT/VgyzwIgYDe2g/QeswzTw3ExF3uTXNQmXxvEhsarkccLDPx64wQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOUAACRA9TVsSAnZWagAAeeIP+QGxdnJ2XZwlcg7EffF5\npHky87JIBQGk/Dmm5GLuamNiM43DASpqe7wzFpwEJ2N38o3gp2xfbYF1CWUS\nfwFarsl1Ap+INduxyv7PbJblGZnMDuKNJDQWYcIf2Z/7QTLlACCfpSVRnkMP\nlAcI+xR2MKkAhDNcUqiyKtT/nKQw34GzqSc0Zrh/zQQhTu/PDmCJ+fR4L5uU\nVOKb/y10NLHrBK/2Ax/zj8+EMY619StE1PsNf1L4SNCynZpkPUbtw3hrISz3\nPYXSihS/IaADC8fYXp5eK6GMeW69Vmf3QxdmGgwbZzS3Lftr+Yg/xL0LpDsT\nlqb6kOYtaPgMC4q8XCMCEue0MvDl8ZAx/QV4IwTQ6XSr6ip23PGR96Y0Y/XH\nWwhsiQL79fVVwIfoLrB5FKQL0/gH4gJ+jlqp41VK6bIMpB3MLucUL09TpCBd\nlL2VH09quL6yB08HzEpaSsz+UWqKXILDjGBHzgmLfVPE5Avhy/ZSwgWIOJ8N\nIQ6QcK/Ku8zQVu5s44aQanbL76W3P2z/aJbEsbU60PaJkMxGocyAkdux7kJw\nsOzzEMzBJyRuvUlnWXJJSNzIieS9P6wv86fVqjA42PhlOphz6cmTxZ0bEwEa\n/AIGIBMMRTYv/AA3P5J394gdhItUdprL8SeaM/0ErcerRT5uY+A9i8w4FVfZ\n7cEJ\r\n=BUop\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"81d489ae3f1defd63ee64de05a2a330040ae6406","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.f9c9e39d6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.f9c9e39d6.0_1614364671621_0.1625760996654524","host":"s3://npm-registry-packages"}},"11.0.0-canary.c97d7d881.0":{"name":"@material/dom","version":"11.0.0-canary.c97d7d881.0","license":"MIT","_id":"@material/dom@11.0.0-canary.c97d7d881.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"edec6b92ea7a9a74fe65e36e729dc3a0d218e1de","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.c97d7d881.0.tgz","fileCount":29,"integrity":"sha512-Udco5Pe9qmUtUeASSa4o8YcV3WYMSjJjigeukkqAdmSCGsQYSXSq5+bSqEdIB+2mJ+sGwoSelGYNIGW38hzjXQ==","signatures":[{"sig":"MEYCIQDC3/D3zCPSzzOGx5bvAKFJY+ZWkZcKMcxzSMPUcO3QigIhALFNv4EiuN39Iyds97lvwIBp0waLhit0EsHpupqM8x9b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPVP6CRA9TVsSAnZWagAAiJEQAJuxz4XSZfEVvuP7fj+1\n8PnclurkvhnVpdtfdIDl5LIWSoYw6ajxU2ay0OBhxNgi0oUl4hYVPH8xLE5X\nVE39uFPlFfN1/uhVE8caGx+5HItzh4WCqXazpHVwKYJzlBMWPD2jhh8sGDjr\nKXPjXE8jsAblmaqd301ZKO4FCnRNROylVI25ubcx3DAz7BbxFGcRtzRux9HX\ndu8KuM8UwEhBnckPRqQq+Hgd+8Js3F/zq6/sqjV/Q8o3TUfEwieUv8540zPS\n7MQ77k6yaVJzcuGQxCNVFMh2daA/5ZaCIvcwSPkfN5Qh3Ssa6CJjcNMDbPRy\nq4rpTX415KGael6C6fgkzYJGB/ip30msDwDyP7/mjqbPMQuK3dyaa3TsW4YF\njm7eCuIS+gFv46/KY8FjN6O7bBNEkHJhzyqoXYLFwhpALHej0TLotHEbjJ18\n5W6WRQlgY5hMzSG+fvqSEtcbd62bQtIdClG/SNTSvs4t81LurZrcDyprjdXa\nbSaW+QWm7d3pTJEwEbIQzmautuD9rZzCNs/XjqUsk2Dl3KPbnfUl2kuDWTbd\nMbCrQssfT2LAcwa1Rg3IUNVnKEdvueKTSa2RF3pHG5OtCodCMxReLlhsfVrK\nM9zzyAIFkcVLsbo700ggiPmpRSbp4bJN7qPdPltTelx1p+cz1tzJ8gTG2Hky\ngSf7\r\n=MP+k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"27a49055320511cea9f431f9c62d44a6490bb64a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.c97d7d881.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.c97d7d881.0_1614631930205_0.34970434524572713","host":"s3://npm-registry-packages"}},"11.0.0-canary.bf670dad7.0":{"name":"@material/dom","version":"11.0.0-canary.bf670dad7.0","license":"MIT","_id":"@material/dom@11.0.0-canary.bf670dad7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d55af367cc4f847fd28091fc19534e5435234802","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.bf670dad7.0.tgz","fileCount":29,"integrity":"sha512-N5ysksEyNC5UuQiC3b+YGZ4+Wsi9rglvKv64jPzMeM/0o+I8bFM9evA86ZtdJaA+RmP+bOplcyxGJDSseZuCGQ==","signatures":[{"sig":"MEQCIAIwaJxPK2LaBqTiJKWWxsNFr8mVSFzTChac6tTEI6oyAiAlUgWnhhStwEuCK8ek94ybjTDu70Dtkdmk8XeHSvRwgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPtYrCRA9TVsSAnZWagAAKOMP/idOVykmq7bzODWr1Ej6\n04YifQk4ykF9DzEaPSAcnIcTy5zd9SSpFZwtTwykXQPHGJdFdPdM4z4Nl+a6\nf3gsXU0r7vfphKy9P39NKj3eQ++j0jfaExTv+PUougQqCXWjdLLAx9fKXHSV\nGV0GI6t53O36xfBOOVLW4wBWOfaA4/Z8W2+ub3SiVVuP80JKreruWqRBBUSS\n6E3WC3L8TuyB0BZ9rwoekKPPinfIqQ+WCMr8wzka5TWgzvRQGPwB43wXs9P1\nECxOl61CbGGNPJmLo2aBZntJ9GwVPhUL+2BLcxzuylxMhVxIXBZeYuOd4UxD\nVeESH6HNfTYrkWpzdOrqXSyAbnvSBwqMet01GmblWlEIkiZRBPWgJo2eav/u\nqaUL1HXfH76zurvG5K6F8dwWgfrsmmdafcN4oK/+Ce3kPg64tPBS2LU4oNzU\naYprspgOp4A2GsUu8PjdevW2lAKxAOv/oA0zkhRkxZDyeh+GtEKToODlLg0s\nlNi/UiC7uPOLHF5LzuqUzALmsRFAE+AhpdvRZvdltddQ0q197/5hrC4Gb4Nt\n276BX9DE/12i2WbphXxPEeygNd5W8QFdByeaeryai4+L297q22m2/o/PeOG5\nYJNQfZr0vAcDrGJhaMXV7mlzydA2mu3genRHJeysJ1n0QMBLYljFQfi86zlE\nAASd\r\n=YUBt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"61b03e5331bd5c886de5c4a57a4edc1b53878e47","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.bf670dad7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.bf670dad7.0_1614730794459_0.7107603896453243","host":"s3://npm-registry-packages"}},"11.0.0-canary.c7d98fcde.0":{"name":"@material/dom","version":"11.0.0-canary.c7d98fcde.0","license":"MIT","_id":"@material/dom@11.0.0-canary.c7d98fcde.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"59bd98d1b998d4fa22d7d534eb3495e9f0f8c55a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.c7d98fcde.0.tgz","fileCount":29,"integrity":"sha512-ZFuhtHE3y9WQ2C52LFicMTEe4JXbTK7TN9U2gY591x+jHJ007Yu8Ai90VSAHuqk3hRdkXIvoIH7yQfVXKIWIjw==","signatures":[{"sig":"MEQCIF7uEOXwepHwaGefePLQAnPTxJMJ+tuqHe2qww8ZbUQUAiBMIoLI3iflbxbY6xJA1qkTT4kJ3na5Uad4TJp4i4Z9NQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP/HwCRA9TVsSAnZWagAAWCcP/06suV7Q7kV+YnlJeYlK\nsYpDiHmNAWdGrsyGNsOPRsyyVWRD9AP1Np/oJAaEa9rBijcg9+fi0Zdk1DNc\nIBh/XMSk2FNLrQ0N1xdJ2Z8PzodlvcFd4/WSJ/JWTTYLPxH4LUUJcJ8Vyzfz\n/g0HArigyhnTRk74Jd4qUZkfU+cABNihwb4Hq8cVeMcH37bHP+9AXQpo8vsD\nvn6Nml4iYg3ievzOASq3qG6YZBUxgh1J+kzRARdHYXsDe0t0HpZy5DpDDQLL\n/9MIFzB0j3UO3lA1MfTxqGKegfk3FXMKsLQzGoCghhbzMnHpBy/jmA08kVx7\nHm7wvJeK9L94Cp77iwwWDtv7HgQsgKucDL+9aMb1HkeBg/Fw8RsHFZHmQy/B\nR7FiYnpb51PobdendxQoM2rKFpQpG0h3af0Bfcow9PpTpAb3IuARPPtLRxbv\nivehxHoMVZ6tQYDqJ5Lhme3px8K+Go0tNru7pOLgzJiaagVsK5h8W3cftQtY\nQuZveamYu8P/UVH8/owIzEBOpV6hZC0bLHv4VQmwpr9OkeM3qhqZXCGZUedA\n+l+pZEJgbFE9Se53BldDxy+2Im5qcb69yopyUzmqbDtcriixXsEHCnPwCFAh\nhDBO66naHRt1EYS4qp7ayNVbBntblzomjua6o+xFw0XdKqMgo8WPGYGu69o7\nH3Sl\r\n=U2lQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c5c4c5b417df34d141edcb1fd743d83d7a2b49cc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^1.9.3","@material/feature-targeting":"11.0.0-canary.c7d98fcde.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.c7d98fcde.0_1614803439596_0.9398639448574895","host":"s3://npm-registry-packages"}},"11.0.0-canary.4fef8bc1e.0":{"name":"@material/dom","version":"11.0.0-canary.4fef8bc1e.0","license":"MIT","_id":"@material/dom@11.0.0-canary.4fef8bc1e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f09257b1fd3d14c36a70902aa7ace706f879a4da","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.4fef8bc1e.0.tgz","fileCount":29,"integrity":"sha512-2j6eXIrBb+RA2KPgWdtj+0r/kAZV/qwmRM2ijIya87o5JkOHZ25LztzuMzArExE0AOI3YAxd+0tRUmWxNLl9DA==","signatures":[{"sig":"MEQCIB8E8WziSoYmVykuzhNDLYjrpElwTdsr6hlXZ5yLgF86AiAqcSZUg6HVQCr8Eg0GJuaBdoR3lKE9nZvTQyDHHdSVmA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQBpeCRA9TVsSAnZWagAA7LAP/38ORqCp6yR3soEpl2pv\n+3krQqZ3YVi98bVPOEr4JHPU7Lyuuh6RO/EE3dY5/Gw0Kk3iteQxql1ZBCCP\nzxlTHPCmepGxf4OAn6W7HcqoSY2jKy4+iLyku4AjLIlbz31BIzDkwG0w7iHn\nEq+L8h7ILqp9bcFwdO4960Rph2BMqCd9Zi3OrsHJ3IbJCgl0BewCYaYbj+SB\npqTE/zlfbGjMy87tVDvMxxkmj8t3+zno60Fkcglotrqlq0iXA2nKUAadSkvC\n79wUVcxE16pgRKvUaHtnYi4+cJ27+q07EXg6fi4cLyUmVs4xCE8axwK5QG0F\nE3rSoFSdfNVHEPSLXvPnlDs2PNeA5jIFU0WNAt6n/TRknywOVVGfO4mNTLLQ\nfgSi7gA0yxvQu+RKTeonyFjd6XtqS2EI0JgvRrznNi9C+JPn5naz2HxX68Aw\nUKWJHD3WkaeDFaaqeIfwfNxXPNNkFyTCYBgs8mWj5JWf1rOFPcE2DA2qfBd5\nVWSINyag4AOs2m4kdWA5y/3GFUMTL4GsxHJvHINzmm6ux8TmBnop/uKQrtO4\nr2uAPFoKrnsb91Q35jTlIirxKGWUtJfksQm5rBEnw3P86udpjRDcAKhLm535\nLQVhywzH7Lt/ZH7QldFgHDZJabAW3Kfp81qesOUB3QWsx+GY7sl6QcuOikDs\n6Zfk\r\n=nEBh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"933905005f9c16276caed5327bc6ca581afabb6f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.4fef8bc1e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.4fef8bc1e.0_1614813790262_0.12032162574217531","host":"s3://npm-registry-packages"}},"11.0.0-canary.afae3a3ec.0":{"name":"@material/dom","version":"11.0.0-canary.afae3a3ec.0","license":"MIT","_id":"@material/dom@11.0.0-canary.afae3a3ec.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c6b5da166d71d17d23b3b2cb8aa4ea0b244535f8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.afae3a3ec.0.tgz","fileCount":29,"integrity":"sha512-kWKWWAFIfds8IQJ0+MSS9nxB6aevV5z5MZA4UKdbpi4E3GJxwRMyA8fKRw3aLdBCsO4tp5jLvSgQcVcaHGggTw==","signatures":[{"sig":"MEYCIQDRQBXjcxSPq/wEJf2mDJqWRfLMsOBZK64xLvn/gpr12wIhAM3+TiYTyz+uFChFA1Nbj3g4OiAhmj0NSzSo3RyHPpmQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQB6hCRA9TVsSAnZWagAA92QP/0uFNpM9QtpP3LQOVMa7\no7AwdHQgdJtS0dB7KMtTWURi3YEMqUW8N6s7eQ7rIKkJosT6OSuVnfFqt0O7\nNoNqLipyBDOXJdZCc1oDHsLhcGUW8U6O+UocGkrOW/MhGDo+s3V8Xl0SYBqy\njS0G2PJH0XHJ4ttuE8/E6j1SNvp59e7OhpdRCIXsbjEbJYlg7RygXHlvngTi\nydA1KofBVQeaaieJofg51sVyFP25eqaqh1K1W+Nhoa3iXt1aoG15mmwVzYQa\nqAdam6niORFJKrZf2Qqiw8gG/hmwIasbU3U3M9rRLbdcSJePdLZetBghntIF\ng247l2HIQL7KeuMZ0iUsEnHjsL1kNuaAF0U47q5EjD1xBBOkZFH3LLsVYtn9\nZuUdHii+H+hIgivTJMNnmsms0Aa9D+xT+9atAgAI2353vnIuOLHs5jUmY4hT\n0WwJK2CbSD1Gt1AU/7obwYBaOy3ROFdh0BvJrC2wsjAKinaaMUApr6J2hUjh\n464NbyqZRRiwRyxuQCSb1pxzD6QQOXImi7Ou4Tjz2MGyrti6L0O/OKe+GeAu\nme8/1J6CmePKTPNZU82mnepDTzKY96DzUtBv7mUVGNfVKxiZj813bXZNijhh\nSGBvZSpjmljmW+Rw9SAiIAMDdjHmNax6bYjhRNhkfVCtqAb8XlMcfW1I14KH\nuA49\r\n=g2aE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"054b07cc588568c82346f2cab8aa8948b77a80d9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.afae3a3ec.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.afae3a3ec.0_1614814881026_0.2942163248268579","host":"s3://npm-registry-packages"}},"11.0.0-canary.0a0b10f22.0":{"name":"@material/dom","version":"11.0.0-canary.0a0b10f22.0","license":"MIT","_id":"@material/dom@11.0.0-canary.0a0b10f22.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c7351cfd682285ff866acffe64adc03ffca28092","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.0a0b10f22.0.tgz","fileCount":29,"integrity":"sha512-17bPJlP5HweXZMiw59MX9ypQ7ViOOGoT84JxVFULQozXhqRMpnS6yPpr9apDLWIFsxcBnanNACAmUQngjL5HPA==","signatures":[{"sig":"MEQCIEAFU+nzrJ93nCTp7iJJmd9iS37nwoku5zAQMDzSXNanAiB+vcT2fuJeFSwgxr560krpsqezmfO5VEDPElxg7rStEA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQCLwCRA9TVsSAnZWagAAcQQP/jSJ9/zSkMG9Gjm9C9x4\ngN0B6/0ik8gg8lj/jQiAeuCBW2z5zGclUpwVZttGtbzCYhSSqTRUmM2CTT4R\nVGH+oRSMlE75qlnXZkScQFC5aYVnmX0Lsos7AhrAgqbCqjBEXQD3pXKO/JA2\nyKl9CmEZkY91Yxs4nVU41G1DtqGlKs7O/PCgcyRpYYpbEg4xeq1tRyq5fVze\njRFY+OKcXP6/Lmllad6LU7Hs/Eu9LVwGtfMT6oO9qCfdA/DPuqjBqiyKKZ56\nc/LLEr62jXPAOBrKmCv0n1oFsEues1RdbAXXJLxMpNy5AUon5JErPOuT6SMh\nflAfwGsCd+wmWeRANrlSwYjr0nDrQsMk/3UFzUS7Lhoeuos7xpmxUnhqQ9L3\nTc/u41Bc3l/Ky08QW4ZUMCRnrsrHYbQ1ft9xMPO6kyy6sBIohtprChg7bkDk\nPYYzKbvRk5A7hEMFJm8bk7950JMo90oWrzFrnb73ctxVamj56jjH/M0PkMXQ\nbpFj4G4zWx4+lgEVOipOXh1XjaK8LJRU9yTP2AnddL+dKR0Nms6vXfEGqykz\nhbsEjItu3XcBdzzMzwqDgXFJOlPLuudRpxpsdQSInDeLYLCnClD1RfzhyXp0\nPOxVy57fXoKQJbsf/QRnkTFzmZq2/pPCwvfmgUYR6DcRbiA/8qdwawsM4Ph7\nKg3k\r\n=f7iz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5b560f4bc4c4b50a124c9432e81b3287bd348abe","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.23.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.23.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.0a0b10f22.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.0a0b10f22.0_1614815983852_0.10529517523903542","host":"s3://npm-registry-packages"}},"11.0.0-canary.6f678a91a.0":{"name":"@material/dom","version":"11.0.0-canary.6f678a91a.0","license":"MIT","_id":"@material/dom@11.0.0-canary.6f678a91a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ba708c9a734afd0aff41be0732b2623ff7d6c200","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.6f678a91a.0.tgz","fileCount":29,"integrity":"sha512-uYUkjNIY4qlBT3EW5fHBDqZvg5M1N1tlXsQPojAzvlW5Nd4B/ui3CJKLgPAWRR28ZASSU7TKj8lPyi5Eh3kbGw==","signatures":[{"sig":"MEQCIHoq8Cqjhwz1rNNeQvBVlhnAifqDALJbcmOJU2DIiu3kAiBEDOeyiSp86w2uBcelhx+mqtiFLXS8uqew+YPOpLRdmQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQSlGCRA9TVsSAnZWagAA5bIP/ArbftnnhFDUzIELI+/4\n5R3y+A9XUvZLOACPOKlD/QZo7vr6QNdA7+XWUIIzAhu4rCqgumiaPm2s5dJz\nfUWVubw54g4NC3b6lcOwAhte8EBnqUzzV1e82gZ0KhDiYAlz2ee4x3tj03ug\n97tBtFMbqd90RypJEKZ0SA/aoLH4+zyls7EybDsC/UjEkPbsVatQ2NlXzExJ\nOl+wW+YfIWhXZdgO4oDu3ES0Dv83QimH+APZy8tr2VVzN76/cKkU1/LFEVXl\nvxTu6/xocYJr6LYfZCtQnkvlKXwFTSNvApAWeQXuG1tx2P0hJQsc1/MelbcS\nmdlLzCKF8EAA9dIWUw6w9tKOxvfRm7nEamK0DMpk9XN9EmosTV4/PTmUntUq\nEjp0mw1SUPUC7jMQ4EtQhPlFlv5N4HTaZ2GwDIHZtYOtrRjgRi7/QB3Vm74z\nBKkiqKIDM3FcrNqcQdisoVJM8iY1njZYn/v14cx1RlLucqX7EnyXo+oBiwFf\ng1++sNwT4l7t6hqDhvuKULayjPJb7IMnN0Mx06WYyru28BqME8sdN4kDzBZG\n5GkZI/i8Rd1JZK24FRMmJmE/C+TsCxrqpgScL7ZO1WZXoLG6oRQKiq44Y4x5\njUT5x6R5zYftxSpn0yuNGkq5nG7pm0/5HeuZA6wZmydXgBdd4C4YAOS47QWr\nLath\r\n=oxOL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"863e8a04081286602f8b0c9bf446655b9399e8c6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.6f678a91a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.6f678a91a.0_1614883141391_0.7477212689034087","host":"s3://npm-registry-packages"}},"11.0.0-canary.f5f1b613c.0":{"name":"@material/dom","version":"11.0.0-canary.f5f1b613c.0","license":"MIT","_id":"@material/dom@11.0.0-canary.f5f1b613c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"91fe3b59501bf2996001420de8f638ff5d3c5a78","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.f5f1b613c.0.tgz","fileCount":29,"integrity":"sha512-PizJlv4dCHeDRT9G/NpFKxDfp5aZ2q5ssadJLJ5WQqWRPuEBDmoxGeE/kHH/VGNtHtPig1M+z3s4jXG6eaU+eg==","signatures":[{"sig":"MEUCIQDw0XRwQKuoEb0ZObfQqBVC4QtkhVMqPildKmQIPnqEWAIgVQ6Km4V99JC66jp5ZgXE3h2m+4inz7Fcg2kV109A0aU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQUeWCRA9TVsSAnZWagAAKVQP/0Z8Obzi1yM8GDpq/We4\nkeM7FVTr4C56v9nbj2eDxbduN8X4RQsO62LgIhOxZWh0MxcYMwfluWgCoXhl\nJ5tvjycy5kCJPiOIaWGm0kre0kTevDBXjuzhpyk49yCeiBg31GigXQtR8I19\naeIcgdjaKOns+E2DkxDlOwuH2+OEpc9vWV6xEFU8yzFVtCFVOWTQpqn6IikG\nPDDmSISwEW6Qv/hrA3cS/tu5/zUvq5yxAuWSK1W5K2rJ30aXw8AK24/plfBk\nUfoNxRNeQuo3dMV7+WGrdvNpZ5HSWpLhQM1nPG3J90rCKkfA+5Gg/HSPUtru\nfcHBkQ7Zd8lKh58VA5z/bmFnPThHKG4yRLDDJ5llnDG+0hjSKqL/Tw+biFHJ\na4lWiBxZXwn+cj9zzsCJkWC6X78iDwi83tKcItTULqYOYbXZcU8v10V7sDbQ\nCXILjmPC+aeE0TZQGwHf0qYSpQRFWaCgLZyenGR6kkBHecB0FZGRnqUXjZbr\ncAlnu2zN8f98SN8cerqPDr2bCn2g+SjsIfB1MXCsFrVm36+553OIOFiOjnW1\nKTcVxMz0v7FRk8Wkjx34pydx5gJGoe9yC65p+zR6AAXsV1X4PJcn6ZoOkRV8\nWzR5hETWU00IStBRGD4z8bfg2uTbmEFBi1c2fvQFk09/ySK0WNipgImRjptS\nOcyK\r\n=BJvb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"20e2000d9ec732c7cdd0b5c15381f0a55f778036","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.f5f1b613c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.f5f1b613c.0_1614890902010_0.9668530584061541","host":"s3://npm-registry-packages"}},"11.0.0-canary.606e767ef.0":{"name":"@material/dom","version":"11.0.0-canary.606e767ef.0","license":"MIT","_id":"@material/dom@11.0.0-canary.606e767ef.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c6acf7bca0d0cbac10a916bb9b522c6bcf464826","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.606e767ef.0.tgz","fileCount":29,"integrity":"sha512-dkroQVWGmu7q9hs+hA6UsnI3zv+Y7Sdx0FxcxZn581rWR9g5DZsP+L///6tdTo4wWModUkQinW2YLcwRhk0eOQ==","signatures":[{"sig":"MEYCIQD7XS9W6jsxgnvC0/t9VmvBsy1LZcY77PjGlooTOVJVyAIhAMe9cufgBvPyArJW9QPQZpH21Le+VDsO3VEJyySY9xac","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQVSwCRA9TVsSAnZWagAAcHQP/i0crObb5fo9E5+1CbBm\nAi8hb6i+NCkjLIqmja5oX4bX7sM6hLdG1Q+nS7tFOK6oer9ccFGIjoYhfRVZ\nB/AGLTlfZRQnNr+RiAQF0wGh/5/k6DfCeKcUcxJZ7TgDoeflkJ74oKl38Q0i\n1KWFfTxtUGizE4VVobJDI2AsQmbAMYxOUxjeYm7NeQJSzOQWNqMO4RHXHRTj\n5RopWySyjMK4JJMzlX6RPRasD7ZDUwFxGN1mkwiUPKd8F4nUk2b+M1ADzJyF\nkdK/DaCBn5LvLbQWPqA1LXrp/jo2g9KtDp1vspFCPPOhD+bcF6eaAsF+sWHp\nFqaIXzmLOzDfGt7PgxfVYJXB3nas+RHMmLUECJFxVhEmLrctmBysseW6fIc+\nHEMx1aV4DVIoY1Bs8wUv1wwhS3vXL+Xs7QAsX5YdiEkUjbck7WoYzbJEJ3Uu\n9I8RcI4SuSEUNgEcPCcbQpm9DntULuL1cVVUpFsL6tfGThM3BcyOK2a3AGpN\noSs0RVD6MXHMP5KbQN2tvTZDXzC/bo+1Fwuv1nYENj3yPaIKwuZzq6CmKoyN\nOFRSQNAiEmFzxWsmcR9HT8oplJTdhfNSeLomiwGEYztfRt/VV7R9Zpv+/20g\nVzztPTSjAl7HN9YwEq7+IN6YNWHWeMqviYx+Z1GksNHwVGhEI9cn+PhnpZMd\nfDMo\r\n=qF4w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"34c41b3553e1ca4ee49c0c36a1685f3f462d33ce","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.606e767ef.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.606e767ef.0_1614894256190_0.12506679159319067","host":"s3://npm-registry-packages"}},"11.0.0-canary.f77a4dd1a.0":{"name":"@material/dom","version":"11.0.0-canary.f77a4dd1a.0","license":"MIT","_id":"@material/dom@11.0.0-canary.f77a4dd1a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dc43b3f3534707dcf88c3f671b8edba77740e795","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.f77a4dd1a.0.tgz","fileCount":29,"integrity":"sha512-XewEdt7jGazpCEt15cfimL1D1R+fuPWSf2igWB0fQhyxQwl3HilXC/eOaxf0+o7HJPd4Pw8ruh3T8EerLf/iKw==","signatures":[{"sig":"MEUCIQDYL7A/660Mz7kZ3oQjImQiWfxRo25K05xGzqvF6vbMvQIgQz4l3lDCKjz3e+G/efoJI+AQ757QNjMaKBj4nJE6HFQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQwdcCRA9TVsSAnZWagAAylQP/3xvLfKZl3oN+yEHa7Ek\nBzJA0kvGzQuY68BR05CB2uFcJ0qD5FC1QqVEjJ/dZSWVdT1VtsP5Gvsgwdh6\n1GrX5ozl3Y92XxaQ+XeLaiFbPaOEvV7d2MrOblR5gtIBYJubS9PTpKl/dyXC\nUWGNTVBCifHInn4GWRKEVcJdALHqO3iFglSAXMITTE9oPcdAdw7qcLQHoMGB\nEBWnqjcvvf2J1Js+fkWKWfSfDH9u8T3bc+tkDh3Srkq08MK7u4Unc+gsDvw0\nqbhz/07+d1hilkG78FSwCIT/92QWr6zOZnlpxbQs/adFEZLfEOI/P49mkHFq\ntuMmRj3K7BCxtlQhQZcL+oMGh29nDHlr4ZTsWMxpRseyTHVJ2KBCU1vpRCHi\n69pwg6BZW4YdQOJdZuT2n3OQfvv52DdY077RbNHzN26s8J0HnicJIq4zd8hN\nmD5q/NCrCrM+bpA6RLVJd3/o8DnvhN3rNL6lmMgx1yuk4a1oeHf15hPBu1U+\nrJorzNAc5dTo8s18b802D65ZScHsfJnVSzsxf5MLQYpODzkcsGiI96hxbX00\nP0V12RbFvryYz73rrGf/pWgL46rV3/R4hotDPqvx4etQAxmWg0sgszkaeSHf\nlSMroPjE7eIHQ8Uln2wdd63ZCAtNUlQ1WTq1KLQZhz0MbmAZ6ymJsMCPgEJ9\nfwbb\r\n=9ewc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9a729bc3e368dfd8685190e8460ffef16eac8947","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.f77a4dd1a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.f77a4dd1a.0_1615005531869_0.3331278491331322","host":"s3://npm-registry-packages"}},"11.0.0-canary.2d6ba2c23.0":{"name":"@material/dom","version":"11.0.0-canary.2d6ba2c23.0","license":"MIT","_id":"@material/dom@11.0.0-canary.2d6ba2c23.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"753538473b71bb2086f4b181b38d7cdc30fc062f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.2d6ba2c23.0.tgz","fileCount":29,"integrity":"sha512-tpVdJhSnAOxEaPbXKvm2UIMgeu0JDV0lVlS2JG0/y5MNZap4tJ2gdzCiPNOnnDqvo53CFrMxtLwdaa+eW/ZhNg==","signatures":[{"sig":"MEYCIQDoBTypRTWonwxQo/6A+Ui7XSvOgaSRFFZ+4/C9czdRQAIhAJyF6mfsXL0WCh8KQ6ls4XPHVK6OQHUv8rJFI6FWIXT5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRqiACRA9TVsSAnZWagAAYEUP+wfKdAcogK4u7F/xmyUk\nDS3cBNeuaS0CLi2nkMkhi0xC20tvVJuDjcHLFSF40r9v13vhXb+zCDUUFAVH\nq8sNhk2GKdtLMx47zWoUaFczj4Da+PGpj1kUk/ggm3f/r2C8EB8rInO8JrgU\ni6SABUdaFlZo5U0xY1XBudU8yC03cjzyLMJ347yEJ/tcfPv7f2pz0c3EJSYN\nFWxFm7gbU7eeadzF1KKSCS/c7VS8zJgsjDI7CoJ9R2rxt9qa0ROecwj2cxj8\nIcy9H9Ff3CGMFD/Up/h0bUzYLQk4g81joepvOjO4oFZjVMFbvxkOAoRZ4/BN\nNhr9pxv4ecq4iki+Iz0RabvOd7uAiQF+m7NmxUQ3ehAy9paNzGw+G2eFnbaY\nWE1s0tutMLP/lvsZtAoqnTxef+4nIptCaDGN9/4LBPy5j7Ea3vkv6ZWLi4f8\nSaXXTAxGM05Iw5Va6+IuFJiY1Grculrl59xAPCYU0HA1FmhjwB+TB/Y+Uz5g\nytBZ0hMB89G3Pduw2PJ58CCWdbyijr/1XO/Q4NTEsBBoFVUvRIXxhI9gd8v5\nt3u0AmBmqils0js5b7l9byx+/F+rB/PNnnGwttJ7VmzjKnFFwc8DkV1ayHFu\nfky0ap0nCUbf3Xw9LkISv2gsOa7OrBrS49knsiqQP25I953seSWFVkyCp9ay\nv4/Q\r\n=339M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a0b889753d981e10bf70b9bcaead70c1549cf865","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.2d6ba2c23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.2d6ba2c23.0_1615243391526_0.9896055848679137","host":"s3://npm-registry-packages"}},"11.0.0-canary.7522dcaca.0":{"name":"@material/dom","version":"11.0.0-canary.7522dcaca.0","license":"MIT","_id":"@material/dom@11.0.0-canary.7522dcaca.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4f1cab4a4598cb6b7298578ea40076e61e29baf3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.7522dcaca.0.tgz","fileCount":29,"integrity":"sha512-/VrHkfUACZFFikKM2tueqdUR+Vlgx68/s4erMDjuriTRppH4Gpz41GpZbm5ceHBDOgIW8nFu5J66fNyYtUK7pg==","signatures":[{"sig":"MEYCIQCQIOvwlQLHQcuM3atPcjTcwUyEEr5CoRtLxLb/4S2wFgIhAPqFHYpWRstqNyTmg4LPNRz63Xj7JgpGAn6K2Pgw/FzD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRsC0CRA9TVsSAnZWagAA9z4QAItRmUiDof1fGKSxcCAO\npZhr2kjYT9oEEe/tHP9/1niyWA1VUcjKGxDnbHkJih7sNQ0UR/j4uzyXJV60\ne/egosteL8fCsn3w4XGXdlX/1575wFWvaeLfP1gyxzZdyJkYJA7iR2+beoOn\nSi4Xkva4OlE1MXrc4oeRBh52KXD3fGPQf7ssD2EvLcrm5CQSYEBP5vfE9QYH\nXD9Zsqy1ocXngFB6xT7RNv9Qk+QVXJa+TzwQHGVs1cG+j8/lpgcSgcEgTDAm\nNEdd9MOpxOs3QQ4kBZfSfVLAQPBRR/91740msH9FKawX6/HnUjPUjT4dtcgW\nVabbudns3mkFcmQd/5mNy/9+AGfrxDVztpGLyO5oUDVqZylOlPPVKhnfcNsd\n+9fYiP/r7so7xPy9JwE4MBXOHpGa8/J7aA1JZYyaSEz+pgkzF+98dCXt1SAX\nxUzKP7QFCOkT5HIZkOqjP6OZqZnbibj5lvUaEiJDMbN2i5EDVRZ1dhyIO7IN\nBcVLX1JDa8aBD8wmwkcCD/P5HKxZ2ODzGGGvppQaZJW9BiQ0BsBAcx60bFiG\niFt7XA4bYhDPSMSG7ya7aUtaJl+UmPJI7tPhz8y99UDI1uEsotLk/7KQvRlx\nBT39maofbydzjC6QdhHU3oePXXil5z5JFKCJCvfX8N9Qq9NgGip9fEFEPETJ\nfNbk\r\n=Q9Rn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6e73ae404aecb0602a5da37f40b650181ac48062","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.7522dcaca.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.7522dcaca.0_1615249587746_0.13499084066867906","host":"s3://npm-registry-packages"}},"11.0.0-canary.5c0ab7401.0":{"name":"@material/dom","version":"11.0.0-canary.5c0ab7401.0","license":"MIT","_id":"@material/dom@11.0.0-canary.5c0ab7401.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ae05cb49addcc26417842e51bd4a362519eceaf9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.5c0ab7401.0.tgz","fileCount":29,"integrity":"sha512-k3cBTTXIN/d3/Zl86oPAcGce0oz4BjlvKp2QvzmOPUzi70MorHxPFn2zXA8wL1PtCeKtfM1XdZV2fyelVeu6JQ==","signatures":[{"sig":"MEUCIFhMvba3muXM69UEP9q2iYq3NqxCBMa7WpMuyUVUkFcqAiEAy2g1oubpaWUc9CSnKUCYKPitVtFlpEWU8DN90YUTxQQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR/vqCRA9TVsSAnZWagAAhqwP/iQLsCyDdCGsqZHzkIeo\n4jiT7c/BR8i4iGi/m4PRhXMNg1w6/Kb4be1eMSbYe7RYGoLKEOyNiFZKtRkT\nzdbmYAoIEq+uF5VIC9fAQngkEZHz74+Pdm/mrZeqLQMD+7JMQiItqQgnCNz9\niD7Icr77STF+Y3gyalhPvdrDxaUVKQKcVhFM18XXGCC0dWSG7VUjqAdKCDy5\nlifwSZyEjvc/oiIPZHhPZ0gaLx7hYVw8PWKXH/9oDISzVDVGk6B26T1P1zNK\nLk5MtDMXqJxMfYFeOxurGUMq7S3gimuK+QdfLINfu8/ddIvpRlh0q2oM2tSj\nQXOqYGHe4VVm2tVaDgOS+ctHePBb+U/qD1d591qkAWly/LVn1irnx+yGVeMC\nRsKeTEarxVL1+xIuJR7pd4OGS2cH/CPztYoNbdwWv34fvmrnJePpOD19vHbc\n5mWl6Y3gUPtBYup1XJ8XkMxm6+PRRxtwVpXT4r2dVedDuUUmShg0BUg1Tg1H\nnmnY02/uUNGN/flzIWvyZXlDk8N5kPnmqqE0cHSFVduZuZ5mz0FNk7oSlKv4\n+zL+qrazNBkE7I0FVL/jgmnsNFBJpt3IapPN1NdHbQs7xpXWwh6JSV4i1wiL\nnLCuRktmIu8WF7atnPIA4Y+qol6mIFWXLMupG3NYD38fNs4rGbrhtmlA3sRf\nYVFg\r\n=HHJ+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"95ff5a1121ca15128776896b8e4759594ec51246","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.5c0ab7401.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.5c0ab7401.0_1615330281853_0.8975737056211648","host":"s3://npm-registry-packages"}},"11.0.0-canary.59010b6dc.0":{"name":"@material/dom","version":"11.0.0-canary.59010b6dc.0","license":"MIT","_id":"@material/dom@11.0.0-canary.59010b6dc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"26f37ccbefebc4b161a3766421a19ffb02e0dc09","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.59010b6dc.0.tgz","fileCount":29,"integrity":"sha512-je5eiLMAZ+4avZJX+FEbDoIndGEZ/84QKQ3gpV/zsMzoEHd2m4Luw/4kbq5mpjs6160NuOD3zRPwtoB6pF5Mag==","signatures":[{"sig":"MEUCIQDtDAF6x8J9YnoBkbz94izWkZGcguLOiUBiBlG4JfSMzQIgOf5vP775Q69gh3IYhAR2gTFCVf0z9AMIPdXkVNyvmGY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSPogCRA9TVsSAnZWagAAnmwQAICzwg412f/q3m/bZQW1\nUzTTvhxcGrlv6S/NSbql13khNOPkOFyuYafBucl6PahiMrEen4QhgGSHd5TM\nErWlhonY40mI3ZxsvlJ7g8TZsLfR1FRNOVvlgFB7IZL+YvKxrLpJQITfnxSi\nrZrpFStAXAbhUv4864P90IclwpgQi6+CQmCz0yqnBLVw+0nje07yZMFGx2//\nMOV+xA83zSuzsw9iPKjQGB2bbRcIPoKRrSWK52TWCuNwxqqfFXo1m/uHrYSx\niLS7tGVu9PN365tiWzZCjgORp/wq1cIkiZf6qnqpuFElh7Txljs7vXssg+5z\nudXDmF465wAQQF5vc3UAUCBFdJTJJ3WbjqDIxFhKzwy8UDr+rpZvzl7ZzXmZ\nSN0/E3UjhznixJlnrvbb7pgEbccobU5tH4ER+LVs4puyJPNUfomSUiv6DY0T\nUyQKstePsGH4EQo++m2FHNFragHUH4tNFKwigF5htOYmfm6KzpcYCd6VqkbZ\nIcxIG6bUnhm1njgc4Ad00cg9KfPXMTM+FT4w/IixF+3inDNoiAXRYGNdBkjs\nVIn4QDTflccB63fhkxNX32elqqU0S0rOo0UGAlMBxWQAieAkQewWiXQd0sHK\n/Ryyi+YdKCZc4fh/BAo6KGCQVkSKbmcB+UPLR3/uddjbPP48wESUH0R2S6IF\n0MMM\r\n=5uRF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e697574285a5102f4c1e5002a85ae33a3bf2210b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.59010b6dc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.59010b6dc.0_1615395360404_0.5609108799911671","host":"s3://npm-registry-packages"}},"11.0.0-canary.9e52f5544.0":{"name":"@material/dom","version":"11.0.0-canary.9e52f5544.0","license":"MIT","_id":"@material/dom@11.0.0-canary.9e52f5544.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"81284c22de5e85f980ab0ed3eea037c0adf02c53","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.9e52f5544.0.tgz","fileCount":29,"integrity":"sha512-4G3YDtAWxUvob+niyUc0yMsmFhGa0bj/7+E3PaVbUGMeIEaZn/eZtuvisYLuZezTiPnk4KTLuKzVio49Mq9OlQ==","signatures":[{"sig":"MEYCIQCFoI/E/HgWsVmdG0Iu3CX35utP0SKLpGwIpMiyv5gDLAIhAOxP8QK7OCOVSxBvpCLrLVkkLThv3fZGmiuHNNrpU+2l","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSVURCRA9TVsSAnZWagAAd+sP/jT2e7zdDajiPELxTB4E\nvwiwxHzLNIKmrtuzvFiZquWB+gG6H34F5nzDt2LjBpoS7ivV7FiwOauiRACG\nHQtXikh4sBIhFicBSFXmxdJDvBT1vYVDlvPFtY+P4enRrB67PSxOFqtV3fLm\nUvUfD6OUyqrI8Y8BhiwHJXuOsaDZ3VkbdlTHwC0lp1NTbPDcAag0kghksjPL\n2Cv9leBpiLFwCFhAOGFjPd7hX3O0THpliNJo7ysHXyQhyOmev3cag67Lxo7G\nIUBVlGMJqzjbsxvR5TEiDR0hv+s+rY8r2KoHy9AWqChVjRsGxS8Hgt6wyLNQ\nfPecaDUEuMP5YkQMMAp/ZWY/dGmd7drN4mKAROKrXkCHm4HBARFlJcAYRuhL\nKLvKhCh1XOVYjHFoRi0npXeyBmcCRYGpRvKMkHrlZFAiZaOj/36IdhWSwpzk\nMFaJcmMtJY6IYRxs+z+7imHxrTiRE33JbT6hJKY52fSq8WIJgWAJU+v+sXmz\n06A6AET1GboRsN3A+qn97av8poBOAYT5NKdfYltb5DFmZwVmImvP2xgk458R\nRPVILUlImLuqfVHLmKni46+eoemgYkx9hZ6RoD8qAxd0y7qxFA5sK9DqicHS\nEHspcq2D1Ki757GRuchq0e7iJTNPQsTy5SzRNBulPU6LX+1kx3UPYmoq8K5s\nwl5O\r\n=BMkE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4763f125770ec8e3a6ea4d8f1f5f607371847e45","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.9e52f5544.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.9e52f5544.0_1615418640989_0.45639437001377225","host":"s3://npm-registry-packages"}},"11.0.0-canary.a678806f5.0":{"name":"@material/dom","version":"11.0.0-canary.a678806f5.0","license":"MIT","_id":"@material/dom@11.0.0-canary.a678806f5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b2c31bde24ba830c6b47973999ebde9f21f6d091","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.a678806f5.0.tgz","fileCount":29,"integrity":"sha512-L/4XSpqUtk63BMgQ7amx6ILpF/9Iz8qkJ2UyZEUbQySx2Rq1a13nO9F5SgMU6LRlhFxIAQZ1eKAVofv6tQar6Q==","signatures":[{"sig":"MEUCIHsTSMUenlbfgnVEi3OK+sl8NpQK/1dtXtTWBqsKy9ASAiEA4JXJIdsDAlVRPVPw9SHLuAZjOuPvI+mhIttATzEuk00=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSXcCCRA9TVsSAnZWagAA1MIQAJ63Pc5lkaWnM37+LDCw\nbGd09IOj8vLBE5TZC26RKrTjTg4lPy+X3N3a+Y54QF2XmKq86+gOcneKQvWX\n6kNyBfmsCR+BwB9xZvXsluM6kaXVkdfBPnbpZaqJpzlsGeJNaqgaLYomanuP\nG4iAwJsKfplZ7CwtVVXkeuMSMhT6fi1ZNQIg7jZttpgo57zYDN94yaOSYE2u\nsA8qJJhJaP4tw/Mmg3PHsAIVDGHtrw8HdZr/OVpT6cHYiQIwtSPFHYPMFJJP\ndjy6RuX2EYIiZSnDdRckj9+K1nXD+2or+bIcpp8cWxkcX+VPyQ1IT96hdszR\nM3j++qvDTNxztrTPaXVkcyB3GL6T/g3PkE3LnH76ASuEufDoaDG9krkxE+ga\nSH+iOGuSdXXsk3gBRTSzmRVUMcpgzctPSqJBzDZKbYhytwu4jp0kadtMVeYd\nPi2z7C75QI+ZGB+uFNYYcq6aVP8jBScmkk5ZhZEdlnDqplstS5v3gvhlObeg\naQyDdaFS1jS+a8VQfxw6a8QGhny8I5f69tzR/Ibj3wbfq3wSSEtSPXVLRF2p\nB8WEhw8tellwEj3X9GGEkVWWG646LGGS/O8LSohbCtd3iECFf4MMBSfjjF5Y\n6QnAXz9AKKUo2Npp4L6ZOlJ7Y1PENnVXtJi3zyVQiXJb2XVYPZcx21ZZsGlk\ntzjH\r\n=8yuh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a724ed1e64d54989ee4c27c71935f90fd5614f3e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.a678806f5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.a678806f5.0_1615427330355_0.724862885067292","host":"s3://npm-registry-packages"}},"11.0.0-canary.b2d22df5b.0":{"name":"@material/dom","version":"11.0.0-canary.b2d22df5b.0","license":"MIT","_id":"@material/dom@11.0.0-canary.b2d22df5b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bb993f401e7c6a53bff09cb8b336c8f880c54783","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.b2d22df5b.0.tgz","fileCount":29,"integrity":"sha512-dPDqKQ5GriZMKcPZX9fJirSEd+07QlFhIrlCV/n5HXrBQdax5MGTA05mj1PEL6aJSbfPZEFJT0zy12FcUDl3Iw==","signatures":[{"sig":"MEUCIDcYPV3RBcD5UHnTLjPN6rpLyyWflqQQF4Lp6qigmDKcAiEAqtvHZS/bTKx03lFi+LsJGGvjHym+mLoIbRiZV905hTg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSkz0CRA9TVsSAnZWagAAVGcP/RrQ8oBlIn+/EDFR0ahj\nS4si7cpUomlEVtwovkrTUslGv3FJD8t7sH/oGCW0U4qZ9b+xeePAFnC5/5io\nJYC+EXMp0U081KJsY1FzQPOjwiVJ7wzfuN4rIh5KoiySM0273TyhC6BQgrIc\nvj5z2xLbtr0iTSBg2kJ1usOZYUHxSX6Qn1vS+Q6bk9nON7oJfCAgkAMfjy3r\ne7+mtSffD/txpVsQ39EnOc6o21/K3ilk3p1WSDf9AiMe7iWv3COoHcpURJlD\nS3MjDU4ogcUM/oCIsVrvFMsVFCy1unfxNeEXXae2WACKlu28dBEvqgmooLAE\nS02qf3E6njg327e4mZS082maWpQl494vOFMWBfqXj3iDczj9/soNCl8+I6mJ\nxhNGmCoSmSB/PF+vvzkGYZwPwM1Yp/27XDrQOOMkxV8yU+AJ9vpQ9wz5Wh4R\n3Uewew209QoloJOAw3qVR69YxrUjgeR8RW5DVkSiNW0ibrwdGsk37q1VLyGX\ntD5SmuuYdg6QZ5AGHzYrF3VTrAz4v8OeV3BTzg4reM4KRb/tHGlMQ4kMadVY\nUDOPPfE9mEOMkSPDbds4PU2sTbKxOtFZvqlrs4Djcbv+/HM2XcuZE/sViHLa\nadva8iHKyPJIeNEvzYKbsRTWe/zf3/jhhKhQEEFpch29j7c4AlP1u8D8uLxw\niFem\r\n=/UWi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5c38fa8d841f5b293e55e4a22202bc6ea8220874","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.b2d22df5b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.b2d22df5b.0_1615482099701_0.5294495829967536","host":"s3://npm-registry-packages"}},"11.0.0-canary.81911b707.0":{"name":"@material/dom","version":"11.0.0-canary.81911b707.0","license":"MIT","_id":"@material/dom@11.0.0-canary.81911b707.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"de7bce23f257dea94b4f2fe51e8b1409c68bb3c2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.81911b707.0.tgz","fileCount":29,"integrity":"sha512-5z35gu1Q9vSNOZzf6qNCH7FryirSjqIBE1aYsN5QpGvb7H2/8WwVAvrpS7bF/EO3wAVl7xsYyBD4RBJOUcr39Q==","signatures":[{"sig":"MEQCIBB40SOTzuq5cO8vQNj8EUiA84+FjVup8cV7gOU92JOOAiA5gK8tp2ijV+fYGqrET1C5jaZqMgB0/mi6JhlM5Y3msA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSl/QCRA9TVsSAnZWagAAREMP/2I3e0jrBuhdNjlDDZ42\nY9Mo6ex1QhQfBvWmoEj7ZvusUrbgyT+VIoq02IS8wOqArFVgRdW+6yPwczjB\ncYEvRAxlMMByM/rJiVQCvtzrURWeur9oxA09q5u3DbmUnkE8YmTjMj7qAv5m\nofmjefZ0iBUtzles4Kzk+dHnysfnyxRKW2RfQ9Po06aRO0pPlCCLJayOccBp\nKm/7h2iXoA+4b97yTlyZ+K9HEJqiY7quaDwK7uoyc0DWGOqyS7xyZCz2XFTj\nKiUSAvUBkZYJtqJTPr+HSAjBIXkhEwq8687jjn7T5rYmIKEqBI8x8IvkBUC9\nE1cEtzBgCUb+Ot7CZND2eY+Lk5E99QylnH/XCDpQbbdc7VCrS+93w7tttP24\nqV9a4QrAwJi/ZC2Q3ezS/bGEB5BJVLdknIslvkbTd6owEofBIzGuNF/tZbBL\nY8o0Uv9MV2C3EQ1pL+MD0OrYbiwvFg/rv262b/ubsmru86+WhFuWi+1Lcf8a\nooJKhiUspZY61i71gcT5ogjQL8tJS8DyGSTR/gFllwO+xQp9F0u91+9NgIq6\nfZizU2kUr9pN18xElkz8xB6NnTpv3ph2LanOzARO9/Kl4+DCvq3Unwqqtu/b\nOCmjHEd4s5rIrG59CR+AtpcHcLKFb03EJbePHKMDXXE+J+ITtRidK9xGUKl2\nHeLS\r\n=4DRB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3c1bd5b1d6d6453c4f616633e1d16b1fe0812814","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.81911b707.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.81911b707.0_1615486927592_0.9556780508418683","host":"s3://npm-registry-packages"}},"11.0.0-canary.9eeb35c38.0":{"name":"@material/dom","version":"11.0.0-canary.9eeb35c38.0","license":"MIT","_id":"@material/dom@11.0.0-canary.9eeb35c38.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1ffe7356c2b9f1d158e5efb66092592122ce58a6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.9eeb35c38.0.tgz","fileCount":29,"integrity":"sha512-FsVptFvEnV1ySnMY3UptoR11brd0c6wSPbrqGPDWoYFe3+norAy4SwkfKW/3FZimBLu9wz/httbfuECisYzPqA==","signatures":[{"sig":"MEQCIB/0lLRsWjBQ64opHSzhfPF/dakhf7UCvpGXPh6MeeB1AiBeMJBZnXNs0VKtl6qa4ZhuVMiwOhVfDqwzaxHoLukoUg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSnENCRA9TVsSAnZWagAAJh0P/jlAKhCz/beaXQGaTCs+\n0oHL/QT2MrzVEkI5H34gi02JT28qeuCdA2fMG6eeXw2OOxbVlWSkzFNTyDFa\nE9yWHjoa3a2HT8yyI8vbvKdUAyrf7k3WINriqEI/rMrc1zwhSDsHBvOOdZ6s\n0epvHt6D+ZITg+G59ozYSn0SypLC0fGdycZnuVs+q/oWX2dMXrzqogU3GcHQ\njgj7ajWWOsUPUWQ+G4usmg0fOeo5AwJFFENh96GhNowRUobvWAcxPBW+eL+L\nMqed9obBjQXzqvHQ52RbL7mu4xWi8RhI3aQzSqCMsIaoJO1JPOuzFKq02nrR\n/wk7u/KDDloPh1a4yjNOyjQnJNJ1anyL87hgOn8/tWjibSLToNx05XZaoYia\niIa8mNV6/cmYU3fHKjNwnoCssKId7D2j46JWuurl0OTD4S35rCuY6KHmpGgm\nybSfiIO8tcWu5mEQEH/xkyXj0KjJ3czicEKZ/UFASOgeef2Y5GU3MFKO5eWd\n+o8s9bcplgEL3vWQkSg6jHXRLZDmJ3z/2Zrq4RLhxmCiqZ9+fEU0K3hPBnCl\nICFYx71kC8xO+boEtS9YaQAsQic4r06AIrAZWkNzzKtFeOHBIz/y+GJ9nLIq\nIapRBhVM6JsUucc9c21T2pPa1HzGS80I9M2V3aUfH7Qwz1iZ8kT/Un07JEL6\nZGeN\r\n=BkMH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"147a2a556e5155bedce0b0f267f64c26cf87d0bd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.9eeb35c38.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.9eeb35c38.0_1615491340695_0.1093908159304815","host":"s3://npm-registry-packages"}},"11.0.0-canary.12be3e95a.0":{"name":"@material/dom","version":"11.0.0-canary.12be3e95a.0","license":"MIT","_id":"@material/dom@11.0.0-canary.12be3e95a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"51c86d9b067ebb238b1f66fefa5d955bba2d7ea4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.12be3e95a.0.tgz","fileCount":29,"integrity":"sha512-Lg0VhTVz7SphTS3dIWOPpMOBlzSPv0X1D4c/byVr2CKfg5v6r+ymK6axc4OldDgyZtd/z8g0b3sGBEZ6mHfLKA==","signatures":[{"sig":"MEUCIQCLS/suM3isdTClvj9Y/IwHvfFQc9oHScWvUfYd/0tsBwIgS5yi7hUtbpe6InIaRuE0kTBOcPMEQZcETWP0wyLzEfo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSnbZCRA9TVsSAnZWagAAVJYP/3rf6L32pMdxTY05SrYy\nyF3/+YhkKmmMH2q9fTowAJVV1kBSu2Iu5/Yfk5mMf4ghKjbgEj1n3471cFI/\n8fzH8U9lAz4+KrOK6I1xbpfLPWhZGR1gvH0JP+uBTwsnzCi3m33Gx8zaHsIW\n8VNhA3NaO8UYKE8TOdiI+Pm9IcfoYIZDa4WrQKNJiEwsubt3ZsplV6FV7JUk\nSYavQ3NbBx+h+2XxKfx5JfIXwr+B+VOEmxgYvFG5RiUS+VahutObRpFRzApq\nmpyE/N6718wq0k2R2ZZ3A9CaPUN1jXpFQyQlfu7xxXuyxCUB0phm8eRCxtfA\nkCzLyKNDLhkWNoIOrg1wVxamr9qEjDDzf/krSUzR+TcPsN4zTl4aYKR5deD/\niI9jDFRw7H63USHmuJQ4UJboZPGmbLYQs1qhZp5Kxgif4zwy/zbBvytsXh5N\nRK+ohGhG90mweszUWQawzZU0Q7VtJqn+ONZgSU3aF1uo22hlRH87LMkvNS9w\nTtJS3ht9bxzBZFLVQ0lzQm61K8inic1SJf9akj/2CR5LLS9+c7EPYpQQ+1Eu\ns6XwmeyJH43jEOxiilDojeE+PAF/8/e15NcloQ/SAaMoidqztG9JOwjiWlIM\nRzxdh/DPW9lSPjsm8BEDW8fy5xxscS+bZ9aJ/MQ4ym333tKsrIzrG/eiLPPA\nAbl+\r\n=MCc6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"883077446617b632d698e09818dc9d5903a7586e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.12be3e95a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.12be3e95a.0_1615492825094_0.5036683630809631","host":"s3://npm-registry-packages"}},"11.0.0-canary.e683bdf4a.0":{"name":"@material/dom","version":"11.0.0-canary.e683bdf4a.0","license":"MIT","_id":"@material/dom@11.0.0-canary.e683bdf4a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"42536da65dc3c5cf43311756ddc419a827901a17","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.e683bdf4a.0.tgz","fileCount":29,"integrity":"sha512-6i294iV4jgcX7oLUxUds9zUTpnMmsnajcZTh+ylRYlm6ocAmywLDM3ZXAuWhv05S/ELDD80Br8090f3/9dOJPw==","signatures":[{"sig":"MEYCIQC3tYGCLe5sNZGCEA5FVUPEDHx9+ZypIvmX+v8n10RrVgIhAJ3TDFWmzwN2pUKgPUfP4gSt5p1koM1L9XZ/h7AAsRar","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSniHCRA9TVsSAnZWagAAx9YP/2Dz2wjzj5ypAull3enY\nrakC9hNVzdpWFv3pO3gRFgWWtNBzWewOPYW51EKZEnpITLBBl9jEAbeaLNxs\nlQEubKXCYFfYcGHKA5DFh0XheYkceQ24z99zaf9Baiki061266ecn90hEZuC\nQ7rZO5kMkRtkt5ygzZNF08xCMU8yQW6lNmOGPkvXb/KyM7lRgFezLVCpE2ex\nIib1xbVkdNapesPyNfUHSQm32OsrOcyH8odAQbCsBRpV57s7VExHZZS1AKqL\nX1pR1qA7e+mds1FsxaqRGe9YfBYi4GSS/YyqIAYoMbJeZ6Mz00pNFC1mUGLz\nq3VUXn4elCknMfPohA4fbcAe4IGzljo/dZs6Y6uJOYUzxLwAwa427tjPx8OD\nXQ7dh0T/NlRmrnYExgCIPOuy6lEpNm+ZBIQGa+Lu0NGIWLczboMe5GDYGQR4\nktg1VHIb0mid7tV8mT1x/YczR0FN27EI2uFkZvTmxhmxbY8Lc+nWKIMdfZFW\nVEgVe55hrFA+pljYqcwZLZKEVKh9h5YlK5kb8OdujbuUdamAhpCjA4hTAccZ\nelNdR9WJ5PZ8pHx37VvXu1GO6/wmr/s2ytu9FsvOJbffGixwnHeweGi+y4Hr\n45OJNh8AjnrzuC/B0Stkli5MpagGR/3k6jEfaEzUTwl4N+9U036pCCQQ0g2H\ntYeI\r\n=PByN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0323fd7f39f825f8717fba8542628d111777ae35","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.e683bdf4a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.e683bdf4a.0_1615493255071_0.17082611304382112","host":"s3://npm-registry-packages"}},"11.0.0-canary.a07b6d486.0":{"name":"@material/dom","version":"11.0.0-canary.a07b6d486.0","license":"MIT","_id":"@material/dom@11.0.0-canary.a07b6d486.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"86e3333d551bd00557a899ee8fc7ad11cbc48bac","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.a07b6d486.0.tgz","fileCount":29,"integrity":"sha512-Gpa5TZDJNG/eCb9KCInwPUk6z0u7i7CNzlZ/mWxRe2OmQoJvlNjDA8LhUE2R4cK/wAlSYWfXJk3LMYPfI9UHwQ==","signatures":[{"sig":"MEQCIDIvGyskGtWzrCSnjM/bq9BGBVPRvajLDk+443KQmuz2AiBgll3MHCfi+kQgx0EC91jQ/CxW8l7jo6vMeeqExjQLqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSn44CRA9TVsSAnZWagAA3LsQAJ2ckNix41URSWMRRXE1\nudwQr73sw28SfbCMU3esGqqWQFvNBlMd3/IM31/N9WMIda6Vdmoiv4ZJFNR8\nGGQfVIV4ETp9qvzq0ZZhr0UPRRYD65yCU00g0PGHfmaG1ZyBUsK9yZM2cfWW\n8b297+rQhTulLUXCLIzrUfvVuZ1C90JMsXGM5XSmXAw7Qcji3EzAps4RT4WY\noJGlwyxjKN+Bv7jb9GMddyYZnEYibpEKY37j91OUoToZ77ZzN+LtycMUsOfR\nfmDV/5DO057xw4Aa4ZgSl1zLWDeiTntOnsH/bRbJ4aBrIM2WZo1+4I8M2KPu\na6ID1A+r0LH4QGt/ozJw4KuB0I+iuGilc5qbToGgsxAoDpCw0/2ItYh/0li7\nl+HuGmvgNRO1BmPkKZC6ERIaKuG28WCtuDervRmQWqpjdlrw02boc7lafU6P\nuEX5ZHQiY8HxhyJQL6CjBmdli9rbJlooLTR/LVb5uYA5ruRwHnF9F9qw3hr2\nt2/SNGL+29LAB8FPD2TkN9e3jK+5dLpjokpDiXnj9F0ba6tPlha/wXIiFsY7\noJTfgMLz10lgA5uHnZGybPQKQQRoAqLx3PzT6kc3Pk/XmHwof57KmRIDKZFb\nwa4FPTAXDdm7GXrJiy3SutK6Qlt5r4FAojd0BJ2aCl5D1WsYmZfiOF1kA4BT\nlohW\r\n=Pkmx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"425bbecac77849f8786f0a32de18a168e1874c9b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.a07b6d486.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.a07b6d486.0_1615494711996_0.8377736370500872","host":"s3://npm-registry-packages"}},"11.0.0-canary.1e0653477.0":{"name":"@material/dom","version":"11.0.0-canary.1e0653477.0","license":"MIT","_id":"@material/dom@11.0.0-canary.1e0653477.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9ae4ac6da33d83d256949ff8924abe2f7a4a24db","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.1e0653477.0.tgz","fileCount":29,"integrity":"sha512-lC50/+4gQ+mYEbjvnkLtz6Etqh0HWDvkRFa8fWfXcX2aCGJ8EFpZn0wGWn2h5A8tYVmtPVMDE3x0w5L4vks8Bg==","signatures":[{"sig":"MEUCIFNJ8y2ElbwShqdD3ST4Yw2xN/yfjQfikvAU1yKInHqsAiEA5lxnBRNWjPwiu7yyzd9x2EYA2/EOcMXYLMNJIoHxwg4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSn/3CRA9TVsSAnZWagAA67QP/057wRYARiX/cFAe7/9C\nB0MNg9t3MmjYUKV4N7PVCO9xhwiuRWckpzrpkDovCdLK6iDAhPFa0wYRUCOt\n2Izj4FFQ/mKKnevGEb7vE38zMH3FYnIwx2XunwjuE4MqT1GNokBkbW6FmbTG\nAkw5FoPq8cp1JFfsN+4CSRvwbLm1wkWi+FE4cOne40eHoJWL3m7dqRwwQIzm\nr6u6T9gKfuc0hMRLw3QUflU0/DmDpW170w7fKT6Jix7kWDxsKhPB5+u3CBtg\nCyUiKHLzNq116wSgvwljKGjIbxhXV3DIJIjBna9Z9Q2iIMAJEXYxx4kzNmwL\nVxKqLRbHkViZyrQxMH2hW+7x+694SBNlWzees4wFWZwIabj9UM/+qE3emKcD\nVTV6NTEAgr0lS3uw8QBU6RdjZYXd4FmsA2Q/Wrjm+aVSyEaYeUrnSd7nbFtg\nD8yk98WxmiRo5E9HHe/p0dhP/lcDE7Cje4TdkejCf7ybkCFR0dMZBWozCbZQ\nwkHBTz9SoR/Y7k/w9W32DEoPE8Er9QKb7jVcKCstuLQ+OMZ0lJxVbRgRwzno\n1Yx+Ajt25cMbe3w5YXnD48+NBXxp9ivwE3PUF+Vs3hdQaeTZ8UNEdclWam/G\ngaa8Uuk4p7IKMvp6I+ZA2qSedB/Na42vupF4EEekQ8ocztcS8J5ZCvXJ8YsF\nnS42\r\n=mW8i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6130e0fb82d7c39da4ae1e02df8f0851da419fba","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.1e0653477.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.1e0653477.0_1615495158643_0.04150750480721155","host":"s3://npm-registry-packages"}},"11.0.0-canary.148e8cfcc.0":{"name":"@material/dom","version":"11.0.0-canary.148e8cfcc.0","license":"MIT","_id":"@material/dom@11.0.0-canary.148e8cfcc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ddf1222cfbc9ef18980a8068f4f507635a80abd9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.148e8cfcc.0.tgz","fileCount":29,"integrity":"sha512-ZKHZ/f7n/GN2aA2zjiaMRZlpHLbiyI+3eOfHo2eKK00MVpAE47Kc1Xc8cc38YCc5wNEIHZ/S600SFYIipbVLUg==","signatures":[{"sig":"MEUCIQDc7n3icN1Nj2M8SDiSvWjVkN7s07+Y8omy1hilu7vqCgIgUbvmg2ZNNwgfNYp9K1O7m+nhZVYJkSQ5e+VYEUrmAqg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSpz+CRA9TVsSAnZWagAAle8P/jErsu3qAAPirUx+xDt2\n1EPq30UVw1oomwA4Uo5XcTli1X4F4V1G+itKwWzdRVz4ikaieMZRGWVOJw/w\naxcN9dG62i3DpYfRvnTua2nXtRDGM2Rso64mImNknKk+RtEwFocdl4n7Neex\noxu0l/13ZEt4DVk47kfYKPHNhXxTlX8wHyKadtY2fPfNjfBegVtF0//R2Sca\nRYvLOeONXUInJ5aWi2Qac+9+eNxKTEMttKNLuR+FTufUh56bKmFH8x1NRUsr\n5XIrUUC8CTo6PU1KNA4AgOOncJO8b52Lq9rvIW6P5sDNWZnBKd5SKHW7LzdA\nH6EYCt7BadJivP4/avUGs1Tqh9gGIkGOUGJ2WpFOoOEg09/wgLONrn/ytwNw\naWVBpQkZeczl/1o0QPieiNMfsrUP2roqBWUK6PyFqUJ52mL33z+o77tCIAQA\nuEYdHlrACis8VIhvn1ltPqxqO0xxFhOUexx9vQi+6F5d+ZTCas4a93PDBAsQ\nyB7ax9TbdGrERhgi6g2RjuWCpc2HxC7CHt1WrsCSO0uazDz9ozRnxYVLYyky\ntAxyIq5rE6UDUJagtEf2OLJLPTfth+bLMw+dgF5jtpU8xh+sU8oLcbY/5ndI\nPStJ/13u5AoVmB7IlWueAfmnBe27Hg97XnWE6icdLlgnaC2ofW2maeD6o3w3\n5Eck\r\n=qggj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2e686ac2d72b7a249bc4deb8b09742bba99ce581","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.148e8cfcc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.148e8cfcc.0_1615502590144_0.3031846177306088","host":"s3://npm-registry-packages"}},"11.0.0-canary.73a227194.0":{"name":"@material/dom","version":"11.0.0-canary.73a227194.0","license":"MIT","_id":"@material/dom@11.0.0-canary.73a227194.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c5b566ae505db2bf3ad859e137b7a1a5bd25433a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.73a227194.0.tgz","fileCount":29,"integrity":"sha512-x7EQOBa5KiQJsrAAarL4hEgXN05hhdQcQtV4ZRHfrjmJwFYw+v+qTpGVxqLO4FBNU/0Artm0bxDPar1uk/twBQ==","signatures":[{"sig":"MEYCIQDOMm5uqha7CjWNiz8OCIRW/m2vIijFudfiRAStGawVVQIhAK0rS36XCgVk7i9e0WqxYGccmNV78TUPaHPoMVzsPVJu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSrRSCRA9TVsSAnZWagAA/gQP+wfwYrRMeIoVg5AVSe5l\nAMGGlqkwaa4MhCnZjUq0PFH6aq2GwVOKtOGW4U+yhyNSA4AwARUtArDqIpyv\n1Ks5ze/NbkLDJDBGmZQddFzG8ALbFD/HVxMGpwzWv4jexv0FNIptfZz9orgq\nb2vfQtG+a5T6tyryrCpAVD/K/oiExKJmT15++wMs7rl6H9QkRueuKI9Zl1jN\nFKs+1RR6KiSXR9drBo0bMp+aI4R0IXiiLjtdd9Kou0ioTjvu/SHQAawiwvvZ\nPD5fe7GyPqJ5oeNCBXbVGcTcsd1hARs1SJD34CDWcY4tSpu9fz7YkIUVbed0\ncnxrY62eW2XlwwOVvj+8fYOIwTlEKY4PhziC9k5Ib2OC82fFLgZtd9Xf4HO7\n9CDRrRCpv0yTJ8rB4q3EvYmG9VYW4DM4sytsn6AHtfFb17B7iyUbCdHYuCDn\nhb464jFh8b3f/VdxYw06AGuLqgqhwkGGuZ4ARhyJJjLXuQIyHvKLFKp+WKcF\nM1mb7SkUw8b2a7bAbwvvKKwVidfs8gvg0BV6Vckx7aWn8c1XcoFqNDsvpBiW\noiuFTvpufeRMk7k+kcsuihZy8zT7Pdxmv/JKTltIX6/QsOv1ipRooFj9gimw\n7tZi3GfXHpUncIwXw++CSdJoufXY7ETMu0a+jho+OOqVx3wUpTZhYdaUxaZD\niQeF\r\n=ZQ9Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3bb5344393057d23abf5414ff61402a5091ac74b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.73a227194.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.73a227194.0_1615508562206_0.13425125698329166","host":"s3://npm-registry-packages"}},"11.0.0-canary.f8579b7ea.0":{"name":"@material/dom","version":"11.0.0-canary.f8579b7ea.0","license":"MIT","_id":"@material/dom@11.0.0-canary.f8579b7ea.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"845e741765231e0f72ba434c655a7e2729e547c8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.f8579b7ea.0.tgz","fileCount":29,"integrity":"sha512-PuSJOBl7mUuCEVs54zJbET08lfMX2hdMC7yFpR/+ZlMH0wcPVqfpVjTdBHp1DCptJkjku7X9InAsIpDIYfyR2A==","signatures":[{"sig":"MEUCIH6DabDQmdNFnYiDFYEVbXwhAlZpeeX29ARo2kvRjm5KAiEA2dTEk1H8MEeLL5inrXAEzGWMeJUw7yrhuiq4duZy/dA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgTBz6CRA9TVsSAnZWagAAsU8QAJdp1hJUmfs/LxZobOvg\nO3fLyCujk7c4zeLaEmShBjp83mWN85E10EiEfvDQ9mUss6l9vaYdlqo71PZP\n2owk5Ds3DOEmUCPRWFlEoGFMHai94JgNanJD29BBiUUr8Etx4gJo9XKuRBRm\nZIp9SPC1XPbfdnGa6uje8+dMU9X76z49DgUMU0svIzItLOdgFJjJsAfgBiqE\nzukpWp/UEmr9M2JoC691m40HH4bHmq5bAF/Ai5jgnJL06zdmHsWM40Myjulb\ns8Jufzce5Web2VhQ2F9l5+qz9TzT6vAO0dl0kQ40jOuCUFtPd1TmuGngkJYe\nYzmhaWLXx6nU5nl3hv8MrP+Q8FrQrLGb6okClhKfbiTAglaQK8nw5Mj7X7+7\nIWqAXKy9OsjalwZzg0HUuoxfSAO8ffq7Tq7s390dQ3glmrYXqMIOp6Y8uF0b\nMSOJM5CKWmqXdi/Jd1ZcWhEgwrVaAT/dGyPl27tBqkiWJxCfarJPkeuzxVtc\n9YLHy+EpsTDDmXrTE9W+3GUSf8yx9R1lTuVfNUg8+TtFmDfjvAr8clR3XhYw\n86EmUTtIRhuH4sCzlE3Zh9v04hR9PzrSZFQhe2KLwbGENH6+GAogWU1Pcbdp\nG22Gbs2rH1MggOXB7RysI7nl80saZhAuReLTxphsLsYH85VNd+aatO6MT9wK\nHLf+\r\n=+wzK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8b1a0816c0d3a68a851c5e6a199c4a9ff75cce07","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.f8579b7ea.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.f8579b7ea.0_1615600888883_0.8578864494458935","host":"s3://npm-registry-packages"}},"11.0.0-canary.d2a39d300.0":{"name":"@material/dom","version":"11.0.0-canary.d2a39d300.0","license":"MIT","_id":"@material/dom@11.0.0-canary.d2a39d300.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"eeb40974bc102c3732f2606ede9b229af2038568","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.d2a39d300.0.tgz","fileCount":29,"integrity":"sha512-n4JCyHJMYLKzAHCi1NUha8i+d3xgdv6viqvP7FxK1yIruv9pmfJ7sV5aZwuE4ddfXRAMSdl9Hfmgl850iI1j2Q==","signatures":[{"sig":"MEUCICfxSK0XBSIP6BuAZECbdu09PU38HFR0Zh2Wv/c3m1BAAiEA2YbYg6I02OUtcTb2q7VUjS6SVysQrgNsO7cO1JG2Hpo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgT/zoCRA9TVsSAnZWagAAjLUP/3d0PwPg16dN1pxUM060\neTNuNALV+RlgmBtJQNhGp0Fs0/cx5jk19mfrfIkuFGcp6IBIUOwOafL5RKcz\n6Qj1h5Y89r5kTXPOD8b2drpXy6/S60DSwQuJ+4YtXOuAkYunMd/FUIvAUGFx\n3lnxEQ2KKYkcovgQ/QIcQAlLG+/fvpx09HaikTMdMv0DnSI/b/bjhP4vn64g\nL+ijBWyEN5eKjznbBno5PcofWDo+S4sJa+IKN/trMdOKf2dQC8Je18t0HrcF\ndXCThPQbIDnU5K2HynsaIVZMj0HJV5ZXhgHZ5uWFpaLkMgWQTO2dG+gT70WE\n6NCKcT6oChZWE//iE8IAPXd4D32IAS2GXBy5tseT+pFrdtNr4z8+wyXeSuLh\n4w61l7Hqd7QrOLLVhtC9KFLCkU2p0EcDJhDVBwrfSMQa4tiHvPU3FsQKwUN0\nW/xyO4x4xtvhWmAzGlhloyojD+Q0+aa3fXdRWKMSN/SMEGsQXors5wO1yLe0\nt5EARZaaGl8CrNOFOsTxCMxL6edwV4bqjOdLqAbta4ZtgcycUca94Cr9UyuU\nNGrVWbnv7f74h5aT/R5wmjS1SZsTEcsG+KUIOkSdyBc08pY4l5EpoModFPR/\nq1vHkCeGp2NQBz8DCbihwRnAfHpqo92XnvJOuXFGyOVWjGBlNTe3phKKLvZ5\n9duJ\r\n=NGjx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4e928ba6e35dc70b34314c7509f647a6fbc4be00","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.d2a39d300.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.d2a39d300.0_1615854824394_0.07299380440966674","host":"s3://npm-registry-packages"}},"11.0.0-canary.7cf67823e.0":{"name":"@material/dom","version":"11.0.0-canary.7cf67823e.0","license":"MIT","_id":"@material/dom@11.0.0-canary.7cf67823e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"37d77a0b6def642fc482c1247b76cf8b9f817f80","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.7cf67823e.0.tgz","fileCount":29,"integrity":"sha512-E5lt6ZfIsLoOMwCjep2NGMHIWnRYrM1RJYJNGQlYvnGk/xnZv6rNg205p5Yp5FmkqhOKubt9qvIZEf0IjQyGiQ==","signatures":[{"sig":"MEQCIFQyO3bCh0u4Z4OXO41cklq4CSYbnlN50OUbVHbaIXyBAiA/P+StujKyRu5N/ZKOnZxMOBncA5J3vvbWtAlluzMb1w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUPaSCRA9TVsSAnZWagAAahIQAIrHoKpTxmY3paUgI5V8\nYsjO6oaHqNsweAyqljDM3A7ZXvQlZhsb3yH3nTSMdDNGw/F3I0m9OB3pjgLs\nVSlUrs6V7ubOmOmUQ/j5KH19SXYP+9kjAdrSpK4L2RLfNsYelPm1MlQL6d2C\nXP4CQJ0VQdtl/gQac3nxJpUfgrzNl0Fz1xnsbtdypNbtBP91ADZtxFaj5b8G\nsx6+r8Iqs4xZj/Uvm7ypfnDf5XVLoRrWz5j8d54lNPZl3Wt/0XwB0DkMMf5W\naRnrIm4WRIuM68fBtCefzsBuIj0ivMWoWZ75Dw4R2AK+l8CjzfXGcMLPprPT\nRjBlHbCduwbyaBigqxvsV7N+OVls0jAByyWlE3A9huQRzh1pZM+jYgvMfl9m\n6qwtkYPssAztSxyEw420mVf0p58d3pg4RwsU2xqMEv2odr3IsNncEG7SAUVr\nEgwbwELh9zD1hHFyWARMnE0+p617LQUY9LdViaMlEW5GKDONP35sJSldLxJI\nsLo7d5Je8PAQWUxrPDmo4g6+hShuARet4ouKNN2lkMzSk4KDdOGl/RbEHMn9\nJg6fT9lpbzGZRBtISJFhCPq0u4YrEnSKQO+qkolV9dfY47dmnA3D2/FwPPGE\nIDd5fxsCchjgBUu/vCWCIu/uzz8ltcWAQTtb35NHLVz6DO6HnTE69+W+8Q4u\nwkap\r\n=e+NH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"afabf42a48ec8775fa133ab10e023c1b5d2ab802","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.7cf67823e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.7cf67823e.0_1615918738396_0.12504767169874964","host":"s3://npm-registry-packages"}},"11.0.0-canary.67d780c79.0":{"name":"@material/dom","version":"11.0.0-canary.67d780c79.0","license":"MIT","_id":"@material/dom@11.0.0-canary.67d780c79.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"469a3d9ca5ce42d32187ab915fabb33e83ca4a3c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.67d780c79.0.tgz","fileCount":29,"integrity":"sha512-bKuYnBycKjEaDl1bG5Tg7OwGwwlqnDbRJzsFsdSgDIRYvIkMCJsKnEHduFoAzzKbCwGfJOpzuZPfhZTbgJO26Q==","signatures":[{"sig":"MEUCIEIO8Zk4gZSAy4wi/e+Kf6y9C08yvp93FB0X1+ljAkaVAiEAuKWPsWtL80hejSoav3C9rnlsvAFALVsfcp+7E56Nwjw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUQsfCRA9TVsSAnZWagAA/9AQAJGp655tstPOPK3Mksos\n33Oj29+WrUkGY91sQumuZShKXsWwOZ3wLTtCdiTGC6XQD3LRJRJScwO/gGEp\nf7mhoRBJcyQw13dohCfx2tmXNhtNwgQwzItOcGBpGP/Sc82J2FwLNP0TSC6Z\nGW+RzBUkRMoeFaqEPOVN4KT7F30wuc39z3qdVzj1loY7nEJf10pV90B8Aicd\nq1y2XzQYImNyTXGG+Ipl79sO8cYwqAcUNuy1YDk/FZJEpYnAfIQ9WD8stegg\n+N8nVyRjtwvYfsLkcUE0iAVyJrDoS7Mwu7jYCRa1/wELATUYV3vo/nPvoJFv\nucw30O965Cw9Q1ZsR+rhfGdKVOOob0a/PTCzA2DUaFhsIggUJibWtaYdeslM\n6YFjFDAW2GYTllNMy1MCixfb5NzHRabcmxOsrFPvGr1S2I4cw8GW5doSpHwE\nZE5D4uiwsySWpXZQ3CR7J/kZ3N+NwU34r66Tpfo4YeN7rbJiZvh6hPkO6rt9\nRaFIx3SGiLGjdFO6mEQq5shRvY6ilzP1HfVlEaSdreNQjhshdbgkSDDn4kAk\n+Ih1GW1r1vZw52OYdWNhCUHS+hvJaEn+zRV0GaPJblhrCHm1xXywctCHhplW\n72qhehHa6K/9i6NtTAn9bxTCiSqSmvAtMHl9HDQfZbRv7o16/nyLau1CxM3O\nOmgl\r\n=+f3H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"05a76ad8cd6b15550e685799fb6b9b5643d7e0e0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.67d780c79.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.67d780c79.0_1615923998668_0.4425264610734445","host":"s3://npm-registry-packages"}},"11.0.0-canary.0f358ddae.0":{"name":"@material/dom","version":"11.0.0-canary.0f358ddae.0","license":"MIT","_id":"@material/dom@11.0.0-canary.0f358ddae.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ec180bbdbee642a0a987d9cbad8af69991118732","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.0f358ddae.0.tgz","fileCount":29,"integrity":"sha512-Ed+iRelbqxwmyezBy7OUjrXzx6EVuj4AUMHuwdGSsLKWr2SRhaLSGYWJzVwt++Cp9u7woC5ZApMXOQD+3GXVEA==","signatures":[{"sig":"MEQCICcR6jq2oHIgZA3j4JRlLutHL7hwgEuMSn+bWID1zgn2AiBEQ67TTq/EdJ2T92FvRTLcXNgZQrYpXRI4VCw9iBMdAQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUSz6CRA9TVsSAnZWagAAsn8P/0UC/6htGzUp2itpgHSu\n9651Jr+3THIIhoYxgYhLgX6/ptNudSc3kp5v6hPeSlfhb0pZ60xA+9ZaVSzW\nlqmsU8qr9+gsiTUhsxCgHhfVigWuMIh9PG3mG9Tpd5+Tn/kbXlLUHbGQp2VC\nI4fYyBQN4G7Nl/EVCRkpl0wKOju/gvEld1g+knMKFd9aJ8g3phiARi6n0YuV\nZSipm3/GGncYu0/vg6hPAYrn4CCVC5QPkQYE4xoDkUU6Gnc+VEgRgVkXSSjL\nyByF/HVC/+vswlbMeGgdtNrM1H+gLDhYIqR0gLpXgVb+0Gyzfnj5Eqyw1b67\nRC8O6KOHXh2ooCLoHUKZRMVUw/xiS0cbMcvDfs353z0Lsm06nXA2jIBB+oWr\np73GZrhrLk2rd98M8sEyCKC2vHUHc1vu7DRBpqrLmiXq1vz1z/jdZmsyau5T\neDXf3xuxrFi44hpKx2jLdossK6eS+0Sr34RLH4dv6tjzda/+hIfgS8jZWean\njptpptPGHzOMyzfkIIUi9ETQ4/9G8OBGgbsWwJi1NswhucvYMNptQczttfc3\nXYgqwwqidFp9htXGDO+YGt04zW4fn8XRh6n+bwiXUI2wuNw6DYeYqpAj3myn\nudGiBfn0p3hpSAf7/xlE7kE/jrE1eGpxaslXQwYVtwrqfHmgj35wPCMdAqNR\n5GEU\r\n=CzTm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6acdc7677f01b6502d0b491a9816d6600ea9cbd7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.0f358ddae.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.0f358ddae.0_1615932665432_0.4434596065892773","host":"s3://npm-registry-packages"}},"11.0.0-canary.67eb0df80.0":{"name":"@material/dom","version":"11.0.0-canary.67eb0df80.0","license":"MIT","_id":"@material/dom@11.0.0-canary.67eb0df80.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2777b083aa013940d34781cd846da9fcb2261bce","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.67eb0df80.0.tgz","fileCount":29,"integrity":"sha512-uCP0kBWjWSylSPuyeJQpQUfGmZaucNtEaozxN6ZAlsYycONBRtVJ0rtkXbTToZt5zTujR8d7L2titW65PDF0tQ==","signatures":[{"sig":"MEUCIDAvoG0OIYVAuZRcy2yFbF3OVfVAF0JsvIhLr5tT2pE+AiEA5LKM5G+wMqPOABMuCF2u8Z8Um6W/8Ii3BuSMN2vvx2M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUTNgCRA9TVsSAnZWagAAMcEP/RvmjwACuvM6Yzxyi+d+\no7COvu6/2FVKpbHu7b2Oeo8eAaqZfO0t8SehHI2sVtfFwTwPcew/tQF+2dBK\nWJIxsrH0YW1sKGpce0pbKd6+EwtHgLaUo1OIDSJzcSKdNNkyP86OUb6Quixo\ngagY8YWq32l/oLA5wU303q9CUceRnNtvnkLAFsA0y9FHohsSEadfNQeyRU8k\nlo+hOPquFgnMbr2k4l3i8fQDvHKqCU3BNBH+Xc3PiGWkPWQyL1ba+o4oTxYL\nzy1ncYBlQ6o8X3b58ZnD2QO5JJJskwYkoOthbmUZndpxgmljQfGBEDjzI89w\n28EEQx473ijkl+iGWYiRAptNgsYQCDu8LxrOu5iocQV7a6dPbeg4Qf37PJTS\nWLyLwQCBUeyLFek2NmGdWS7/4WnClTFsIFQbew5AJs0N1hOoq1NkdLWoA1Df\nxa/urWeDDWi4gIxxWITxPODC91ud/9uLNevkj50OpQ6s8iwW32+pG2+m7iW0\nCChD7LHeACGYXVYoSbH+kzeSy3QLl8BIwR+AkF1Ya+lOmI8nqQ7yPCNqROM9\nUPQloU15wmY6fBwLBmuYZI2G+3dcwLCSrNL3VqngbdC8aBDO1E2M7DBEdzkn\n/FrV92nLfGe7OsmD9b7L+Mvyr3BCdcUA0YIGrVE5dQPIKrNLQ/p3YhHjHDb3\nkaBa\r\n=40aq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5f5e9d259d95bf3abf565622edf7345e62993020","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.67eb0df80.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.67eb0df80.0_1615934304228_0.9431503999119768","host":"s3://npm-registry-packages"}},"11.0.0-canary.941ca3b3c.0":{"name":"@material/dom","version":"11.0.0-canary.941ca3b3c.0","license":"MIT","_id":"@material/dom@11.0.0-canary.941ca3b3c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1e297c231eaaf8b3031e18ed7febc1cb71c5cada","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.941ca3b3c.0.tgz","fileCount":29,"integrity":"sha512-QLiAw7IJUwK0sm83UHMBY72oFL71h4SX7psYyrIfOXSmLBAlKZ/oveMW9R8oUtGHTx+jf8+wo2PdyroHZcSaMw==","signatures":[{"sig":"MEUCIHobL1DPfxgcERLxyvVn51gPCPCkrSfbSm9+E2Yzot13AiEA81HH71cFjH10xrfgBL9v4Gf1Ki+cgg3YGhnbPpe8YYE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUTPJCRA9TVsSAnZWagAABwAP/j9zXqpruESpSb2MYKWi\nGTj5SPbQ/tbPdbWjR3PMFKMnMOW/AnhTuxzj3DKcKN7Ud5+3QzlU8BroIKu3\nay4GtIyNDKkT6VpPnUjDo4FhBn5TScFz1oH2trxYPP6b9KIStw8wrnWzmoBv\nP5qpD0LYRL9XdGYnYIPWMC3CT2Om8tlXcz7pent470xkuUl1oTSJUWPYzGk4\nVs5iaDIfjTsliQnmOFTBrPzxyHRAL5SyCIcV6RzFY1YM838su98dY7PAfaG+\nMDm+AZkXETM1RO8SpEJAZ1Q51HTE+Yrqqzfua8esXMke9EABVKeLsyrhKQGG\niZW4Y0ZLNo1UZb+JXRQlPNqTAcoQP9eAAmhyScehXeS80rVq5V75h0+pL1eQ\n3mJ1PSPpkM6Um3+As4qTDSzKK/O7a+sKWK5ghkslzw8It3iAaII+m3q979vq\nZERI6kLpkDiUGToHB5Dw+GpopGNOu0pSPmHsoE/kOs5BEDRukl1L/pOeFzfP\nrAqYeZrGY+Tt3f07o7SB5X7NvKoT+DIrnU0X1hsTPbaE3ugVnOv4CcVh1Tuh\nXYLqqzbKvKrNtOicCPRnNngabic1zj2kcEfNsBlNoX8Ze/ob92gFLExRpoYD\nMnuaPQhMF9eSB1ZdyZB29gX+uYsvvZ8qULNVQf7yUJmLqrg/T4b0hPOuWew1\nUtBm\r\n=U+iF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"27181e4c2c90af170c9149616613beb6599ff94a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.941ca3b3c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.941ca3b3c.0_1615934409227_0.6748777797472241","host":"s3://npm-registry-packages"}},"11.0.0-canary.3344d12ad.0":{"name":"@material/dom","version":"11.0.0-canary.3344d12ad.0","license":"MIT","_id":"@material/dom@11.0.0-canary.3344d12ad.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9672fafef587ee9e15ca2b5af4bac2eff2c34cba","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.3344d12ad.0.tgz","fileCount":29,"integrity":"sha512-GwQa0L+YEk2dYBkTrS+QCdDkHoSt3+o1OOxUsoIBrQ6Tv6Kh/pRxkP3o8r2ct6YhM2E3EIqSOJV7NHk5mA9WYA==","signatures":[{"sig":"MEUCIQDVgNc4iH2UKB1tFthr3bj58WTnvLBH/LTqmbbmilNtiQIgTWFVOH1nwvjsIXNRi7sJ6y0A9xNli4WlolY34zZ1trY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUdNDCRA9TVsSAnZWagAABE8P/1aI3bvR/TuDfc8EpFS3\ndu8i1jySy8av8jPD+3u49qljzrz6VOJpAFTyF2GcCSPpwUQZmO9e/agyA+Vk\nvDaVX+qjoi6Z+6sBeDTs5KxXzivX3QcHop8rSF57QDmoC+rOqTePFM527S7U\nwrW3LlQv2WXQe8mvojmr37XcTkvtDnLFPoI2nro1Xr8+areFD2z2uLtJKUDf\nsLzUhMQA9t24wvZA7lE6Ck9AHGHbq2X/jrcQU0iB/OrNt1x64/iWmvn+WW65\nYGkKSEp4DBLfE8gQtyqgZwzEsGS1uZwTQT8Dk7LbunHRGtmwZlN1OeoJmKa8\nWGZhpjQC+NoU5qQ+PRTjwfqsO2dwxwW5kpOICK7Tlz1rY5r8ulhBkXLUXCMr\n0L3oKK6F1ljRduR+VmvzUgyQ1SCvrwajR9VR+4gPVxTaP6evKWm8lbL1nusx\nMV4XeQvFBbT1s0qnj91o2M4n0weFFts+PxGbahNWQj1BXUe/W6uWbDbUNPOW\nx51jx/2bGv7GlJyk8hxn5EuGd1yV5ru+wqos7d3MPgXfTNUj+D0EXv9yf3Dv\nJtPZa/aQZrflOe+mOeCNLIn2DuiP+dmFixcF73TeIYHwwNZE4qnUI+ziPuGd\nfjwFCetG8lWy9PTDVQyCHcMPsiWJ0hqZIJfRnjI37bZarN9+QuteUJDp50q8\nipF1\r\n=rSIJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fc17c547b4aa66b6412c0b0b56b75978332702cc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.3344d12ad.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.3344d12ad.0_1615975235264_0.8044360838227813","host":"s3://npm-registry-packages"}},"11.0.0-canary.6072ed604.0":{"name":"@material/dom","version":"11.0.0-canary.6072ed604.0","license":"MIT","_id":"@material/dom@11.0.0-canary.6072ed604.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cbf3046df52d37a9f25910969184e42c72cccdbd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.6072ed604.0.tgz","fileCount":29,"integrity":"sha512-XhXHlh+Xm71iYiFJfUzRAcil4zP6EA1m6lt1+itnkDBF92s5uizn24ef558vYBgFVbSsAAv3bpcHwAdSUmtL5w==","signatures":[{"sig":"MEUCICJNZPraLfFDXy9GMPSopkQUIw7+K4MKeKlqq4ClzYirAiEA1n1spX6UeuCO+RfKCODoecsxxliphdqfiHMp9DkaihY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUomSCRA9TVsSAnZWagAA4A8QAIrMLLhTqvOpbn4ozdgs\nzLymBJp52S7Ulxq5/zZhry2EfHRDG/tXKEW8frzOgDPR4LEU9OQJLPhHlUQQ\nrItWlXa28k6Me/UHDkYlqWrar6i4xP/aO0VtYMnqfrL4ymuu1OTt5DIOvt86\nDrHvLKqgEzbrw9cX1AzL+ogFyrWtFciq+aL0NXxZj5QRciEST1ydU6RNeQJC\nnJZ21jXr3rOKa/sDQruxzjsFUTS/WmCUpmEMTZfXItJtC7tnjaACcYnTYcEL\niKjrylodTJKu48l5nt8T3WPbawmm3KOoHmsICjpIyuFnW0uCvi6gzmoyC3qu\n6no65MJr16hqUiq1d/jaARcXTGpum+aXZk4S7JEQwbBML1Do/rrs0RN5pyAs\nujYOPXQ0QrBB1wo0OkZ9d+mXmmu5FecMW2+XID5tU7RdDOxLO/dRdkg7aVx4\nUxojtGXJABdSj4CKgp0E0jHzZQky43NJMQTfsaNapAWLYydl0ST4pB3Lp9UI\nuJGX/oCpDpmRvFhlziHKaIIEK3b3BVr6YdeO/mcraZ1zpo9p4o6SD+HU+u2w\nL+yiI0HukGOXM6qI8TP0IxqhcfqmA9jV1/SdmyxIzP6fndP6Kw+SQ16+i4Nr\njlxqdvNlw6wrFIuWKoUCguqJImmr92g8hJYPLZOtu0tfzGnUre3F0N5SRMT3\nlwtv\r\n=z2j/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"219b085de7ee97c7b75e5f25dc757e7b5240916b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.6072ed604.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.6072ed604.0_1616021905615_0.6954704097124136","host":"s3://npm-registry-packages"}},"11.0.0-canary.d3a6862af.0":{"name":"@material/dom","version":"11.0.0-canary.d3a6862af.0","license":"MIT","_id":"@material/dom@11.0.0-canary.d3a6862af.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4e04e96813254769fb4f36e93d7a0bd415d91aae","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.d3a6862af.0.tgz","fileCount":29,"integrity":"sha512-n1A/pOemANWpbIVT0dCkShPjmfVZk7rYcMHMo8yrIieOL0pRANaofKydheXo4v7YU2JHqRYTI9b2gmmRUbHReg==","signatures":[{"sig":"MEQCIFLhUJrCTG/64LsOyTSMvZjdAIikVY/NV9X5TreCux5VAiAUl8VMaTFZp++jxAUdAv0sBhSH/n6aBLlJvrc7CMZmgA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU31gCRA9TVsSAnZWagAAXbIP/jUqc9Yv0fCPYtfT3L6G\n7WyZ4DD5ajtlRJ+6vV9FFeZNz1r3fP2HaKX6vY791ITUeP/uDChx9prhdDVb\noBK15x/uUEEC1nBpC4IMNw/8GNOCH71fVMF0130FT0lHWNz5HQO9dnVZkadl\nkpPYd/ZKQrPG9Mi2OkV2+D9672EZCGbWDFqQ8jTJY/nLB/JUcSERM4+NnyS/\n8fWVlWQyajGOHMiDkIidk9HHoBonH+dNr9+MWKwXeEwcbkjhgK2hJElxIihw\nPsAviR/9YWnb5HctgFBdoQ6KKOT6ozsYZlZ29NGpIv0UEh3aahxWkl9xZryA\n6QjbO8bLv5/orxtbrSqUGZJF3hzrC6kwYJNlbGfu4Xy//BniN54lZ02vGMsO\nF+uwl3gKkzwcO77eMDUXv0eHVl+tfpmc5Lr1xlJTBQLfzsnklLU3ghi3chaW\nQxp+++rNaBtKtvhuDDK3JUIroskrO/z/CS8WPi4K5YtRYcAk0F+dXGSfXnNX\nonAgExOPgdAhObOh7HQzvwggdpS1vM8Z/lYohOo/TVh0wCJ5Xo1qc9nuUegS\napNpKafbyyiYbYKlnVegVZi3qvdxBUA4lE2AuD0y/stM02oOFvUeW8nKatNF\nRQAa6RPF++BDFZ7+jxefFG5xhyTKOiFI9RV2kNBWjXNYTQqtfmKrrRv8Rnlh\naZ6t\r\n=OOWP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ab10f53a050cbeb103a3ee070a9134ff428deae0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.d3a6862af.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.d3a6862af.0_1616084319781_0.08907668148882042","host":"s3://npm-registry-packages"}},"11.0.0-canary.40dd242d5.0":{"name":"@material/dom","version":"11.0.0-canary.40dd242d5.0","license":"MIT","_id":"@material/dom@11.0.0-canary.40dd242d5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"309960a1606dce7fa7ba4d658e36f149f9d0d77d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.40dd242d5.0.tgz","fileCount":29,"integrity":"sha512-w57wo4NP/YavYiaNyb4i2XdKWr+DFrRH90zX7wQ7rRErdEIJija0ADwwkDNMFwSJSwBruk3/d0jmsZUKIzvBUw==","signatures":[{"sig":"MEUCIGfuoYjN/Xyd2o07mGMsztOULuBeRcRZ/R0/A8gmhrMSAiEA4kSd/9auKlAsOOgkdcvv4xab9GjPKvfaUU5+YfAWOso=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU8MVCRA9TVsSAnZWagAA9PkP/Ro9UakSeIjVH3RQBVW1\nVdlkqKOmV2nZtkQCPUChF04Cl+rMTl6g2+Pm9ypFImSWBE3dz0/0TL5AjdJK\nfORc0+PojokO0GXQT4Mnc2KvqVGY35gCqpE4vrsjNuIdTlKsPubDwh8hPwhd\nrUKk6c8IRmD23pH++jNO1yRnJK5uJIFF9RwUIuR/zmetwLBF4fJW4GGfU2Z2\nU03MeFFXagHYHbOwHMnwqRKzUIybq3er/AQhTqW7pC7BiSG100XBkPQk/YAJ\naMuqPDUAhynyYE28tZ93J0NdXsf2G7HmAgw/dht4C9WAX2TR8/aVameammSk\n7DbmyjYbVkBJhpOFL4C48ibVFZorMQV1qOC/er+Nyu3BlhoCMb0KinE/REH4\nHNUREnHPf/1Adk0vZlavsnmmaZUYvAQsKHI9gYqchGa9SHOurAmQFYqkQP8L\naqVEMG6Moyyn1td9aTW/YOdXEB4N4QI+Rk9MgirZ9ZFuUA+6RuaiV1enEMoJ\n4qhTi8PmZcVZLwH+6oxpeIR2fvYHf++srRHJwT8NRUMVK+UME8Lp/WlJZti8\npIFkpidxe4ocSah6kkCv64AM0YgMaLU9rRR8AcXUPTKtMNXZtVqlNvjq8RWZ\nrM+NPUUrcqH5B4lAjkEc6TgYzjzOQb19EafNhATkQq9MvrAU2F6HFFRpk9aD\nvUXq\r\n=jCHD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"07de383ae306cbdee42be69fa0a06884d97ec259","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.40dd242d5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.40dd242d5.0_1616102165108_0.4401043018208559","host":"s3://npm-registry-packages"}},"11.0.0-canary.ec8f8465f.0":{"name":"@material/dom","version":"11.0.0-canary.ec8f8465f.0","license":"MIT","_id":"@material/dom@11.0.0-canary.ec8f8465f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"40ced49e3e344d56596b7f712eb42c59f14cb9d4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.ec8f8465f.0.tgz","fileCount":29,"integrity":"sha512-HvlftfmjANZTmI0o7mC0tV+OHz/qzMWyqMSCbF5PWrrqyNwycObMifqrQaIX36yk+hBoRcUYcKcVCSoXSC6Lpg==","signatures":[{"sig":"MEYCIQDr+6JVKIwjm6taEszbSgMDIQHQHN7KuhZJMlexx1QR/QIhAIPlX0e8S6SydwFfUuoomv/vOJYIBUmaZ3L/8t2r8cew","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU8lfCRA9TVsSAnZWagAABfYP/jIOY10ZYSyZW6/YuL0U\nTLPO/rSJ6yb9jbrHzo2eS6/u8PL4bBg3Dfqv9cF++01Ez5UcUHE1BMElMbrV\nM0vaUbGKkNeE4BVfmnfayQX0pZsa9YH4O7csvRn5vkLK1wgN2yUfxUQRtYnH\nE7Fc4wmHVuDJ/XwUqgX0ApDX+xqRxOBPk/S3WtKYu+JfccoWebn6DZ3VWYFk\neH9R1FmYGkJHzcDV3GFIyR5eIygJcmnwBK4c4SgEi5qcU+NKBgu4/cZBOdAO\nXwoad9mGsfEspwh3KN1bWYFMmMhyESvD2ShM3xOfdIMP2IwyT/erkkJg/R2C\n7e/8WJLHDHyvbHk02xUkYoLXzihASPC7nDnfagaRdycG85+ojJjhLQFUG+Rh\nV0XRXWHVIyAEVszO74W7PSJ7zv+rVaVFKsRTpwYSmcnfUvTwo5MPQ4IXQooa\nC05+ArzRSytITgKtIfoqxxan3MxwaCHPg91WNVXvms0ZZ5Mf9BrhIADFnUQi\ny+avruV1bykdYz1D2seiQLWAmJOLI8K0Iz6qBcLFll3vhh0GaeWwfL+WW1nh\ny3iofvWk5mj29RtHcjuGavB5Ik/O/rphBBpSeC/jfXovoGyTRQ9MOazXIJ90\n354Asg9bHzJuqI6+KZqXcPo2xuR9jLqhmC8nI5z+hTeBzCyLl7i1NDhhcDg3\nlIaA\r\n=vPj3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"896f8e45effbe3c44209b4542bcd3d10a7f8421b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.ec8f8465f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.ec8f8465f.0_1616103775530_0.6441874610152121","host":"s3://npm-registry-packages"}},"11.0.0-canary.da38969ec.0":{"name":"@material/dom","version":"11.0.0-canary.da38969ec.0","license":"MIT","_id":"@material/dom@11.0.0-canary.da38969ec.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"605d2a96e54cf5044016e8ffa3785922ddb59ebb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.da38969ec.0.tgz","fileCount":29,"integrity":"sha512-rER8dG0y9FG0sgZyTsGZi/+P4mOydxlrb/10pmYQ2nAqoptW2FSqviSx6NhwGvLv3sxzFeo1T7KX/S9xXXKE/A==","signatures":[{"sig":"MEYCIQCbyY2I9GicmwiEVcB39LuQ5gyJPAOAZ05H9VFgyiOT+AIhAMlalrirrLgqUeVajNK8e8HvLi7KR3lyhTF0WNqb95AM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU9FICRA9TVsSAnZWagAA3eMP/2k8rOozvuahEMs5hT2U\nncG4SmhpMtT1A+xUpnUvfer4XviKYNd46FW+zCpc7ndiLGgILlHLQI5AWsQz\nUrYb/IWaIUYSDFOCKPmDZRwUJLXwSTXbRVXzJCZh50nkslWJFHDi0TOsxmYD\nsa/KtTLIUnXUU10NDJf1/Og0YDtZVMKukTMwZBLG4HWj6vV2jRCP0yaT32IZ\nD93YqCTsrVrMdAnq3tLqoAvoGGGMk5R8G+aItkL0IOyKq2pp6gXg+Vf7sf9z\nbRYPuAVHxkVwQYxf0QFui8/cRbw8SWOhfWwfDv3OoB34q7n5qP4u3yRpodUs\n5dWXnha2QntM+I59RV76vaR3BBGYCgPT3LUv1LSN1ZKeDZk2iRrdePlPxdoF\noiOpbPofph8ag3Qf2P8sserGuq+dHJMBIddUJWhmnTcn/ntxkS1U5iQcc9UA\nvyTVu5fXx+BoKJOBYBmhNAKnFkz9gt5o5usFwxabSa+txbamyc2MslM+m78S\nN++EOXkt9IJAUgS4l7OUuWZRxjETHUUvzYYDqMBEe2+K6fKsNdkNviX/orm0\nkFYYPzkFuF8o53xwC6ngV7oKVQmzgxuMZmGxvZ4ljYMhIYkCl7fqae9Q6cKg\nOymkVCSnKREtvamMibPAuFV5pEnLw9fN+OoOnU9tcrmDvj2Kb+0hTIRlvbmO\nQdtD\r\n=XR2+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b43d112facdf74c62e02576a918d522587133fa9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.da38969ec.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.da38969ec.0_1616105800303_0.45837122065942326","host":"s3://npm-registry-packages"}},"11.0.0-canary.f5246264d.0":{"name":"@material/dom","version":"11.0.0-canary.f5246264d.0","license":"MIT","_id":"@material/dom@11.0.0-canary.f5246264d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"05eeccb10165a9f43eabb80b7cf60d9c75156392","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.f5246264d.0.tgz","fileCount":29,"integrity":"sha512-hZbBqujSBTltJ9eqOzDAa1AePFhbKjDSJvh1J2pyyrESgABUN2BI1+7lJnR7LJFCWDUgQv24DxnqPZFSc/laSg==","signatures":[{"sig":"MEYCIQDX/3/SGzKgcgI6B6gM10FLVHui6LiMbkzdqRgtNxiF7AIhAIKEv3qQmAmRiR7dIj23Um7Pieiq7UAbwFZq/7q+tHr+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU/IUCRA9TVsSAnZWagAAL94P/3ES4Z0klD7lFLmY01Bg\nrizYpP63zliXun6nk78qTaHC3gQRirwvHeBjILuUe2nTO0R2+zRCxP5lqaN2\na5RDKscQyzNUQHYL5DvLWMYMT9MfmnrqTI/anauiLGbtJ9o76opiJNmmoHo2\nFmMv/XsfY1GMP1gU6hIL/ECGn6pom7qrLsufb+ifPIIgT2nVfQGdbrz0D0W2\nrp1lveyrcrV7F6tkkg2aPV0KlCKSd8cxDipL0WZogs/imT2xIB8nwYiNRztO\nLrQAOYXrk1sORHoaC3jch6nNYU199jhYtDT6Pv19ZgHrkwJmApTCOVUUn+un\nB/7lSkXAbE8WD39b6R0v1I7oH5cVn36fze94jEz2XhtquNOHDjPlKBaG8ACq\n8bR8LnllCbz0XsakF0x5HtRmf83r1vw+1WGn+MwVABKpkrklXMt3JQHzI3dJ\n+S0nDtn9+EuQHYREKMTZjwqAVG5MlQNBwOFyIaYsJ8SX5GFtfZ2Glw5rd3oj\ntY8KEk4/PhE2DBQ9ZLgRX1nXYC9rjaZ6oWay3RA4uhMCYOn4AC7/LwPuSqdY\nWRE+2H/5daxqUwNvDDzjITc+ASsH6UxXkjZaZY4/6Ql1897v0u+H0s+T1VDI\nwlM/qWAH9cp6vN6zb7qQdSpL7Y02OKj8aYXUQbDE4tdrlYlIddla0hmEne98\n8Xjb\r\n=pSZL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e5bc1717405750210bb9d7e3572f0cd36c9bc0cb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.f5246264d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.f5246264d.0_1616114196425_0.4540130148130044","host":"s3://npm-registry-packages"}},"11.0.0-canary.03d34bbad.0":{"name":"@material/dom","version":"11.0.0-canary.03d34bbad.0","license":"MIT","_id":"@material/dom@11.0.0-canary.03d34bbad.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f8f7966bdf9e76891109c0dd7a9ee08b8b5198e4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.03d34bbad.0.tgz","fileCount":29,"integrity":"sha512-FIK3dY1O036si/jzdw/VdY1roLd3GTRYSMs3P8Gx+/DZ48LUqnr2JQZnEtL8fXzxODN4D89c2Xt5aFS5vLUYkQ==","signatures":[{"sig":"MEYCIQDmTfqlDY1y8hTdyWQPeKYPT1QXJk+M5kwfnD+shTIE0gIhAO3GyKvIZqsK/zexYRiqNcjySkInIhZm9aBA9/iuLJzd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU/UsCRA9TVsSAnZWagAA6V4P/jm+n3CMmxJpA3/VNt/e\nv6FNl0DBBZJW8El/kvYLB3aBtDfOGnpYhYFvxWQ6ZyL1Oq3mT02jHbw0MzfW\nEqQ3L7Z94ObBOadf/CkwtAbXsRzrZrl/lpKwen/hArkuP5Kqs/QWnoDDyWdI\nD6N1rSje6+cNcbZ81BwAS54FkEIYXN8UKaJd3Y6iwSCfOq39OF4Na7ihN/y9\ng30NFOXF2Q+nxYKtHKu9OqgwcvnvtCW99rDWUmoRF2ZQrJs8+b6fJPBxF8OG\nppHBpTMQWyGSUs/zqFZtXJcWgD5e/4m0M6CryhoXQLnB2Q9jCisT/2Ow0Gn7\nXhHk2be85UuNl3RGbFUat27UVe1hKbB74HDipIsNrfMlfctYigOy8b3gQQXY\nDZzwmgNDqQUvBLIKzEOYyq4M0BWUkHn/yG0O86kY3UyceW/sRVmqh/5U7RpD\n7OCO32Po8lUgMau6QJz2DR9hNapigFgHGAJpKVI9XrYiCRSvtEzbWK18zuVj\nWBAdFecsVHDS+UUg/vqtOYCMfSMWTJrM7WsHFEukhCqJHjYPN8/MmojY4nxc\n3Lcu1eSZpY/xRb69ZqBELGchWWO8yTyi8OtzBN8ivN8hblkkkMT9l8z38prd\ntc/Xuw05EZqRM4QhcpqDxVGntjhDjBfIAP53S4i/xoO9ajsejCQKgj3yEQXb\nPQy0\r\n=WkJV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"650c89999524e7131f5808d28c8ea2fa15db0c86","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.03d34bbad.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.03d34bbad.0_1616114987976_0.736720805004969","host":"s3://npm-registry-packages"}},"11.0.0-canary.cbc57c600.0":{"name":"@material/dom","version":"11.0.0-canary.cbc57c600.0","license":"MIT","_id":"@material/dom@11.0.0-canary.cbc57c600.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e72752ec078538a6156ecf3a037a55c23db11ea1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.cbc57c600.0.tgz","fileCount":29,"integrity":"sha512-6UTDiUI2DlKYNW7q+Iugdo0TXwPLDqAN8sBD3f6iK4zqyUs0uE0nQ6dOnMcslSovhpd/R3zCA2/z5cbEvRvFqg==","signatures":[{"sig":"MEYCIQDrfKcngbd8if4UySur+FZPROOGotCK6mTVb0xPEBRdKAIhAJlTqlzilq0mnT5s2b11V1p4+aBCc03Z4WMY3rvYOw3Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU/c7CRA9TVsSAnZWagAAU1kP/0pUU7BEaZMWvRn0sfTi\nqzQaHSVn4xw1jK6mlTDJM77yNM7buNKkLhZBDVQv+izUCxWrJp2Ru643jEll\nd5dI35cCQbQrVNpvNZAfB5iH+Q3yFzcjHPeBq8v7eXnMjP8bXJWc4RRXc+Au\nQZO7wycX0ncteKxJtL0+XcqNfIRKelNSEQtIn5iZFQNeEgPd/0VwPQmdWx5Y\ny6d2T5H2fddyiM6TIByaEC9c2hF+3oTYXpj44G9ShUirM/5VaJCVUZ3NHT7j\nNNUoWT+GoTuavmynAUf4aktDOoD2OWAyMHK3kZsTqwrNKSNQzm0m1OjvjcdN\ncQh7FQ4sgusbnXNXTwuW8AnltzBmHccyWlk+zapkOlL9vvM5xRN7+9ChqEQ8\nFsUREeN0MkOdHU/xJI1jfAYq0ts4l0FujXp2NBJjV1ROLAygvkGnkE5JkGJV\n0XtGlyrqK3MC8gioFdhK3o0qyRmrmm8ECZ1FD70/1MNMc11lUIq54oXPYKF7\nWIBdPYiwTAAGwndQd0ZW1jFMxWBxbgestdTpNk2js0/4b+HFe6GmPm8I1/EE\nWjQfJGetxHzIZRaFiIpXXBzP+xnL+If/hKKNZxndBs8sT7qubTzeprk4VyhS\njvXF27tGODaorrYKJQB3p3dH4ttZQFvqKoRXW3qoPrU2WKOhh0tOnEvXYz+r\nYOSi\r\n=m6nx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c16ee9654e2ac3913ee3140dbc31e34bbc443c00","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.cbc57c600.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.cbc57c600.0_1616115515235_0.8094654781629318","host":"s3://npm-registry-packages"}},"11.0.0-canary.d6c5bcf37.0":{"name":"@material/dom","version":"11.0.0-canary.d6c5bcf37.0","license":"MIT","_id":"@material/dom@11.0.0-canary.d6c5bcf37.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a36e474237c5ff1dc705484b69633cd6bef139cb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.d6c5bcf37.0.tgz","fileCount":29,"integrity":"sha512-0AXD8PAYsWZAQFeOLYxP4suLdfFTKJwpMELaBUQttOnd/vILVhIdg3sTxCS8ZHMky8qUiYPseJwfYAi+IHIBmA==","signatures":[{"sig":"MEYCIQC8ociv8mixKozlsynWyt6rDrHdUcObleiWgpb99BqTcgIhALUHYqpHw8Ol5tPQvJ8dKAkUVJLr4WToteQ7NAHFshJG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU/oYCRA9TVsSAnZWagAA6lcQAIMLAqYvBDa53yukfRay\nX+LknV5vJ+aXEUTvXLfmltnJzmgG3BfXw8T72oDncBjH7wMoQFte2JRYj3Pm\nJMXG7c0JF036HPUVf235arHjGzwos/Z5BQtNz9BlNSkd2NWX8UlUN2EC8pP2\nEXC75ITdxu8yWqTBvbYcWdQzdD1I0vhy8mURcjXpbmOxgcduy34opslLDqh2\nPt5u4skv7Zbj2Iw/i9Sd8dKnAeAsOCmaYCDvw71Wd72uFoWwhOkyajlNR0LR\nYwRPXsxZTgTcM5ZA/0BJ8+l34zK8oaReJr9yJoBNWukWM7cYZcRSMsmrcY67\nPj/zbofGcysA2uhjlCyskBRR7v93DpDGCKSwWW5kzG4QCopBlgYKOjMXhePV\nojWVE1P0+DokBBbyXXkkln+O7W/3EWFNpw4LXic+8lH84+yCtWkBnSvJoeAt\nWwI+LTJaNblg8xtmEMo87PMhzSKKYiAV60r5mxU+SRPUnUweBbRdvb5eT/Ya\n1NJdRcvUXNStZz9lrORVgf9vBLHBTAzSTB0RxlHYM2Z+ejl7sHg12L6jp5nv\nii8IIzrPiKe18ZOtzY2M+sHB1R4QC8euObO/bCdF8orzqZRecjfdwm3P/NVp\nW3xNIwMLFDfpt5Cd3kwImxcfObM8jN8frA/LhTU6YGhJ68exT5ENbHNHfVNO\nBpQW\r\n=058U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7ed31c18c565964157fdadec7c7876ba58c6dfff","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.d6c5bcf37.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.d6c5bcf37.0_1616116247476_0.6938277347525463","host":"s3://npm-registry-packages"}},"11.0.0-canary.fefc668d7.0":{"name":"@material/dom","version":"11.0.0-canary.fefc668d7.0","license":"MIT","_id":"@material/dom@11.0.0-canary.fefc668d7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ad66d61af85b37f3fae8198d54e48bdfe6723218","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.fefc668d7.0.tgz","fileCount":29,"integrity":"sha512-hSaq02hHE73gWfe1OYdsxGzEtN1N11UiEZ64wFDKIBl4oBaUqJVSzs8tsMyy4AONt2Bk/jogaRjlAsOFetkOYw==","signatures":[{"sig":"MEYCIQCp7faUDoParU77oLN/CK2S73wr+3hu+iDa07ZtDTHVywIhAMIlvNDjvU3Qt7MpkF//dpVDMbsnrjE5TrfGWF6xYvlI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU/80CRA9TVsSAnZWagAAPT8QAJGjBhzoEa7QWDGLWdaB\nIVKvMlF3S1cFxuJSOu0V1z3qv7AQ3o/+jWbAMRY1EduLqtEIsTtX+c4Le/XR\ngthvVpn2sWQD5sA269DzUrkRPrk5/Q9smdI5QTmmNApCeXnQPr65ren0qXTS\neImeyE8X5GnKZWoxIYhJH1S5rQkDPlSwR7ccegt1Wa0ONoT7jjSe9KXlmuQe\nA6Pw6lcrF0n8nP2gfOqlqGyhAGhfFAwUAXJG57qoX+E6C0Kkby9ad64qdv3a\nKVK0tLEX/Nr+9SeunHWfPN/JgE3sNabn/rdtXlakitbzRKXLaYNkSUWbg6bL\n1cwfBA9xdOBU5OQwhauCQnB3oI4FYFh0/amua+LJCQK80GXoxgbw/rOr6RVt\nUoLP+x0neZ/vtMGECuNMUwE3rVnpIuMQNujwxRraGKiw2Da0oWrcdXu4FT3d\nG6vA0UvAYUte0RRTLseoXcnwgvvCHS6h/u4MBONMyY9SsW3VjxzOZWleVvO7\nloD2T/fJUVDbIIiPgBAtiNdqmJoHmWQceq7fiFGS+LCAlb+b/5VaJlFAwEaN\nfTRDAslCzExVvM6xEQnk/6ffAQZ66zuyjFbPi78BoYIxwrxgFQCvkzja1c5R\n2nOuB2/Wm6HcJZRcwiZqEAPkXUdU/8Eh6RN5AhzR3dOGqC0mYVr/2oTv/+xY\nthiG\r\n=Y1iG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7c976c590b16e8f3a000dcf5cf2b4daf6269aa21","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.fefc668d7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.fefc668d7.0_1616117556170_0.501874435400024","host":"s3://npm-registry-packages"}},"11.0.0-canary.faa7d3226.0":{"name":"@material/dom","version":"11.0.0-canary.faa7d3226.0","license":"MIT","_id":"@material/dom@11.0.0-canary.faa7d3226.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2f701795cded48c8d074849834756ee0dacf7e0f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.faa7d3226.0.tgz","fileCount":29,"integrity":"sha512-gq41v0NBLCdU7sS2yPHMxw0VNX4IqU8vgywI3WrHCxjEzxhBcqmZBwLGwUtH+wauIbddilftPLTxiOmCtC0adw==","signatures":[{"sig":"MEUCIQD6tSVZ9aUdgXq3tCNTQNfRzvz/pmtjd21qmy+Is1jIOgIgMUW5U664prqfBlo0CDRz0j99+aKMAuFIVG0ALVqhfjw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVOKXCRA9TVsSAnZWagAAO/IQAITV9aKURvdoX0LIv/bF\nhDKujtYnqYW0S7S8j9WDA9hA2SUbTSOYUDBZd3kMNQQxMmtoUaLkvRwYTShn\nJTwNEoa8R7f5I7qQapRL0t2JTrmFIZpTqtyxNLS1XFh1CpiX4h3QG7JsKLwn\nkFBBX3TYgVgmMVVlVvHZkoFDLYBUOvt3UvXXKzdVCqR1xnO81xeb4FXRPmXo\nhEQOGOGCDc79FY5mxaNagV52OWeLIOuXHsH4keEkV+KKJ0PA0bCqSJSAUHu8\n/92JrlcPJ+ppJs5JmzxGuHODp5dWFxkcbq51o/nx0+nBs1B+wtTHXOIjrFBC\nDSwVHtNbNwVU/v/cApeJ5EM5OKC1b6f05kECw2nrltQ4XoYzt2pCwcMOUO+L\nz//LuiH4e9yi0bmWZ98Rx4dty4v3gthbF97w3iJHA4jb6RPWUKVW1UR4fxAO\nUNiwFA2l9mjq01XZSXBzg9lhJDf94gZf0h61vx7hLfEWU9rJRGtZofDkyjKw\n4XnVjawZm8DjM6sLktyOKbsiENOnDOY8g1KjcsTx6jlmXthVF1AmXMHsYxCP\nmDicCFiyCiVGUNa7NfsILgOSJhz39z6U1/bXjvNoUaJa/xEWE/N3E0JufsAi\nJR0Z7Ysg8MYqDvup+nBYlKQCqTYOGiaV6ec9QMKevMfguOSJ7c5r1PBVQo4l\nZPr3\r\n=/bJL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c6038c8b2af85b70f2434939a69416e1593d5a36","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.faa7d3226.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.faa7d3226.0_1616175766432_0.5768981414114132","host":"s3://npm-registry-packages"}},"11.0.0-canary.c60449bc8.0":{"name":"@material/dom","version":"11.0.0-canary.c60449bc8.0","license":"MIT","_id":"@material/dom@11.0.0-canary.c60449bc8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fd2addf595c0d46d2c5f42be556ca41e5ff8d126","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.c60449bc8.0.tgz","fileCount":29,"integrity":"sha512-gVNFcf5hxxidFT4smuQrApR6Qk2FIDPYqrkojdB0z3hbQRp+0zMtY+DXXGpcaSXr6fnZYV//Hd0X+avs86tTQQ==","signatures":[{"sig":"MEUCIQDQge//uYVbtS9sw61uOMTtWFHwsUltGFAe6mXmrgeN3wIgRnga8xLu1x+5BJUgUZUGFJ2pvcKbY3Pj80Gcd6+dr3s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVOeLCRA9TVsSAnZWagAAChwP/3C2lO9wnkbPkMKgOZ2z\nVF+/mD1Q0AUL7vWUVRP2MgGHcQiC7H+tTD80xw4AUAd1Wbj2cyBJcvrPqqbW\nV+0M9D7OTOAZec/aIaKXF/qTIh+M6zl+z3podiKh2VoUiPnCTl94TuozEU51\nInpK9s75b5ePoEQgTEYSM5cHKc7UibAq6cmwG7elimGXV463c7MP+PmGfI7P\n593YPGpOC81+M8bqp8b3yTibZlbWOg2Pqc3ddJJhzSYFV+rfqkAyoVIm+WPC\nsRWnbdegGGnqjWvoofNWd0+9cye/UX2yq9Q4+JqVqwhOrNDkJI9t7DGN9jzL\n6KjtwvSMhaiOpQnGTVQF5JtHdw9bCgzczukuQbqhszhkTJd2BeEBNHjopi0C\ncc04JrUCoQ91AbvaCtQ3MajdFpJ9IYPdv3+CpRya6O5+bHEbcM7E2GBjyIXM\nKoS1LtGEqpGmmuKmACSPtiO6FWZZUr/JyMmp+yzR9hFVIESHBbvSIvOPB306\nQg3Hffjf1TOWsUakunUeCYvrWocM+PwjHdS1LqDY3OuryNckmM6IXSboExWp\nmytmGMtV/S8MoUkEtbp4Yz1G13fG75X1EJ4Beu7eXUD0ktln4Oe7dM1JMVkh\nKP0kDfHt661dI9GmkodGb3i/qxyQ9GvmBeOS0cqfuafHZItNmyUDvu6w5Xa8\n3bA3\r\n=NitQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"874083f8b4dbf457158a7eaf9924ce1143ef6fa0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.c60449bc8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.c60449bc8.0_1616177035040_0.9000906996788169","host":"s3://npm-registry-packages"}},"11.0.0-canary.5f0fc444a.0":{"name":"@material/dom","version":"11.0.0-canary.5f0fc444a.0","license":"MIT","_id":"@material/dom@11.0.0-canary.5f0fc444a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4b87c8177a852b7a82b734e9fb1f8bc7b106e47b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.5f0fc444a.0.tgz","fileCount":29,"integrity":"sha512-7vhXGLa5I9F4xG+MeS6DvWjQxQ2+mtfFX/V65ExmzGi+qHfRsWx/77PQ6n8nQ8pa9Id4sNEno1J7DBv7vS+KIQ==","signatures":[{"sig":"MEUCIQDTZBFPt43qGKyV/f9XfGX2Ey2f1QBFd61D48OG7PQUtwIgLYAsjAj8aULiGtP1WeKbaIFR3XaMwnyo3PajAY7K8cE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVO8vCRA9TVsSAnZWagAADF8QAI9ADSlbTJOK40JtCUQ3\n4F3HUziXGsMGBOt01RRS5QzgZ+xxu2zfLLK9Jc1CkE5x3UqTH9HKatOXLbA3\nRw7kvwtiAjKFHZUTvuuB/+EqOVk1viuiVjrksM9AHFHll+ojbqM7h1CLME7z\n0sEuc/BYC0AmJc84OoFivk8QR0JJ01++eaT4rvXzPjPn33XUrQ6GUZXCbxRA\nafHI3RrP/xnuTzcNeHKTSyVkM7USA5qaAO+FugxEUndv+V0NyCq6hHgnk9Xd\nKWtFe5D8c1KpafL8hJKqoPVuELmaEmloFeE6VOWy8tzFoYijZOv3bxgg61lQ\nCSF1TntqVkdWaGpPP5UCGrT4ZUjhD65oR8Zd5QJbUe8Gghk3c498L+7vpqR8\n9+CtC/ZAG9GP25B7Rd8aGL/nKhrnN3gflhhVYI8ckesRdOjJ+CW/G+VI5elN\noyt+0CS7/Y2FOJgHqyz+uYp3whnkECiS0ZEKZ40XQLyPJkdhUNolt+Rc7yfB\nWHn+V/Vc2oaioYQe3X4zKhIgeM8+0RZ5jSC6kw8ITlNjpzyd+nsxi2bIKdME\n631cK1xTBCRDF4lL/ufOKcUtSivdz30qCrka8MuQbWiK5qnfY8K5Cin+B9kX\nAkZ51Zqjkb9rqEPIanjFafX8RgKqSoocwe15Fkss8n/lfwHPxfsb9aUprZmy\nZDmu\r\n=MsA3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"122f31622300f5877c850a516d74f7c692d0718e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.5f0fc444a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.5f0fc444a.0_1616178991496_0.15889101291743501","host":"s3://npm-registry-packages"}},"11.0.0-canary.4567a750d.0":{"name":"@material/dom","version":"11.0.0-canary.4567a750d.0","license":"MIT","_id":"@material/dom@11.0.0-canary.4567a750d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6e2778a92289c7065319c2e49bcd7f50a9b5a804","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.4567a750d.0.tgz","fileCount":29,"integrity":"sha512-FMekoCv9/vStBpe8+H7hiwmEwp0DOHVD4PerW02S4iaQ69cgZmg23PpmJlDIvFDihtPVk/43oRvTUVIAIhNPAw==","signatures":[{"sig":"MEUCIQC6Ob44pie26+lfBwx0T763plY8G/hWrYLSG6YYayAVYgIgMm+b8Ut2BTAIGBzrhuPESinfvP6AbYaIs2TRYmtqoyo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVViiCRA9TVsSAnZWagAAxxUQAJjHdQxKdmRy6QzrhkoD\nJineimxMkwUHN1mSaC7ISt3hEYgx1mk0I+VcjXhUjqd5FinCw5d209mm5kC/\n8akSx6a0deyKmwmXs9y3h/NgN8gtjaVzIo0qJb1hx3MitKMdXmonDQSmZjUX\nE1c//o7BUL6kVU/olZ4PSXclj1FeeiiQ7jTA7xztjuvtJhHfHMv/GSpdiGdE\nPRSbfiK7B6mHejXbl8pqmO/Dhe9pjlWG5pPqMsaz9LOkWsQnk6mN0lZq30Ef\nSmWseeI+hBVIr3hSkIbx496RLbFBGWwkaKPXp5OaSqz3BrYSVSJ0UooucIk6\nnaDGtUfIpyJrPvUp3vBcpBq4N5TqLtSwZV7x46j3NDsafzuoUDF0HX2zKK4r\nK6whMHLSOD2knGWuOsCM5ILqHGBIBhL0Ajn0NKUlOar+qJhxJkEAagxsgagQ\nJBXNLaJWtn/3WOuPNGisshlbOZkoZVC1q/cBcvQyd8GmCpcmv5YfnIzbPQg1\nmXn5RgUmUldk8KuQ6Z3QVgJ8hA/NeVT/IVtxe3RWQIWXh6+Ip2QZWHRZWpVM\nV7w+sfSrVJsWon/wUWo3FWLD2Du0W9MpGt6HZaQLk0HajCpYl7OVGxr9yMRp\n/84p19QOl3xmg1CORxeHpKVekUuyET0lFtwYr3hioDYGN0g0aai/jWaysY/6\nSCmd\r\n=p2t8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e165b3e1af02e963deb71d6f39a7df6962710c30","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.4567a750d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.4567a750d.0_1616205985757_0.5867054561243681","host":"s3://npm-registry-packages"}},"11.0.0-canary.0cde52f5a.0":{"name":"@material/dom","version":"11.0.0-canary.0cde52f5a.0","license":"MIT","_id":"@material/dom@11.0.0-canary.0cde52f5a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2b18e50ada6045cb20ec784a6199508b146169a9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.0cde52f5a.0.tgz","fileCount":29,"integrity":"sha512-jkCXdTYS/A45TcMVZfsfbVyeE+lun2wDV1n/PriVLuj8WgXEx2hETtNqgEkY3XU8/C5ybgieVAAJpCblT3a10g==","signatures":[{"sig":"MEQCIETl5gAaNgii4uiqKW2REZ9H4+nF3XFJvhhQVvN5XwInAiAX2IC6CPC5u7kz8zG6B1NbIbXgIWzCxJZ1Aagb5GUEhQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWS/lCRA9TVsSAnZWagAAlv8P/0GiFXtapXMj4cHeIGoQ\nUtysnfmKHW2NInBA+HZQgdhHq3s9QnXPhgVWByPx44AS52k34+6XY3Xh9Hte\nbX9CO1qPAowtjatf+5fU7ramYPkQQTx8T+jpyIy3ByRU3tUAvNZ/vB7Cl+ra\nQKsqLv/qlHh0nK4ZCHpMOVh3Tf0mMaJK/tpc5gFJvqacP+UssnOoM7i2bg1s\nLKK6VMlxWo8BidAqUh8R0xkpIv6xmmjkdRDWDQA20Vevq9jhETNsRaaNXIrz\nm7dRtUXFJjKK2iW7hGHmN9VhVuZ7ZyWKFllIbjzWDeeRgOHvGu6EO8bR4BN4\ns3ueHz3nvKNwhX/JGxoEjFTFzsTugAtfFFZAQCGjv6rVmIQ1EBeRwlKsbjxw\nakXJ2Uyljyy+5Xwea8t4TD0QCq77zofK16pZ+43PV4Nkoyskjl4qTilBnr5S\nWytBJRg4Dg0fxeM8vi9QuT2L6nnGTQ4JHv+VQEJ0FACJFXC0Jnw0MrP4rdIw\ny+P5btV75nlrmtv1Zl+VhS7oOMFkhJPxUhc6aJZZs/t9HhzNnhXoaGJuqZXy\nSvdzltem0z1t8DDQy3a/NO/SKxH1nhC3W6+B2FZDpG7gJgIQ3Vq9Cd7urieV\nTe9dZuZECtdcBwD3DcHxaP+Q/Ngd3S6bgcZM1xVaZ6W8GfRM/tm7YrsvRgPx\nMPfa\r\n=hJRL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6f6719c5270f569fd2ab44620e89ccd53a31f98c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.0cde52f5a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.0cde52f5a.0_1616457700964_0.8572386830877525","host":"s3://npm-registry-packages"}},"11.0.0-canary.48f4b67fb.0":{"name":"@material/dom","version":"11.0.0-canary.48f4b67fb.0","license":"MIT","_id":"@material/dom@11.0.0-canary.48f4b67fb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"186bb902aa6827f3a78f09bdcbc31c46717308d6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.48f4b67fb.0.tgz","fileCount":29,"integrity":"sha512-j4HKpGIN5nwe8nWByXsd9sNPkhek6R5fSWaNMyBRI5pLovrkCgwEpsKKghGpM9nQ/xPgDqEjESehn2oZWljaBQ==","signatures":[{"sig":"MEUCIBnEgzYUKEbM5Kctm8+6K8tlkClV7r7Q4YL5yvUwtilAAiEAon09LhDOl10pCsrzt1DeDGE2CWWwZbBQus6Eu0X6CN4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWkcCCRA9TVsSAnZWagAAkB4P/0A4ER5DstXBaI1r0gQA\no40V5mQI+wgyl9/MkwaJRgNYHOxA7AENrc3hyuRAArkn6xxSFrzkOqu5FAXQ\nrnpe96BsAoluP855YKx+Je2pmQvI3poaMWK1cNhPDi4XbVCfHNQ8Ef0/v5Ku\nFwlBkLFcqh/CTz4kdlt3QtreX4cfV7NFmgotP+AoyiWlPUXmc1x1QGEUKhoz\ne9xOylJY8AuieSeHYmic16328Dp90R6oFuKxqafTqzl0TnrTHF6Jk3XAuM4x\nZwVEvHx1unEoQU86Y5GFQDHhPXlKZAoRYjdwtus8G8RljMpD2Mj/z4egvcN9\n8tIIGNc9P/Dx9+PDEmZv6ZYhRg+MwV+c/K/D2HC3vMI1r2BNODQc7O8SBc1U\nvdnBSThvV72LsIrghGWSpcqBsgvko3vHRBGHdyAydlJ+TwnQFUFpKZTswXRw\n4FtvKReqInWfPaHIhn2czl+rU0oOI33BOJCAbzl2QlFxLT/jJKT+QqdtV2w6\nUWzBBMMKa8anSoE+fGMZ1TAUGQW+XDuxjcbkL2RtDCTSjG+MaQvog7cVshtV\nPzCkL2oPEhMSkXbnE+xfI97aAwqgvzayh8zHyoVvSPOk9YiOHY9jFGKt1is0\ndAtAQXhRKVZNRGUfjXgeHFFYu17mwr+v/qGjdQiq+Mvb8SIIGsmAJzK0aLvX\njNIH\r\n=36r4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f83669b240feaba73206d330f10c80a9aa31c1f7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.48f4b67fb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.48f4b67fb.0_1616529153644_0.15829241199537147","host":"s3://npm-registry-packages"}},"11.0.0-canary.0b8cff734.0":{"name":"@material/dom","version":"11.0.0-canary.0b8cff734.0","license":"MIT","_id":"@material/dom@11.0.0-canary.0b8cff734.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"37c176db5f7b3720b29d410b2d1ede014be944f8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.0b8cff734.0.tgz","fileCount":29,"integrity":"sha512-Muh3SsDnEjSbobFtoJxZXn6xQU4M9Z0JCzpDAp7nrd2zpgXUC4oh25/UyrJUGH1hquQk1wYUQfFx28TomDIH2Q==","signatures":[{"sig":"MEUCIQDIfI+xAei1Khs1gdbobnHdCj+TsHaxc2ytCFzYIoLJEQIgeWySdAA9ZHc0iRD4DpZAuELNt6qYYVdxOHqm89vw2G4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWkmPCRA9TVsSAnZWagAAqVoP/3WPazf5jttpJEe8dVpy\nVcV+ZfcHLojBn39d6n0pTs4HgOkmgub62TciuH73ImIhA3La/tSH+I2pWkvx\nHhEdc1oDSCc+Vtd2EMfcJ2Nh6s3ROEfoH6KpxWLpmmv2k6/PONmOAdA0R14i\n8QECy43qEV+c5XvKhTsJc1/Ym3bnofaj0XD377xMyp39TliFDJh9i66pxYGi\nnHdUH+VGClXsntXF/rZA7egaJI/s3EAGGIi4uO+P16NQmR97EXNugOboaAXs\nHihxRw2ig+NnUihotcHaSZ0LJ3Ryaat2uCd8iHbU7tlIGHVXneMMw4bsXsRc\nA/kkZeUoLoGXPojZkSG5QlG56F3IGPeTfz/j7pVl0PkJArmd61er2vkv6jPr\n7XlnU4gj/jX0LQnBqFZjU4BBUjxLw8KHKPco+S3hhlYoOS0o43AOWxP0GULv\nVmvQpFIhRidYAfQrjoDq+RuP1uQwGFii9RvQ3kVbNpXI53RZqwKaDsTA22jo\nMbkygjm9DyMfzcgC/q0rrCyESyWJlBT9rXQAcGd1cPepOR4IUbLhIzyMXnM9\nWxJF6h9+JR9kYX1ZMmIf9I0/WD1KDbre0DE7VQvWfDe21bU1Qqu5uFA6iXe0\ncM7W6QsiaRFmWXBPi1k8dcmVOZikfJhlAiCTUC+tIzZDgGijItNSl++2Hq7y\njzzK\r\n=YUE7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0371cb1671557f9e1d8a3bee3ffce11bdea058d8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.0b8cff734.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.0b8cff734.0_1616529807225_0.010233476768640504","host":"s3://npm-registry-packages"}},"11.0.0-canary.8943b991f.0":{"name":"@material/dom","version":"11.0.0-canary.8943b991f.0","license":"MIT","_id":"@material/dom@11.0.0-canary.8943b991f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7e6e04cd654014b8febd45eda8f41591caece213","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.8943b991f.0.tgz","fileCount":29,"integrity":"sha512-SzZm8tSETeuppuI5cjnXy666i3CQoUkWj2eUSAoRiIsjn7NCoZZLo94gSY/bQDv5sk2fH+WQQ/p5k/xlFoQ/6g==","signatures":[{"sig":"MEYCIQCEKmSCw1LAC9W/9/Oz8GVRxnQuTHJie+BeZn9+d/d9fgIhAPqpN+wbZzwTv7K723bqCBtJKREuwWszDqzBrjzteUvk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWk9nCRA9TVsSAnZWagAA04AP/iwTb5LUSM5uSDT6OOjC\n3vfnWAdiOIiEua4AggMnLwu8kSpUq6LJ3yeZ34i2INmPGYsLPoii1vFuPnt0\n6RDxblU58Q33AOukYTY3gSrPIcpyZLf3KBsR+Y+2Rv5NLeHLco5neKq0faKW\nEkxABpyZYvVm5us/U2B+VyNZxCbMVOPyhGiSGPC85bOe9BCboQgWxMX1+62V\ni+EZa+iz8VIXq44F1zyTae5c+/l6pZLS7DLHeGOTQIrpQI6Jco3WApvdN8Oh\nyv0qZbKpHdJmbcLUSR8/mcEDImZcatxxxnOZJVAvJloPIMIvobE5Vel2ZWoq\nwRFpmkh3HKJ9b5N8wQsXBaa8gF6Elr/yNh+1MC7qqtf9vVsGRzHLTdCFj3Ub\nDQpDzV8yO3MtdITR59juvvxc1OuNsBU15xBlzlFqkQadmFcKIWTfwurA1m+S\n0D1qYieIM2P32CFtFweLSqeXFoEgEkxHgXYfsMPgaBC5bg0a3mqG+NUEmd9U\nlrmiakAs57nMkBOApVHq6STeDxt2B2mNtsPQyGADts2nFe3Enzkm5UuH8zVL\nJS/3f48VhsMrOL0exfxbEGzWvpfAQVTNAV2HOgD1nQScrcKBI5IbwHsbYJsb\nfayoGxFGsFkGq0Ugb6HcM3ocQhKAIUNzSM4cz9oUTsViS2AWYtD3tEa3ao/p\nX8Rb\r\n=gMlP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"85cb2528143c5117974441e499367a5fc252b745","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.8943b991f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.8943b991f.0_1616531303173_0.7844437888956259","host":"s3://npm-registry-packages"}},"11.0.0-canary.3955d8d3d.0":{"name":"@material/dom","version":"11.0.0-canary.3955d8d3d.0","license":"MIT","_id":"@material/dom@11.0.0-canary.3955d8d3d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a53f28a5ab66155a64743f4d17adc715071d36ea","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.3955d8d3d.0.tgz","fileCount":29,"integrity":"sha512-H5kqte45qc9K4i7GgLq+ccOvlB36RHrviWJSS1GWdDx+7l9+yd/0f9+NkvkHFQ+9ypQkqM6W5357KUDnQbSv8A==","signatures":[{"sig":"MEYCIQDRV9t5ri0v88qSFWzVdWnKi1i4jTF7BPSM3JCQYqjNuQIhAKubVijG9vUpqSU39doqWzmQHzQFRX59lv/IkPw+Q3QM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgW4+7CRA9TVsSAnZWagAAsKQQAJU/jWfYJ9USYtxpfZmO\nPOSq/qqgkmkFyJpotDGvYSasv/BSJ1WioUzD245miBhkfaHcpyna5psJne3B\n2+lJNRpv+ImTVy06ljgB7SIiPHgTWVYIGXKvoDB5+thUIWAqSiMJm3LSDK9I\nd1UXbwvIrvK/NoYBdaGy31uikyPhN9tkcNZAsM4DP3C95fUnkObqO33IStqL\nINefDxIJvTAEay88jhqgEXicHyfU2NHL9sfgljO+kR8tb71cqRycJvVqyeU9\nHjKHFskF5qn3DIdnlV1zgUBq5p/sM+I48oujFaMmfwY6C8igqh0J0/8uRMIe\n2CRg5vqVfcPxHPtw3IUHgXDogXPgIhWenY3Bfd9+qbZZgQIA2e6GCf+5aDRU\nfr5q8TzSK+t2K6Zkj/bq/Jw4Hg1pweFCuDuCtXBjeqwB72ikXLqIQP0Kw0Mm\n8mLl+co+cgbBM0N3vVe9LqpwOav0uNE5/feUZFd+As9QCo+Y6+MteZBkLpo+\n2rw+2vKeQ/+ODI5s3M0A3yC8/hvGL/Q+L8cwXWL5dAeC081PIY1WRQ8ZhXA4\n0REr8KLuBChSldoT66BfRvT5a6BYf9nCm3KJwfIIhdctds4ZRTHCNtiCE/yd\nA3IydPhXYHzJiO0Me7D+GzcwfX+A6Dg1jhvrq0I/6cv1RwrRpTF/Scx0yb76\nlbwq\r\n=cHRW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2679d736975b17823079a52aad1e329d8c2a3b71","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.3955d8d3d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.3955d8d3d.0_1616613307033_0.9688532751521306","host":"s3://npm-registry-packages"}},"11.0.0-canary.23ea2d85e.0":{"name":"@material/dom","version":"11.0.0-canary.23ea2d85e.0","license":"MIT","_id":"@material/dom@11.0.0-canary.23ea2d85e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6c21c0355bd92491256894b6bc44d505900877d0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.23ea2d85e.0.tgz","fileCount":29,"integrity":"sha512-lrGr2jLzXWStOyAiSIcneB9NH8swnpiT5YurzC/KkBiMroSimQyOXRkmnnPkKSvAjG/bCYGSzPXio4iydd++Bw==","signatures":[{"sig":"MEYCIQDLHLBKGl1M9KiUHhL8dPX5M21qci2gh+E74qHw0gXQlAIhAM7eCb6kQ3xjBD+VF6Pewoqa8BVNdR1JslCRDqO63ydd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXMjcCRA9TVsSAnZWagAArFQP/j5KmYaUJPANZyiCyquS\n1BllMZU0HILiP7crMFhNBMKs0SkB/BQIRLnQ+QV5s3E8ioS0uMqzLJAOz+Ai\n3tRlNljZa5Ax6K8ZhHc70COJ3xOQ9CM6aPD2xR17GJGG1gwy6Zq5jfkONXzG\ntx4GgibG/1byPm9U3VuuFQVEPIddYMcFi9PPWI4onyJrW+BPnneJyoLB3BAn\nQSIvI3hjckWR2oCd0eDEku4mHTX3v/JJuKK9zHFbBYdBwti2rAeZDVd7Wf4t\nVsbGOhyb/PCStbvFCH/G1R7Vye9sGP8yFLlEA2gByHir5YWI27UZE+SMbs+E\nKxvSaxfEAK7RuF5GH399HJb6NomUqB1zk/tL+V3ZKr7Si500h8EfWWLU0ecY\nMIJ0oRT/kRztpEt8Rugk7wEVkFnrS4b6UNquU0sV1rsT2NxfKetV+LuiR0eL\nuJ/AgeHoWVtQkhGFGCkjOJJA1zUxQt5K+ZgpCwfUGp78lNaBTRRp51OsnLEC\nphCpCEu5EMmD87s/EDrN1XKiyHAEo+Lea6bga6QuteFJqLzt2GgTJ8P41MeC\nmdisHAviceCFu6NQPgBJz3rSF2LoJ6hWa2MSTXCxsArQIQNetQOAg4QrDKH2\nm4pjIWNA8pE8p5+4XLDhBopQ6Es7PFhVJk1VydlfpDpHyWgbn4QbpqaTwis4\nWpRA\r\n=nqH2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"705a9cbab9462d9e300da18c26d7992aec452ff4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.23ea2d85e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.23ea2d85e.0_1616693468150_0.9265789662155699","host":"s3://npm-registry-packages"}},"11.0.0-canary.e3ec22f45.0":{"name":"@material/dom","version":"11.0.0-canary.e3ec22f45.0","license":"MIT","_id":"@material/dom@11.0.0-canary.e3ec22f45.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c5076226544f99aa2caa09ca8bb218cb294ddab8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.e3ec22f45.0.tgz","fileCount":29,"integrity":"sha512-egCqWQBHgRmvlbyqh9hqQFfdIwrXq6RCVTflIjgDu21FWnnOBU6HjpjvPAgdF7wKGcXov+ZZCzgP/VpD2FwrCQ==","signatures":[{"sig":"MEYCIQDBjpCrY4ZBZbDKkxzbndSfzsXV6qi6cQvP4TaTdaRrKwIhAI5KK8c5eSPM2IutQIN9FkjlKZYMFixlU9uFwEpSp3Kd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXM5JCRA9TVsSAnZWagAADaQQAI0cAFEmvcI6AX1wDFNk\nPBRApRrDc6I6pReY//TH2amBLSpFbHFcfTEeOCNBYHLYydk837Js3YyYE0gS\n1SlowQeDZr1DGfzOHWUZADoqjEnVzz4bmtMzJGSi2CdawepWlFcUxLKIeUF5\nMqEm/3uPdvtQRM2MUAwD+WY/VgY/6yepD5cichrt9xl18kGsXI3Q6V22zrXh\nxyJq2Jw4oHac3TTtjkpKj/EcCOirMReLL0FBLT/fCxkVK1erP4cfT+lC3lwn\n4uHWWYPNqwlmroDqf6dZeFdsL6bSNnjS8+dWardqdy/RkF5AH/rzMYQhlzaQ\nY/ysOTT5VulNMkZ2na1KjnmZ57BC2Sx/GAuatXV/3hvvYWa+RE+H7AIEjWbu\nUnHww2R6dcZFtNJsBewgUv+91DQ1oymTmtgHvuum+DIWJiif4UZYrpoVcct7\no1IL6zuu2D/fVY6ca2dztO3DvY+K3smT0cla2vF9VSXSsasSHdQCsrOCs+om\n6WT2p3T/zFR3UrUMortEKYz2izMmXpbH6exKgOyqXdpagkZ3oFObnZL2aTrm\ncSfqn9ZEMcw2JjofB0ofpDr77xilgSbF9B10KuXB4yLxK7/9EI6mkwnSPxTM\nlcvV2LatFhQdCIuCzwQiY7EGagKbHvShn4Fg2FKHL17VBNAIWlP9T6tBq54z\nZOB7\r\n=J7Wc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2827fdf50a2ab264554f8f307d61fddbab82c5cc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.e3ec22f45.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.e3ec22f45.0_1616694856695_0.21956795072871582","host":"s3://npm-registry-packages"}},"11.0.0-canary.4ceb42220.0":{"name":"@material/dom","version":"11.0.0-canary.4ceb42220.0","license":"MIT","_id":"@material/dom@11.0.0-canary.4ceb42220.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5147cde100a5d509d2cf3359e7d367167b735f1b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.4ceb42220.0.tgz","fileCount":29,"integrity":"sha512-7jGieT4dbCCY20g/nfdECa7jlkJ7n7DVw8/0hnNWUmPN6VAHvB4Zpjz6b0HKphPrm483qeUVikXO0q1Nyvjbuw==","signatures":[{"sig":"MEUCIBv+tBwU8LO+ErCTdhyZYyp2vP2ruany4QzI92HbCqKPAiEA27a8l/kq/Wd0CGZ3XV0UxVPW+Prz72azPRtlK2Lc++I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXZOaCRA9TVsSAnZWagAAzQAP/joIBGINIA2PlrHfPWvs\njWdtbI32b24CKw/iDVNfZpCqJYakZKSVlKS1VFzulhvpZAHP7wNw/kTRTJ/J\nqTqf8i8D8tzTniJdJ2n0yWMwYd4FytJGhmM0s+INIAdN4/OAgQ4lQ0d9G1wE\nyjTKam60FsWWOTm0uAQnIX+KOM2CbDDDQXRMJpUHZ92IxADg2B00PYwi4IJN\netx/e7DFs0oDYlHG594INHK8EY6koDee71EVDeQLAiVFeHK/IK0ATn5gj1a0\nR0WCSxwIo7K6z55dZr9C0wQ3203qVtfR52YQTkJKEQSq0uSgih1y40+YdMbP\nYgPjitmV1vlFXw/4QBMmcV6xcQrgVlvdngfFS/E4Qn9qXh2fo8+nLLc8Jea6\n1FE+u0nbo2HQM5C9jdiWJgxY0cmZwD//27i1ArSIsBV54K/UJk8h6BOMzLuY\nhnjf3FfJAI0xXyNbZzqe1/mVi/fDKpIzQSq7vUmaaOrfenP3wLOG8fQrPym7\n+bpptLnxpKO9s36TgFnc3k+T96IxvakPf1k0obLLu9I5N+FrNkY0RBROA10C\nfHCoWAqpwRwYgrnmUrNo2xrAJyL/Ds5xwkYJr+1BMNdkRiMHpiag7hB+OkS4\njQNNnZfN1kCZkm5tNfquLjTIAT6dhz5it+R587GTwlO83F+So82eFgOfVDFb\nAW5A\r\n=UawL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"75fb611f33737c857d1b59245ff5a31676d7f3ee","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.4ceb42220.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.4ceb42220.0_1616745370263_0.5227816250751351","host":"s3://npm-registry-packages"}},"11.0.0-canary.dc9c84023.0":{"name":"@material/dom","version":"11.0.0-canary.dc9c84023.0","license":"MIT","_id":"@material/dom@11.0.0-canary.dc9c84023.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b951e710cdecc101cbebe9c6a09b1c279ac8062d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.dc9c84023.0.tgz","fileCount":29,"integrity":"sha512-qT+Axa7GYXRpnaMGhAQsJ0YD4t2O+cCvhWDj0W7IyXcwqkP/TjrFLSVkKhEka20xUDpLVUNKCVftUi4dCuEQsw==","signatures":[{"sig":"MEQCIBibGB67BaIpa57mZPksXUGL7aZnAlOONIgIp8UBUlEXAiBzqtNP7NVl+hbTwb7oFgftXKHWZGxZZfH1A6FhpkFebw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgY2QsCRA9TVsSAnZWagAAeegP/0Gf/vk+EBgrviHiAF1a\nq2Nq6W39h3gfHRcZd8xkeViNHOmnojN3Q3kUeHWzo+r3Twx5rJ87qKJXoY3y\nKCdhy7W7fO8TWKdGUiu9BqwUlKcrh/kJfFhAUuPjBbhzIHmQ9NBuxdijgE5E\n6HZQsGdYMF/vlZljDNL68NogGNikQmer5NyJ8UOBpgILX/orw/HhUYstQU6b\n1XtQCoaZSAgMry9wcGa0fpPiuEdLuS5FC+TSdI9tSTzb59RMEMOJOal8J0iD\nuOtWRFpRezUsB9E1rjrv4O0IQ4bY65isPzuyW7p75WXLaWAMD7h8Dxa/ryxe\nRcTe8V3+yyR0NcW+Mlm0gFFmRv2BadBzCPB48jVPBaUJKGC1op1aKoj4BTHR\n30R6vD4IgAoS6+jnt647cjyO1UiWKU5NpTZRZryQfvQzJJBI5P/AexWV1sr1\ngxXxXIT52H1il7dF+tNEU93UI4iLRdHAiag2SyZ7nrJE02PRUW+1AdPEKfMZ\n96j8JaOy0WJKZLtOSa8iYyu5EZn449kw3Zh3cM/Ofx8n7qmmHc9ucDrvlxkD\nyz3c4nSgkXmXh4IRDuQaEbokDuUMbRPvCmnyh6sY7WM+qgyie+50aM9eaKks\npfqXVv/6EBNyymWxxOzkli6KEgrlQ0SBPJMGTMyOG5f90Zv+7IXkDMow5eXb\nuSLB\r\n=fSbq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d7f7ddbc4309b6a8ce5cca3772255dcc6acdc701","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.dc9c84023.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.dc9c84023.0_1617126444310_0.6211064997885771","host":"s3://npm-registry-packages"}},"11.0.0-canary.56fc26962.0":{"name":"@material/dom","version":"11.0.0-canary.56fc26962.0","license":"MIT","_id":"@material/dom@11.0.0-canary.56fc26962.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e39e1b66e31ef97be62667c5fb25b99d8297efdd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.56fc26962.0.tgz","fileCount":29,"integrity":"sha512-pQU5iZPrANeyQPJdeo8xxKUJWVrj3lkKiNJtGuiawzjrR6NWX1fwxpnWjCEVRcdtVU9ArvKUwZFEpx39L/p50w==","signatures":[{"sig":"MEUCIFGQgoYlq6P+hcHmEnkiqMwOCrxsAQWUSY8NbOvCPhTxAiEAjWRgKNO3/7DryjdNsiX5Wdm59SlK3w75GtOaf8NFfTA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgY8AoCRA9TVsSAnZWagAAhToP/2tmQjV+G1FOJiLZyyKw\n9aS7aSoz5DwCw23Mfz9tNvBvjo2rhXNXdY8s2SgZGo0Pyy7+yhoZB0vV51jd\nh7qqNY0shV8eFfdKn3NyhXN/ygLynS1XEJ7hAfdcDgGKV2qkd4+S1ZfuoEQ3\nfJ5ImdnPoi38cV4sf5dMlTTXgBJV9itYYP5IvdKTdfLLdu1+FBEEs0I6zKbM\nH+UVzvjibL0gE17Ts0fOIaKmkEyLgXghtHJ4TClV9KqXoFu1QT+pikShUvY6\ns5tz01LpL00Isc31ay6w2z0WUzSoq+gG7MRoQb0gUrtyYg+xWR5fArVE8GK3\nTJoQaAaToDKKK9RmQ3TuvkpEQJMxg2myzTqO7QB2LGdx5UlGnX+XW5Uahi03\nNPcZZ2lNhACkWN9Is/3Tew/P2vV+4XfCVcg27o/u+P6bJWzfRYOEUNUb1REX\nhAGLp9ZtLp7T0ae6VDFQyQ/JaHazkBNH5aqXIRuDXjvuNnEBoGOvuyvZkZyA\nFMv6HiAw/mgO8Gq+TzZxoKzYBd3Hhig3Hf12NucA9sAt3en5KYzoBINuAeb2\n+o2+BTqM1bOf4BTmpRWu9vo4g1ZfqwE3ieyIeHCreSIYtvKIfCk1gsRj3ODD\nurjCUYtyhodR9+m+xNRCOnPN2MH7cV/yh6glx6rKQdl7mPfltbF5jg3WOJ+l\nZN67\r\n=H6ad\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dfdb8792d4ee8bddc61386ac6a8e7e216c1681a3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.56fc26962.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.56fc26962.0_1617149991771_0.0905684262889852","host":"s3://npm-registry-packages"}},"11.0.0-canary.bc318250e.0":{"name":"@material/dom","version":"11.0.0-canary.bc318250e.0","license":"MIT","_id":"@material/dom@11.0.0-canary.bc318250e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2630fbe6dfc4effed4ffc7a7362df22136859bed","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.bc318250e.0.tgz","fileCount":29,"integrity":"sha512-+eygDLrwX8nlIOpx1BDJ65+w8Df2fJRpIjrz85PcwFZF1fGpXIDrKneHkn/HO/jTSCytEkviHsi8XWdQiFxerA==","signatures":[{"sig":"MEYCIQDXGpX7M9al/vOfBThLlHTFW16cZbXowKk53cnMLyQGpQIhAPbJmJlkO7pqH2xDoyQPrDo2BaXhIDd0mOwpiShb5+rw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgY9E0CRA9TVsSAnZWagAAM54QAIhRaEfYmCLN3RR78TLu\nExdqxpvFI34xoA1JfLTcgG8axTDcLbIUYmvs9ZU2wmukkFr7UWMsIlraJ6yd\nHTDrbo3cthYtcqKkk2SF+Z8o1cWSE9o14DWRYB21Id4270lIpERD2BiM+qGO\nzN17RAfGtBOX4EFkbBZTCzSBl5DixsxqKJ2lhqt8xKVitnlfBSSp+/zB7BQY\n7ZOCYqmnn17TAdSQDVyWh5sEm184ayYIfzy29I+1Y6eN4wkMZdfpu+Ff6e+s\nKxPK9Je7/sq/b7CBO46DlZggCoY0qwmRkSziLLhyIkzjARaJEdNZ0kMjLPkG\n51XcHkA1ODasSSX6tKN6Cgs3+TBa5A0iLXwyP1zrx8XlBCAJRAUbSQ692R1S\nPj//B42OlnU00uOuiKLVqtYIBxOAu9DTPZhXYoMFdz+Ndz4NWIFT1zcGHEe1\n0vrOwbS+Xwu7oPgInELkWaBjuzRq6ExHjpj1xdkzVckoQi90rK/NoW2hwbZj\nHJy1FK073vtO4Mgvw1gAml4O9Z+YS9v9+BFiIEpi6CvDVAuVOlmCNAwPduQz\nPW/n6gRjC845ihF5KFmYlOQiQHkQe5Elq2D7HStPkDfEG1ivy2GUk0Lm3JgU\nUWaEYYpvI6yqJ5cWNOCCRd2/4fuu2mMfy0f4rdImR9bsxbYDgUHxjIvLvfcE\nYJ6w\r\n=LCZR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1de1daa9e4e0ee7a779d524a027b9e7566841b56","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.bc318250e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.bc318250e.0_1617154356345_0.8512461824749207","host":"s3://npm-registry-packages"}},"11.0.0-canary.edaee19aa.0":{"name":"@material/dom","version":"11.0.0-canary.edaee19aa.0","license":"MIT","_id":"@material/dom@11.0.0-canary.edaee19aa.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1a99435a42770be978fb627cecf40029ed511bf3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.edaee19aa.0.tgz","fileCount":29,"integrity":"sha512-KzrtQ1ImV5pJPWbr+y3D/+oet7mLvuBBdD7bAltqr2AGqHe84D+QqltWLw62Ghpl+VHrU/pnTgTx8Nqxs9ZunQ==","signatures":[{"sig":"MEUCIFOXcTzEInXMufcQPyIOfQYkj1DdurQL5ERld2z0k36xAiEAgR/7Ww4xjo0GsIuer0VSQdkFjxeAQXsH957eb5SO46M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgY9ohCRA9TVsSAnZWagAAOOgP/1bHVVlBKmwrgub4BulS\nKdjmHbpCKOIfJIKB7hWWS5Oy5bXkeP1MiGGJ7aNtGjUdvkeG+GJhgbtvkKzs\nY07qxnbnX2eNEeXvjkyPraXpCzcqwQhi9du9q5JGVYtV2pWDezni+q9TSc5/\n6xGhCHljuQtaqKl/rA/lxIsTPgK4gI+Q1GPXS5s7m7CXL0SiwkY39eB3E5Z0\nZpdHVOCSBjLDEHOm0atGw/QX57L2Ara6ve6ysJ6fjjw3kgPgXUR51+qR7eTy\n+WWRn0mKHxq+zHnUo3GU7/SHFpv7QzdDTWGOqUYpfDPflzuX4pkOrtvU0Nf1\n7ANnbv5VkhYXUpMY0ow2daaFhv1ucTTppnLwSpJEuU+6Q/LK00jiIzd7Oh4u\nOnuGoujmWheHYKnPauqox4K3gWUnu3N0yjgcwvO5kYj03JGZvT3Rr+4zlDIT\n/YouHi3W/FR2giMRGyWgz6JRl0HctvJmQ4u8lnbwVQAGYLKQduoCOtmeag86\n7p7asV89t+aaMUT0jFMdHfl90LVTDHHS2IyMMH5cYPBgLDf+AfiW2ryoHaet\nge8oF02IGktMIBtjiUmUbeBM2iBg96yXNb21uGiMpOkk8dlI7uqRNtGaaX2h\nklWS5M3bDzYg7V/pAnsVxvV+xGFEm6wpi5cSnXyfqstEi1ekeEjMyMsgX6BH\nJW7P\r\n=QRbX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e2249b4be4cc5bba6887f28ddb9a3b9cc8ee09de","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.edaee19aa.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.edaee19aa.0_1617156640677_0.3044878140036351","host":"s3://npm-registry-packages"}},"11.0.0-canary.24609b822.0":{"name":"@material/dom","version":"11.0.0-canary.24609b822.0","license":"MIT","_id":"@material/dom@11.0.0-canary.24609b822.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b226151d74279a8bc934cd568831d289a0a48dcc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.24609b822.0.tgz","fileCount":29,"integrity":"sha512-zA2Q0gl1H7Z1QJUqB1M7HUZLjySfGGEGy6EDvq12spU0Te4XmZAYcck/JLpFV9EEzQSLoUuqG4FCEtZfUX8+Ow==","signatures":[{"sig":"MEQCIEc14Yyk7BbQuGabNEZAsHRYTbDLCsBe4+TmqGUXIwinAiBr0fQkfYZp4G1DNGmBqEdjoLVMrMmHyQEWObv2kckVRw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZOHoCRA9TVsSAnZWagAAXSEP/1i+IgxTTcbK+PAgEeAI\nWjVk1vMpdegXLXhZ5kZH/nuXuXCMBdGP3EYjbV1fl6O+TQSqENPpEo5ShIjm\nVDnPF4OjYZHUwRGL3jqDrA6giMR1pt+yvZt6jQ/hqSA1NQlJodK1U2UnSoFr\nxlFABPgIX5xb4XxtaRh8B1ePo+HrT9yGNJj8fHomb/YMIMMv1z+prJvhguhM\nX/gR7TlNoq2Q9DRCHnUkEGcOlq2TJSO/ptMD2yzJel0aFLKXlmqzhIXxdYnT\n2BVJU2KJa/z2u6m6G/92If2Oy2VTkXuCulStYjXaL5EIOqcsQg9L8FFITLEY\nxklfD7ldpZqWFomVkxO52ea3stfp6NEfuAUiInuhYSS/X/ctK8+45rrncXnw\nVfdzujGzz8Exq+QGHN4q78zSBVqtC5CFLJ06YJTTcBl2xAfWfzEcsYbSONLP\n/KG7E+UgjHt0EmEnDVBsK95H8IvJiWnbLaHwqOXSSmZyzktATLqhNafRkG9w\n2Yz1XuHXE+mA0qObwgfZUFLrX7GyBjj5zc/eaY4D4C/hA21SUVqUMQdRIZQk\nz989xuDLyQTa+tIYTZhuPaE1ZotdvBD8R+rx3oAmKOTICHuJXKEfu0zbc9oy\nI8sV0TsOJc/zlA6sM7PG7/OVTjUPBReepNZmyv3JKVhhkNdqfIkIZh+ebyje\nTAYH\r\n=bubR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"50b495134dae6937c2262389aba694d7664f78c9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.24609b822.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.24609b822.0_1617224167753_0.5308882706829152","host":"s3://npm-registry-packages"}},"11.0.0-canary.b6cddc2b7.0":{"name":"@material/dom","version":"11.0.0-canary.b6cddc2b7.0","license":"MIT","_id":"@material/dom@11.0.0-canary.b6cddc2b7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c20d3d084b26cfa550a07505251ed9c18441af28","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.b6cddc2b7.0.tgz","fileCount":29,"integrity":"sha512-lss5JFcLmh30EWXVkKfi095NfT8cHDGbDah+tI5nRam1M4wf27slcU08x93aBuxDZ0G4dwBff7br33+QgPJO5w==","signatures":[{"sig":"MEUCIDZ76h20ul1R5uqikUm8xKe0SxmfQsOjtU6QXzlQMrsoAiEA8qeqdBGvVx/v6Ebpm5jHFLKDW1b8L8G3LY+3qJSvZrg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZeDeCRA9TVsSAnZWagAALwsP/25rlSBhkO1dAA1jW5CA\ntraA39+SqkYKUZ7/MC8RD5SedALLwT45fLFkQo/ZdyYy4SeEpd6b0r8d1rB+\nEc6FKhltqpjLTiobo0atdEUpjPb5e/VqUdEYpCuyA5soTt/Pbd+GKEtpfhdl\nllJYT9jxtdFW2bsM4d2nFhPqeWifTYnhQHFrCoKW5M2FH+w4zW5tQlOmwtCk\nZwU6+if3gKuIpIR6v1yzx97DzrE7WOUNu3Am090U1h2PEyxOHmpnq87BAD0y\nQEc1YhaEi7vHVSfX/yCoCmwLu5CEzyD0/+V13XeOYjQ14CHoQmL650xqSx6/\n47DncseRwbli1Gu4G4dPufYFSGW4PFIOnS3R8ermD4Cncx2v51XrIV0UJJ0W\nYraUhfSxGGsdUNwzZh9uyD1SlGFwtewu0vjoAvICdYYFpsVVs0kYdi3Z5dcf\ntCjOOCFrsiO1wu/i/iGh6g4YF21JRL2dwW8U5GYmIhTfWAEnEKXzksvqBHvB\nTfL1YD8kW9cWXTSTrhop3U16wiueO0V8GrhQWVMGQZrQV1+6LZQe2oW+T8JR\nSeGdffCTUFQvCcO9mHiHnn7okRxrhsCZw5eu/J3RayGEV8cbbDl4hLYevFOd\nU9q1nYnThLqpXefE+LQLucqjXHs/7Oj2ZnHdjEud3xVQUVVCYJCbGB+7X9rP\n82wC\r\n=Zs3N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dbd92fa1a28a9b31a1e4eb476b15f4cff38986b8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.b6cddc2b7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.b6cddc2b7.0_1617289437558_0.9262846936347751","host":"s3://npm-registry-packages"}},"11.0.0-canary.94937c78c.0":{"name":"@material/dom","version":"11.0.0-canary.94937c78c.0","license":"MIT","_id":"@material/dom@11.0.0-canary.94937c78c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b16a8319ec3e20419a5f259416179cf3bcbefa22","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.94937c78c.0.tgz","fileCount":29,"integrity":"sha512-QhvKI8zAyEUG1ZrQcOotq3jwCwzVlEc6FX+EMWoiFYV6u4czbIcl8UkH4MKFsoEwroFXPjweLLEIoc7a2AeYJg==","signatures":[{"sig":"MEYCIQDNjfOv8AFIRWT/yjkB6VQ8jv9ybroSmzRJekMc5bjMRwIhALjnKOwDwWB7UukowFSg2BusLwuKVXbGuwYZX3s0JGuM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZjQ8CRA9TVsSAnZWagAAeQcP/iSDqvljRM7y1Te/1v8a\nl/wZSVSAx5WR53/vYZB+OLUA3t47bztYBYTknU0xR95W3550NwgyNsOtNbAK\nbyRRkPkvlWWxkLwiI1Omm8HOfkbM6quZOOvl6bZVJwVhkckC83gfn0LLLcX4\n5wPhw9gR8bcSCBTjgPHb1NTuQnWePJ5jd2w0yX5Z/15wRrkRCrX60BhD+qSc\n7xVvA3m7BNbBGLyatVRf2bchYBrVfolJ7C6McoZpz+6HcdfJ7kKRNxjWxE6n\n/9ZuEHDQs0DhE4lM0fltFCdo82MpceISROT+at3N/7Z22EeHJ57VAFAPCIO8\nUjgDc7zSDola2DQ+XjHhaKK1w39uFPv6/expxARVSsrlnXNf4O8GhmRd5FB5\nNW/qoL8lg5+3CEbNd+zxW7lJ6eFGU+4AicJVKKv08W/2bjUy0/tuSmtMkxk1\nWPWlmmA3pEaO1w3WaEacnb8lYf7qAmLpP+DIeRTVkxyxqcdc5WC+lDtpXv1v\nfpyvndxuYPLpsT/LHHgxpx1k8Sskfihmpxn1GAPSQ2n79p2PdCRr9xb5JIIw\nQJy5CTEvdY/R9NQ0EYrKkWCzGk54WeknjYW9UgPkMELJ3dB9B+L2vw2y3aUd\nv4loSvM3AehnPGOutBUuITmEv784rf+mvNpBiV2Dl7h999UkAyGdZVv9Ttjt\naVD5\r\n=h1IY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ada608c773d2657680fffa3be444debd83967f00","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.94937c78c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.94937c78c.0_1617310779837_0.40320420124740974","host":"s3://npm-registry-packages"}},"11.0.0-canary.e7202cb57.0":{"name":"@material/dom","version":"11.0.0-canary.e7202cb57.0","license":"MIT","_id":"@material/dom@11.0.0-canary.e7202cb57.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9f0a2407663578d2967b5a001472a0dcd0430232","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.e7202cb57.0.tgz","fileCount":29,"integrity":"sha512-DiGQX5ngJfcQP11jGrpcC21bBCJiRAKInob4Qydxe+F9642eWZ0snKL7H6hXPxiWOkDc3Y1qFvaeKa6eshRJ/w==","signatures":[{"sig":"MEYCIQDQIGU7U1Pq15e4Ag4CPSzHIwwl3tF7mSOsMI3ly2knlQIhANbztKekI1J79Flq/GWeFn3p44ekETVn5nIJSS2VOX/b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZk05CRA9TVsSAnZWagAAv6kP/RfmS8uh0DnkK9Ixk80u\norOxVDLYD+coBINAedZt3K/3ZikZzPEETTsS1uXxRaSrd27oG8CR4ZGU2sfQ\ndrC3hrVrJMN+s9SFyHtnsPrIUCWHoFVqczbOxOvhsC8xKDywwXr4Lkd1Vjwp\n4TQB34GuuoVeB9XnSJo9LY2+RF/B6EFHcnI08hHVGYo33CR6G1LlQmVqjwbj\ndwgtdWzwD9ISV+ao7fwVpcSuK7DDhres2b3p6od6ZzUV0w/b6kG+sd54zDBN\n0wo2QJIf4mSSfM3U71qW9Qd9VVg11eQM6j+oyY3ARWSCDOYWnG6NFL0kSQm7\n4lGqjcxT737kg8EW51SAZjcvQHu5hS+O/HCeJsZw6TlhqQyb7d1O+CND1UIP\nVjkrao3OS+5EaHZoQ4+qpY+4wEwhglfWp90JJiwtMnmQDdE2YDJUeQT9lZNZ\nAL888xCGcVbUWgXOsQGyQalXXxp1+MosHR5Z0s1nU6ds/y4Y2ZYximg1VPLY\nubML1uVCE5wVZr3mvhPLwJhgI6ctrOSP9xoJrdLxVGta2EadfzMgFHknJfi0\nbRUIxdtrSiRmuUfTf4XFjLRuQook0gW1AQa8F4ZUqxTfwmi/bGkvLHxANp1r\nSGt1lK23OjGmIqWdupEkb4dAPbJghsH1YMIxNw7bUTjyuJkiEFY4JeG25N9b\nmW7/\r\n=tgHs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"113d79c2879cb1503ff12c8064eeb38ada16b472","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.e7202cb57.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.e7202cb57.0_1617317176561_0.6311075174474661","host":"s3://npm-registry-packages"}},"11.0.0-canary.1f636b205.0":{"name":"@material/dom","version":"11.0.0-canary.1f636b205.0","license":"MIT","_id":"@material/dom@11.0.0-canary.1f636b205.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e48b998939239569f4fb77b807765c27211ea7c0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.1f636b205.0.tgz","fileCount":29,"integrity":"sha512-TBZf3e1SyU07ddP1zTqRvOhEILSmNvHMZwOB+d4ZquFEc2txFKRszyK7ibXfiwMHrIn0/jpURR9YXRjBQv3rKw==","signatures":[{"sig":"MEYCIQDHNiIOMkXvzuYv8feHhKR3bcyzGKxsApvlQ3BZRjaczQIhAMHBtTmkjk8vANX0unBEBqRS29mtfREkVDwrDVswnoB8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZ5lDCRA9TVsSAnZWagAA0r4P/2o9+lka7dTDKw1u+BDE\nuyJsFq2c1QcLswIKf/L0DSh6iPKITb6QXF14oz3u3MxltxoW9EwD6FkX7yTf\niOBEg3+IiHHxmeXum/Id2yqGApA4tgJ+vIOKcuF9Bnx7KQfwRWF8R5cMzVm2\n0Rs3o6T/dxILV3bnyqR5BGIx9iHg0Q4UPAWinQAsv2cxDgKc0URhWBw8STdw\nR+vb4uy9djMckXjTfSMRY/w2zrobBhbsAW8M9A9hVg9ACTN5XKOqQQ/lLGRa\nhC0kFjUIhXXa770kpP1PffuSX7geC122BovDes/aHYB4AGnDWLdDL+gx+cTy\n/815yIS1K9NaKk0xHRbhx6tLwHQiZH0vl0VYNbEerOXnt68xqDxkM+Ara6os\n9cMkr8Tp1vzVs73tZHFTJjJL+7QsChqM1BiwREivI/IweLt84/LINeWbkbMD\nthPb9mKGwKEdV9bjrXR+r+9sjiEAvAl05JJ7/tH8gdS/I0p4xcrq0TbUYdHE\nQQXaVk1ZXk2d78DrphvUu1n7aY0kWrBx6xbC6tGTiTsVPtuUtsarQlwc4rcc\njb9asbBTOje7/RU5IdCRKMSEXn4Ibo4CaxsHbLiTV3tSh4dY6HdqZC5sfOaX\nPNh32oXWgcMztapE517qz5oeF9BaipFG9hyD1M7naaLHM8G4hDEbfrwEBZMK\nTGs9\r\n=Fnrm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a523c6467be13e8aeead7e4e2e5f20c418871bb2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.1f636b205.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.1f636b205.0_1617402179120_0.7587797715558897","host":"s3://npm-registry-packages"}},"11.0.0-canary.94f50b260.0":{"name":"@material/dom","version":"11.0.0-canary.94f50b260.0","license":"MIT","_id":"@material/dom@11.0.0-canary.94f50b260.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"59c4f58dd4af192925306c5d1430cfb27fde5613","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.94f50b260.0.tgz","fileCount":29,"integrity":"sha512-ruz/HLfKC/nLj6Ta9TvnwGBOz90zpSrbcobbxPmTeTD/6LrMBR2nWWdX2M3sEdaWVznrkbmUrLU2GGY51qnlRg==","signatures":[{"sig":"MEYCIQCnbOerLMGDUHUJhzEvZ6qgoeaCh2FRg4yTTIoqhml08QIhAOs5pBEFmwwsYZT92LWvo+/4pbTUwRC2Z2QUtRqOimk1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgaybdCRA9TVsSAnZWagAAtDoP+wf4MDpC0MZblwqelNan\nSOgQ8Jd4eP8HSwjQlfW2wiISyr6mIO2JWBPSQzdCypLub9halfS8QpAA9gWq\n04pH6KhHfoze2q2GxYxGzUzXS4ERgV1dqE+r9VRk+A83aG2FeCJ1tw6lwL9h\nb56pbWYzaePFaECaIgE3sJQoYPoBth/cXYSzb5UjiD+nYRR0lKUUya2mYXOx\nSmZWcDwkba50TcoWomfuxve2QTcUEe3+7N6DxVNXj1h7IJvNIN53FStsxL7c\ne5wWl6i8MNH5E3XmTPIQej/REoXjJg7980c3kEOoIG3goSVzHAaUYRlbN9mx\nAPI+bPnjb+pC8m9enmboVLJ7iEANROFKOCP8ifbP8dm/LRj+vD7RTmAJHeXt\nYOG+mkWIKic2CtGuwGu2NHnYUleJTCpDjNuGR2clMYtHroq0QZqaHKV0V3Bc\n+hajpABGDPThF2UWU6EU14Y/0SScDdyJRon/v69+86jzxiUcAQyjjw+lIKDV\n4mGu7mbZL1VGXuuq6R1qO8+Y5J2fQlviXBpPrjExJ76p1yi9LOwfI7LSZZsB\n5929wOxplMExnu2rbOOZ4p0oKxm1DcJMmSx5fOvs5bo1nTcTlD2AuRBPfqVo\nGkquJMCPh4aTmrJoRRZEJ1tUZjw1UEKs9l4ws1fP1LUyLCftSXzmUrJG6jPp\n6a3J\r\n=Nqjh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b5f84c677cd669d6958748a69435b56ebb640bc6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.94f50b260.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.94f50b260.0_1617635037389_0.807283682963712","host":"s3://npm-registry-packages"}},"11.0.0-canary.a4009b80a.0":{"name":"@material/dom","version":"11.0.0-canary.a4009b80a.0","license":"MIT","_id":"@material/dom@11.0.0-canary.a4009b80a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"13cd48388cb0945667dbc203dc4e480844ee4f2c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.a4009b80a.0.tgz","fileCount":29,"integrity":"sha512-dpESk98P4BhRYWwDbeod7mWPaLDY1eH8HboHk6MQBI4e/TWfN+YvUDPLC0OoOiyfmc8mjKZfGfbK64/o4NcRGA==","signatures":[{"sig":"MEUCIQDJQamvMLyzQOtWN/7CTAXUCFFt1LY8LaM6MBYxgF9EYgIgcaygeEBVY7WX4VVe4OH63Z/l4GZCUmdkZAwlDS8F9Iw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJga4g+CRA9TVsSAnZWagAAGTMP/RqTwrRB1R8dPO4eCGoW\nqcv09ghxn/hLrsV3n7/I82reedqUqhN80ocIjVNxViv76b3n3zyCq2e6K0b3\nc22v91TL1zk3cfaHnBr6+w/6pPoBjkssAwQaHYQ1EkPfeIqNo1ThWazVhYco\noZ6KD55D/mA5U0iiJs12/Uv+INJXHRfuiynon4s5z1BZasxKbqlX5W/CRCXg\nvY2kXQaOc8GO8wejsX7FWJ0ndm2mUWctMcGhXBKubzw0NqtjuoGN581SAdZJ\nKQ8QV48ZnUp1YMhTUojsF4UhnMZgy8euyqSXNs7e64SXQ5pC+q1913amP9kh\nr7krX0PaaPMLMpzKLSkxLCZ7EzqKzlifvD8JEdAQdZcb7d8eObtM2a20+UZq\ntIkiPiJOKA+xyj0opN5Gj9dbawSBJumpjisPZPNjnqugVQyaOMuguaYOduNh\naZHuHWaqODr1Q5RTjsZDo03+umyaXIC+hUN0mZypVF7o8/Uc/R1PWbfMsHrT\nmHGNgfTH32s8oUPvwyInNCY4+ww6d7xWWjQECBteiPvOvbSJm38mRgHfseyz\nopscvMXIKbcLtVz05g7ksPLRIxGriaPX1HwfxzXGgOHqyPgFdJzAypxB9nOq\nRu7kVvrEP2XFph+A5unF471YN2RbNJbJbJl1Z1Jg1bP7UQ+2xFnP39kIXkP+\nMmCn\r\n=GOtD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"35eef76af32a43b61b6a0fb725dbb83cfa5d3421","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.a4009b80a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.a4009b80a.0_1617659965997_0.6647850326973748","host":"s3://npm-registry-packages"}},"11.0.0-canary.15604bd0d.0":{"name":"@material/dom","version":"11.0.0-canary.15604bd0d.0","license":"MIT","_id":"@material/dom@11.0.0-canary.15604bd0d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"95cf428a8f7250df9dbbb5d6384f08bfaa042f08","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.15604bd0d.0.tgz","fileCount":29,"integrity":"sha512-8N3ItoGwRzut2cJM8EY+CwycPshUwH42DUCSn8PX/6cDnHMTuUJSiS8wYXSBd5XTDqwfWvSPALuYu+0oZeWKNA==","signatures":[{"sig":"MEYCIQD/OsskY9GhMK9uESNRYJeieUN6+cotk3ItM7FeRWzX+wIhAKs69ZX2M1mgtxQmFQo4hsvueXWN+GUVqjBYKz2Fwyx5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJga5IICRA9TVsSAnZWagAA7TcP/3yTqH9sNTf7GJidim2d\nMmyeljF8yEeUONEpR2+hrdaZkTze4ceYsicsiahkIYZuR4xsPAbKRvY5H6sU\nHVGkDjLgRMTU8vUcjoIA9D9o0EnRaUgwFO1jVU8Gj+9deKL0hVkRMo7msl5e\npeU7dWnW1E6kUzP0KYxJsown7wwmHM/w/wzl1JeVcJOF9ULqnPmtytMOyyey\nxbz/FhBbPIuNMPbCypuiWZ7hdCO9KeYKhuv782rq0TYepzFzqblgShpddM5H\nP29znJkurdzivlzrrOJbBtlVZs79MH99GC6+pA4svJ8hE1eBNzDOiHgEt9C2\n164ljXfMfDJ6iNRAM2ByC40LmkH9T2amIsIdsE2vVHsMUBao37JmGVyf9zVE\nTBkT0MeI0x5DJJrPLM1FALvXBu1I+3A9IfJrMWNlQ2stbrNPT/cdaxQvtV+H\nfxoGOQJfoEZNn4VHMorGFJE3F2BpxruN5DlJDAS0F7N8k41yEe0zn3adCPMK\nnW5sRtW2wwelLcx95TsFzRnz6BtXX4j5ZX9Ef/seRyATBZle3pZvEUr+85oQ\nwngch6tLDGhU1+rBSmgBJExH+EwCu64jaUtV0Yv3SNOq7YYhmu1y3xjM2ShX\nUxoGgIrxpQAcsFcMujPMlHjI4CuobmLJeg552jsGVuPEqYEyWvTkmJn3IrIR\nuwpX\r\n=ap9k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ea3949c02ab8da1a812a2127f1fbc7e7a3c98532","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.15604bd0d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.15604bd0d.0_1617662471633_0.032037407208781676","host":"s3://npm-registry-packages"}},"11.0.0-canary.76da7876c.0":{"name":"@material/dom","version":"11.0.0-canary.76da7876c.0","license":"MIT","_id":"@material/dom@11.0.0-canary.76da7876c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"11e4e07ecfcc55e1d6795e951d31c8c5d7ad3012","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.76da7876c.0.tgz","fileCount":29,"integrity":"sha512-G5w9/c3Ei58IArzQqUuyVYxax+DvoWMyKuU4tD1rgOajTg3O/N/xRF5i1UzHiAgxqItamv71WxOFw0LZFf0QBg==","signatures":[{"sig":"MEQCIFoTaIjf9RqHW6jyW4vpqPs6JxTye0aDCrzaq2zg7SuaAiAud8/BEESQs9bag7r2N7Wpaj1fbqz2XqnFl/cXZoESfQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbQ5ACRA9TVsSAnZWagAAO7kP/iy+xnGfW42HKbN9BRpq\nli7k5KOcfLPVxttJuHO9NlEHsSEWi1sWGHA5SGWtNpdSfvFU1tMbdbtinnOV\n90RoWhW14Ur287DsPTrnmvAisMmorNgosFtq7OuEM3kZN0STN/X9f9UxhPxU\n0BGOm4XUDZ2SyU/zDsiay8a6n2ptZ0iHmfZlvfhPTiOokTzAoEbIK6STEJg6\n3EoC0pmF/YUq3Ikhk/xwPV3HEIxNEC6YqeQ4zmNBwvGJSYXWpqmwT0iuHc/8\nyunjOEZ+XoQAihxrQQlXcUmU+xQ05UWsvrvyGLp8PxiP0IaK4yUfBZzmhc1q\nmL87Rekt578NkxL0J3bc5s9EHBq1PTYjN5d1gqLD+a+kXuXdmfB2jzz1YEz/\n+FYt7YW+b6HeDsWZg/Ie4UAOfFA2/7XFroDBVsFCLkDsai5aIwKD1OZjuxr1\nrrMufjhP/GH9Om0zIby03HnTBpOAT+/8z6kvk8Fb9kzHAsLA88nbPpFGlzjs\nzhZDCuFMFXVRGCtcGwpBZ05UnWD6G2Y6r45ygzwoHsX/X4671Z99k13+jb3t\nPrPdhy32+c7SpfawFKaQHw0g9GJq2e2MHt47mW9wMPduWjSB+NUyYB8kZ45M\nT6d63Muvd/kFawr94pEdaQVHPE4V1Dnm5cJUG1rpWp6LzxftkvhmxRPY6H25\nfMgd\r\n=nINe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4bace63831a45c0c9e6f786768b2aad0d79087f1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.76da7876c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.76da7876c.0_1617759807837_0.435559001592984","host":"s3://npm-registry-packages"}},"11.0.0-canary.6bcb6cbd2.0":{"name":"@material/dom","version":"11.0.0-canary.6bcb6cbd2.0","license":"MIT","_id":"@material/dom@11.0.0-canary.6bcb6cbd2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"08570693e5aa2da661e69d98d8265fbe404dfa50","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.6bcb6cbd2.0.tgz","fileCount":29,"integrity":"sha512-kTnK586rrbBULuHxX61h9w0k+b30Bpm3RH4KBUXc2gZvuedSz+mscQYNJxkJ4MVv5fInvfceWTero7Q2urDhlQ==","signatures":[{"sig":"MEUCIQCRaVa4LQxDt6nhl+pxQMdSGacjXWXjwYRkXoBc9tJsFwIgSW3Htt6NmjQJaAYx5s+bCjLRBsgfJ2I2WTz51phhEBU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbf+ECRA9TVsSAnZWagAAELMP/jfL75/luermtAUHIW4s\nDXVP5Kt5SGemJajSVvV7v9KeBMiRXG2zCUp1eFH5HZHQOMiU3EUaL55dDggo\nVVBj03kK2TMmJ8axsbPYA2F7+PNHPo4pJe9LVK414xqa7ykSWAOWtwpelyQK\n2x03nqo5260XjLoMz3w5/vzfiGH7Nz7yRfqQVgtEtSY6JgozUT985uahp+/s\n2y/2NaktgMR1AfI/VZehTYhwiXn2iVlB5cUrT1t6yPL3G61tC6GxxJGfZ7Px\n/1we101hj1UVFuR9yjyTbSsbACryHkvchGKZvQlYhBRDvmweUDBLVD8xeN4F\nSGMeyEQqxL+RkDgz0Es7+cyUW1v58xM0peKIOvVEgNpRFjGxAyN3RU0pCA1z\noP6EBofEi7+NAA1bhL6KFb4fcNZ9ureFSeIuFVOFObPsyb+XZLBTN32HIJFj\nY9FqFhiOkwb9jQdxBJMNR9a9sazZ0e2uKRHKFOtHk+RVWYURQVwJwKx3BlqJ\nkAiHao/y6hoFZaBiuXzBWRiQc3THlIl6zYgbANV/ghig+P2DeOcSnOkOgbTO\nU4TIHX4QhUwrAHkIm0348AB7iVxNU9wrG+JY588RIBkaerKfAN57ml9z8mre\npwA8d/4We9Uzrren6L4xR4kh8SiYtKZn3YrWXtZ42UP2nhmBp/Xw2tWH/5cU\n42X+\r\n=RlnK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f3ec57093899a7f082bd51cae05b398c31619392","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.6bcb6cbd2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.6bcb6cbd2.0_1617821571571_0.07501383739790302","host":"s3://npm-registry-packages"}},"11.0.0-canary.c91e8d141.0":{"name":"@material/dom","version":"11.0.0-canary.c91e8d141.0","license":"MIT","_id":"@material/dom@11.0.0-canary.c91e8d141.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ae67a5987577190584613a99c9e7ea8b6aec9a0a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.c91e8d141.0.tgz","fileCount":29,"integrity":"sha512-tdOhXZLq36yScS08ddOW6uT/U1JUb3knYLC9Ty0pBLOiAFPj2ln46Es8+BVy0ehtSg7c9wCzYHoWj7Qs8vpbZQ==","signatures":[{"sig":"MEUCIQCRmRVcdL0y5JFf0zoFMThrVkVJb/HWhbL1C/q3uAu6jQIgH3jOgTnQ0akuNhc+oDitjwlUYA2J1bkqKrAlQ1jlQ5E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbgBvCRA9TVsSAnZWagAAEb4P/2RP4g17hPcnhKuIyfAw\nbtZjfANVFE1BIfBVB03tKblMlXzO1P4Dt80Y/GpWXJX74eb98Jnx8aFDadLQ\n+gnfiQbei3l9GqKChPksrZfvKG10E1pv/y2Jhjhvf3c6a1rwCBeX5LMU/5/6\n7ZUzup4IaSgrv0PmrLRDbGwubUFNb+0y09K6nLHQZws0ZOeO40bwKre/Te5z\nXl0p4D5eKN5tp93wjP/KROcl1xIR5he9IX0H544YE9Clt7nubgLixfhlcJjc\nCu+IQIXFjhUwERb1dIuo9MiIL/vq2cx4z02AaPGbZC+bTlSBh3ImTj4OP1yL\nBrDKvYSn2zlq/sc7XkX1UdZ1F2ecU0eFKwOBy203S8VbgVHNVATixIWj+x0N\nW69uMZdHyblgofAyJwxy7EWpr4/dKLtCfOdr/OVnnkNvxfNVZpmSibUwDMGx\nt4wm6DoDK33dh4gbNqYnKvO2lzItmxd8/wYh5l4dfMT+ZJQZg51OU4oYVZ8W\n0U1HYQBSf9PZOfoXUqU2M+JkxXE77+pTNxl1d1DCsR5A84jvSYlcuHF4OraJ\n1OsXSQ8JO8917U2kOqgGlf9Yz0j6+C2GXpvgSVoTSk5qhD+te8EhgVn+TL5K\nrocdlk8NNQUNStMVPObYIjVQJ6G+UKbHM+swn1Th2+9OG+pVO3XE0/7dxtCe\n7hqV\r\n=/7C2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b13009a2b12843e6eefaa0c3ae66fc519af7bb29","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.c91e8d141.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.c91e8d141.0_1617821807418_0.426315097873305","host":"s3://npm-registry-packages"}},"11.0.0-canary.f77c50860.0":{"name":"@material/dom","version":"11.0.0-canary.f77c50860.0","license":"MIT","_id":"@material/dom@11.0.0-canary.f77c50860.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8812ff62d8a723951442f20587721ce2c9e7658a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.f77c50860.0.tgz","fileCount":29,"integrity":"sha512-nt+7l/3FNUbUenSX/6ms/W+5M+5LpsZavN4x1MlKsIBDxM1VxJUb6UuJuVZzn0vO42/+FwxB5QgbYkOr6IORVg==","signatures":[{"sig":"MEUCIE3h5xAs4pxRuDKrnX9ot/3msWepHCh1gqwHxb7w15v+AiEAohl4ddAiVb13DHlSkKfs5e4YDKyIZgHSTwpEhS3phUM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbyKiCRA9TVsSAnZWagAAqCQQAI+aLgVo1y+NBzjRHjlt\nFpVG4Qh7RzO3oGfghx2zwivp5piOMqx6WtRNDPHNoRgxydZnJzpIvQAwlIyM\nqxq7WRoUt27hT2HYAEsx/ph3M3QIRIopKtmgYZ/Gsar1aYF0rPe4nyV0SGcv\ngX+iiBCc7ZGDKnhFe312uecD4WAT2hzCVUMofpSY+YUl/58yHcbFL/7DnSmB\n+oV4LGd4D56gB0j+1+ngv/Zwi1XygAW7mvK3yEr0YKkooJnB0vsMc8X26wHg\nSQRwrY8qWV1tME778obfA7SpX95QnAH8Q5dxJdngNZhK9oB/A3uk+A89I3uH\nTpDPa147rdw+fUUPrlN2mlhahuO09WMpVLBnzjw5e4Y5rHYWBSIetrQPh+EO\nOrVAYmNDd/mh0HJ/hUkr5lIZbDxevWLATeP/83d/9TRRTxG+7+BmaP5jfz27\n3NS/BJKb6jbVnOSTRSks4Y1KRI4d82GFlzU4fEvwCdZowgVYvbxW4/4is/Ev\nNWTdUjuw4uZM0Z/YZEjRm2/fBuWW9aogH5h4ZAPgWHQ9LJU9xL/k0GQnt11u\nJxAlII6DGVMANAi1Vi+uDiQkTZ1DcpG2/8XJ7t/jDIkGPfah3EYERxOWey6Y\nxwFtHolXJ2jwYu1YaBl2t8cI4qZImP/7Wyn3xHpu/pQ38MPfpJeA/XMqbLlx\n77WH\r\n=DFrV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d35db9665d4a8a4f385b134c9c1a23bda8668fa2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.f77c50860.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.f77c50860.0_1617896097861_0.585794513287291","host":"s3://npm-registry-packages"}},"11.0.0-canary.367d88bdb.0":{"name":"@material/dom","version":"11.0.0-canary.367d88bdb.0","license":"MIT","_id":"@material/dom@11.0.0-canary.367d88bdb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"568d0f1d9a7fe816176e4727016f96920e02eb58","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.367d88bdb.0.tgz","fileCount":29,"integrity":"sha512-QsivQLlYNz4Buf1j3lE2tZuoKiuGbzQcpyazwU3eSO6rTXfmLo9uaqM05MJ+rYyXe+Mm22XyvhdyUVc8mp79UQ==","signatures":[{"sig":"MEUCID2f1yqkjiMkpiVoCTXgKII2HOX+PqGU1tGggBQtBROJAiEA/JeeLc23YXsM+NVT6gWiXEA34BntEAIKlLYlT3d5658=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbzFSCRA9TVsSAnZWagAA1M4P/3ElVGC1EjpFRVs22pbQ\nNQdRwXLhOHtb+OgOyrmguLwA23ftC5sPStlcGiBRdRsqL4SZ1IJDIB2etWU7\n2v87N4j9YE45Bu/EKRSvWpO95Z9XNeb1wul9D+2Gqn6eAG9r7O2Em6s5TduA\nq6Li8YDhV+5ZtE8SO53/IjJ3q5xYU+a9+wP2GVYeMpJ038doMjDOB54bQF/S\nk4FxhCSEKZeRozUxjBdOis7LCMKizdEe1QinZh/bAHd0suiDvre2Ut7TTYDh\nprLZc9k1I8KFIeKH6W5WDbO8PDaaptI/IZF+Of+t5tlRP86VC527yScfKaGN\nNUmcQxFoRF/degTCddcHfQIXWaJZ4w+dAovNi+evFbmLRI5DPWCGPTyw01Vf\nilUpWCAQ5yt3FKhn7IvjTOX/IzYF6SfuOna5/KxZ4zKiEXkwlXi77tTEkRoI\n+JUrm8QtNd1ZrlLNyalnu4pWERbbZM+HUNUCiz+UNkhxr+/McKQNp1zBX6W1\nZ58Np08D+1tZUfaK07b1e4zI7oVe7k/yw4HUhjXuFCeSqhxFAQMYNG/mwpCW\nQ+sf7olvVzAtM9W7WwD/PiduNe3z2RFb/XNDm5Uu/ZoD+foZ24fs42rR60dd\n20XvCQevnqCSTUTd7wZ4S3gp3bX0UjnmpGohQiKBnoDjCRyyw1pPXldaicjr\ncJF/\r\n=+Ftx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ba9cee87fe351c7e76ccb32f2572bf3ca91e88d7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.367d88bdb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.367d88bdb.0_1617899858004_0.5389090889386814","host":"s3://npm-registry-packages"}},"11.0.0-canary.0ec437d3b.0":{"name":"@material/dom","version":"11.0.0-canary.0ec437d3b.0","license":"MIT","_id":"@material/dom@11.0.0-canary.0ec437d3b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"95380f9575debf95201e80744025cf78082a40dc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.0ec437d3b.0.tgz","fileCount":29,"integrity":"sha512-DW7Qeetuv7TcgfiSp6tmoMB77gkooZM4SL8mKSXc8/MOFsFxXwklt5gpFuQG51VTl9d/5pdPXZoKTHeZag3pdA==","signatures":[{"sig":"MEYCIQDhXNexU03Mof0Rt4KB2SO1kQpFlYZOqsIUOT8UuV2uWgIhAOZjQPWHG8TPCA1A1y4DamKG6oebgQqUQX77A2VhvoRV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgb1rDCRA9TVsSAnZWagAAZw8P/jEEEhQlPruRYRno32gN\n2IcMMWTFjejLMOYo2bfLeFfSpm6LY1cGA1Om4DPOqMDV3x2cPn+C/cP3zm5e\n++6P8k4GZ3TqJGFzpUvXDS+rhZ05TiB0hiBJiRj6eUSPD07Cw+Y18dmc4hH+\ne9e3Jl13SVuuu4MBgf+2mwxDfCiigcs/uco/whjKGj5QHTvtYOHWDpaXceeO\nao9qQbr40H8Zai+2fbZPdKZgwWNRShGlJtkT7jMW55bIFSJNlGHUuxbFiRHT\nS26LQ12z+tdKw5Fa3enBvhgy4s0TqBogAGmFoK4BI/sUZSiDDWbkwXMBWyrf\nMZZWAm0+o1T664bpHHLNIUj4I0f+IOl2sLqSii+EAmTvanMFUXG3g8Rg4JEs\ndGUaAGXjJxpb12XnlhaFH5nQrUT/XomMyaFI13lV/n3gFp3wOF2oq69Azcys\n5BwOo+TLav/RMfLzAwDOsXohUy6Upd8j9jz4oADyw+dDWbhyO3h09nf8iau4\n0oTXpWGkXt3skBAZXt+KZRlU1hsOwQ8wFI6sP+DGev72r7P33o175N6a0W+k\neQupZlWcUroJbd4NaACoKRuKSt2PX646/eL87Hhky3QdJjBV4AOeRW98sEZT\nzRlGBmzPTRH42NPlx+ev5qtiv7vrWquG76WEG/38h3YK9JUyHxx6LIe/m7pV\n68kh\r\n=pCds\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"50ed2429a570432fef9747a954d7c31d2dd11f0a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.0ec437d3b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.0ec437d3b.0_1617910466938_0.17042431056323837","host":"s3://npm-registry-packages"}},"11.0.0-canary.b2fa996a1.0":{"name":"@material/dom","version":"11.0.0-canary.b2fa996a1.0","license":"MIT","_id":"@material/dom@11.0.0-canary.b2fa996a1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8093bc4d0afc3c1a20c9378a659e0e89c6ee0e42","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.b2fa996a1.0.tgz","fileCount":29,"integrity":"sha512-uh0QAjHNG4DGC7NoaUu6aP83DImNJzp2BK9ec3zaWd361b5gb4TXpCE3loj2PzExl8gBB24OCPEZPaN91cu4gw==","signatures":[{"sig":"MEUCIQDQMI4bV+qGG7Vypku3EaNOkVIxV575jWKDeUbu1m0hSAIgX2k4468kfCMjrLKegde+ZXMGti2H+YeQUEHlp0WP+G4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcG5KCRA9TVsSAnZWagAAOm8P/3M83BYSKSnC+c4HLHqs\nrbyOUuWJrkvFZ43rhVK0xtPSglk/zdLSQ2ae5/EQY+Mt+nA8aY1hC/Ia0KAa\nsSC+6OHXxk+YlIPgYBf04ckxfD0NptDc/6tQko7eIDHz6Md3U6SLpE4yA0N1\nIZSgbhGN25iiPU2p12hLRtYBE3+ODGqGQG/aaRn9qvjKOTCvgINnitlLogIb\nrEr044/hgdOOhWCmL2fC1dcFXV/MOh7nZgW5Lxzg11RZTLxiXTSR95EwBdG4\ncIcpY9PBbbzkaVSibibk0GXriVFTrVnJY10BW+zDAxUnxjg7MazjZKJyjI26\nr6Bb5c14ymgCsT01nkEShvUS1R3rUvPcBeMavXcUAvs/t72rjYgcaAeKdVZ8\nT0rgx5g6cUhW+5QtIoXRAoj2sGSnzOO8I5tMttPIqESUgj1bo84Gk6WBtLE3\naC3FWDkOlKExG2NGBETEfNfF+LN5M4RqqmIV79XGT0IJlW+57+6XIV/51G+t\nKLTFt78SbZuk2e2wM+ybzWdlCL+Bzkorx2f2zmuce6B0pf6QtPjL0SS9QHj8\nO63hVRAvaRsN8cNB5pE8vstDT+q46vIacdJddNiQQerZhHVkYGrxPGJ45A6e\n5GPfQC/dkgvhBKgcoNBpYC1/8rrTgOXFzATPXmVgySy7OTxgUCEhfGDInypT\nOXV7\r\n=83sg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0b4eb5b2d30d6d9a7b20f57164a2beba3c20d65e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.b2fa996a1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.b2fa996a1.0_1617981001789_0.6989418098848452","host":"s3://npm-registry-packages"}},"11.0.0-canary.24255c408.0":{"name":"@material/dom","version":"11.0.0-canary.24255c408.0","license":"MIT","_id":"@material/dom@11.0.0-canary.24255c408.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4c96fb3c7042bd82590607f4e21c820b481f4314","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.24255c408.0.tgz","fileCount":29,"integrity":"sha512-i2z4EnC7ap7ooVsJ1ZkBdi52eAvzHDSXea8zsg5cCS4hdZ1m4FAS61mcPEkr5A9AiGH7qpS+XJLHz6FQ/dxrCA==","signatures":[{"sig":"MEUCIQCmrZRjFa2HZCVxRkFelZo4SOjmO9TL9bZmFXNkroK3zwIgOVre4LokdhLDbLdAoR5ky2Crs3KhVXzgu5br9n2ekYQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcLTkCRA9TVsSAnZWagAAJTYP/i9Y44434bMF5DgntDc1\n42I6ED+qRf3gp3SxxhDLEomoJ4ESLdR6YBLJT8rmjnQG613fZcNlVG9FzV2R\naOtI8nIkqfjEF9Wv+yMMr/bd1FanL5j5kJ+VnSwGnhr3gfm3kgY4lvYlQs6B\n9XR7nbHST/Pty9SCBLr65CmU3uZBQjUK902SBPmjlqBW0pNwQApjO84uUzVI\nvKlLE1On+dONHGNPY/v9JbrxmkeCut3xXGX7RWk3OqfhD+NRV5xi8rQtIL5p\nPKSIEJPU2IKi8MxWMH0Ve+qrXpKjTYjThLtA2473qD2QGmaUO3zWL2fWB0q2\nwerPmlErd3gxNCTaAv8zAPKzB30ZYUoL6lzcQDbxijFlpHZ9+20xkZr7HqqN\nzFcyNJDZxAhBoh015yOS0dufHRf7qNY+1HUn4zSD5jEM7CyKH+l6Kqh8b/jR\nYpIgV+c41bQafE2xtBHmg4llwzAXoOicNmf2y8R6QJGl+abP9VJWsCWr7kwo\nOfts7Iru7FZETnGCKuBXOAVWfH8WczbWQJu7PbV8wSgFPXDFXS+qYYS4BIqE\nBzLYNIksquFGdZ4hNBoSgGNcSM/jCBuZnCpfhKxzdRDEKxkbqqL1uXxFVo7S\nP0B1mSt+xaJ1aqfygSNG4P2dKE9rGE+FExmHkD6iwsNnKoRg0EauNiIrHtGC\nWFEM\r\n=isCL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5cc224c5482fd736af03872db458f031901bb693","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.24255c408.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.24255c408.0_1617999073786_0.9677130322265151","host":"s3://npm-registry-packages"}},"11.0.0-canary.7d6a4bb72.0":{"name":"@material/dom","version":"11.0.0-canary.7d6a4bb72.0","license":"MIT","_id":"@material/dom@11.0.0-canary.7d6a4bb72.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ad3a6373784c9df5de0d6e73a484161e22606315","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.7d6a4bb72.0.tgz","fileCount":29,"integrity":"sha512-MlwndX5m/SHVaClJZvKJclprDbkzC1rO9kSHKZwtPm7E8vmdx0S23+sN5RB2xaSEE28sq2wI8U1dZVrUrcsrWw==","signatures":[{"sig":"MEYCIQCGqHiR4Jcc4Xih2i1dFRO8agg1y+RgY0AsejAwlNYtZAIhAOcPEVnLto4EklEpsuG7ibzWdDhEww1I5U/GjyVEHiTu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcNq5CRA9TVsSAnZWagAABLoQAJ/akEUF0mwMEVDMdy/J\n5nIk0qSiiT7AQVU6rRTYfKiuB14xw8ShvPGyX/DDAey+F1pW7DyilWU32FB4\njsCb4qpOQCkFBQlyg43Q+Jbkz78Zb3U/rDmZBEmST6s/JOjFzOoGq41ashMI\nIvXHAHr42xCndFF7Xng05G9seyIhkV9HzjBiZRC7csPEvvus8UKwiPtwZ92y\nqZRJFdN7oh1WquB5Ns4o1cyLKjadKaUmPPiNjKV35Jn9IBw9XotkA82m4MMy\nC0PHa8sHKpdaYlmKr+ZBpap/PoNi39zAs6Ha8Mrm1T5ln1cQJUGXhUcSiOWg\nnV8NN7Sel9yeEJAZDQHxiFs3DkjUI+IQWLDrXzAVb/LD/EBTSRriXkbvsz2c\niZqbBUhf3M+N4XtegqtF3fnFCC72woRx0YVYZ3QCXe/gPRNAI9jH3wDQKb6M\na/YFSUGy/wfk+pTANd9/NTE7xuJxafDVhnyIcnsI6xSHvn7VhvbPZQBXqqK8\nggiqkjCMtJLPBKVoZh5sZRFAOJu6MXQoBP5X0CQujhMpDdj4C2XMseO+e+Kt\nXX7vzLDU5XQUNVQMbkMOGpv7uwDOjK7MbIgdXcEda0ChaY8obE4PFZSqDSXh\nN7bEueOtBBVh96WoShRHF62tGmU/l+K5cG3ZJpIacDwM3rjkdbpFDz9rx06V\ndWWY\r\n=GBp/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1e1f0ea898fe101863062b7a760600cfb1b095e5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.7d6a4bb72.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.7d6a4bb72.0_1618008760988_0.028983806666237344","host":"s3://npm-registry-packages"}},"11.0.0-canary.352b295c1.0":{"name":"@material/dom","version":"11.0.0-canary.352b295c1.0","license":"MIT","_id":"@material/dom@11.0.0-canary.352b295c1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a53308b331017e3a65e390d82148f044592c9bcd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.352b295c1.0.tgz","fileCount":29,"integrity":"sha512-/WnKkDjjiXkASM0K0idp4MuMNfUl+axYkiDMHsDz/kUb7SfaONvgwEfK0wyZDi9qhL976AXdWbiAmvVMrMQB6w==","signatures":[{"sig":"MEUCIBGIBWgzHu0ob70BhGadYHDzcUQQGWLeooWgeVZjxk5FAiEAgDBGSKxxxfw1TMpTFYRENBqCjKl7a7nLN1h425mpRT8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdI4NCRA9TVsSAnZWagAA1NsP/1SuyEUP2LpdsmyxoIPs\n701BT2jbcxdHDC/A8b6BMuSLwk98JgqQcwoz25XQ8BJ6dv6m8FwvqP9dHSH2\n+PNlVuz2oPULGlpDy8+akQOWYpwdDnpgZ4YHF7zfZjTd5ltKA6F0S9+dyS43\nfkYqyYypL4uBgmqSQSn2q8U25m6vlv2UWKnUwwOpiG+vZ3Rs1e24VBn1pDcT\na+os5PQYg9jEmeC8ynBgbYpQnmDPOnbmV11XBfZYzEr9VYoQahDh7xiJC2om\ne+Dv3RophgiTYXPECGEbHmzVSYULgT/rPh9CrySMvgP/JIoxRUv++yH9YVKV\n720qe3aR/aEYHLxWob3wWfwnKJbQEh4LbvA0pOoQ2f4Albva7Tu5CYxqeVRY\nWXW8hWLKYiNcliuG3ayRjmu3jadTDivH7AIT5z+nZrvxOBf+SMa0usneO6KS\nFHVk7ZGVkrIlL0p1hWyK1Smb32MhAab3LWZU+6U36eL2MPaJ5o4sEOM8VM7c\nzZ4EFlznx1m5tPosA2gpdy+M14DZ8znOPm+Dkk1T10AH6qsZITsOGZUHEjsu\ndS/SKyWk+WgiGfOX6kfeQ4UD3QspZVH484u6h6Qp3BV+I5wm+uGsY+Q5LTmL\nMkhRkWjgLM5eD8xmtOAtByhohelPFCxhPDNF7Fqm8RDxT1F+hqI36qV7PUfB\n6QZD\r\n=74m4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"472a00ecb08e85ff1b602e3bec15d38f2a028f69","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.352b295c1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.352b295c1.0_1618251277163_0.4710276980079433","host":"s3://npm-registry-packages"}},"11.0.0-canary.ab99b8064.0":{"name":"@material/dom","version":"11.0.0-canary.ab99b8064.0","license":"MIT","_id":"@material/dom@11.0.0-canary.ab99b8064.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d84faa67b7339512967d370897c30027fa0c43f2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.ab99b8064.0.tgz","fileCount":29,"integrity":"sha512-vRGbYLtULEl/JUq9VSqSAIedHhjtRHZi5x7GuXs9oaQASwsMlLJgKr/jl5He7p2szZHPcNYvGNYQk4dr1tIohA==","signatures":[{"sig":"MEQCIHQ7MouD16v2nTEYkQpUsDhNRw3/JuAyu2T8kpxT/DeAAiALTLdq4sDyE0mwvTyHhBChQ2RKT5Y1p+3UfwLh7mhXDg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgda3RCRA9TVsSAnZWagAAJ6cQAKEvVGYiBT9+V77W/qHX\nYj1nH54oau2bccl56ijjJzAtIAgUYxwE8/BJrHFzQUgjlXFFr7+H2xkWkL3U\nfhDP/J89My2NdQLm2ueMALRWhgQ8/wfl1NfYi5PStPhgIlciE6R1OP3IInbs\nfLnmQeIDrdXab3Fw1Yzlq+xG4dlOp0zfgHnrw/HMPkx2sDdkjWcP/rhiBGPF\nYAv0roxE5Tk8Gd8866q0HhtMKhEfbV1SKv+DcBB+SaY3mxCb4YjdmmZ6YBZc\naUs2k23trgcqK9/Hv6PL7AYmMOmKYTJX+8JdqvgZO6e5G41+USHx8g6Eg3AU\nSdTIce3oOfjZd/2Z8A38Izm4DxXayytjS9tdKv89e3yJ/qp+HNEu75drbys3\n9uAZhQ1FLa/RK4L0PJe8OM5pYe++H21otZ5/xvH40jZ9GDI4+Bmsclc97faY\na0grXUb/52C2pvOrdGhcsceP4T6NeBn+pBfdsQKVxBilWmt4yEx0Diu6/Cui\n9XbW4srIJ5GJDTpnqq93VfMpq1c8wL0HrewfBUtZMm6O0PeX9V1l7rO185Ts\nO8AjW/24Hlx9JL4CHSGIwgWah1NXgty8Hq2c6rxlwqqcyUG4xDRFZrFnPzzt\nUXRIZcwUFBYmzaXcQwZ77loX1soeN4e7ywNeDr6VA/UFOncN0lFZI2FogMrH\nu7vt\r\n=BsNt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7a67c09690e367ad8ebdba2d551f6432c20ccccd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.ab99b8064.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.ab99b8064.0_1618324944971_0.9728780742038727","host":"s3://npm-registry-packages"}},"11.0.0-canary.8f0a11e32.0":{"name":"@material/dom","version":"11.0.0-canary.8f0a11e32.0","license":"MIT","_id":"@material/dom@11.0.0-canary.8f0a11e32.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6f2b00a0bb7d6fd299aaf2d63ec1e6083ad30e1e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.8f0a11e32.0.tgz","fileCount":29,"integrity":"sha512-CBPWPzBRw26i473A65m7sKJ4yN2eCMBAuFbd7qLZX4QLrEk/KIS8jJmp4poZlwvF9xPJ/AB3U0nb82dcOad10Q==","signatures":[{"sig":"MEUCID8ywMEUttuM+EuCUzdntU6ox7A0QMFRsDAJpDXQQmKvAiEAn7xW9ZLG8okCwP3A7mjqePESiz600QX72GLIr8daqKM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgd0o/CRA9TVsSAnZWagAAVkQP/1AplgYtiJSpr8L7bnCU\nu50lHHXbPTDe2R8v4hAx8KzBwW9jTY1pL+ZKKXTaqJPdAzIIdFSWKcuzn1jq\nUitBgLDow692Pw6Gk3jgf8AiM4n+GXYX16q+pxKpnOYh5JJvHhiHzlsLQHrS\nAVZM1OUwq8vHUCJPRtAxDbxPr6xnzCJQhFJBlU2MKlLewYwVyWSUVNotjcXX\nBrw70Ys7/VJ4aMVDhomFOZ342SUtYbw0TCRqF5Aik/oDopFn390vvXd4Pd7v\n3yL2nZQa69YdJw93ntIOSbBXIk/gnjT6H+nSyqbmV6BEMQjNE0hKnrNFvIbQ\nCJfk+nXHG2nnnDebZ3D2oGMM5Paf28fMh+EpLpiVg189zb5boeAHY432b15a\ndxyRkUNeb08QAmOqYwrPAx3dn8tDD99DFEzxshPYikXmd2vt3FjRX+U1RDNW\nmQKJ2XNiggKN60SGx3ioc7Np38Rekq4QkmBuKTBazyr3a29UZ6glREU1BB/q\n+jgzYRydKdpWkGXsU1NgkB+HK7itaq51BziweC//xBNtavnW7GFCvoBTUEn3\nFci+dR7/vnFPC9Xqk1FeqskXAbzq3syLuMgq9d+8VUcS+j38NbRyjVuc61lM\nrvKcmaDTpk0jZ3amd3kBrMSlZXI2CPDuwm6305ZbboGmbIGre2Rsd3JtMk02\nnKXt\r\n=UhPk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f09b2c0c350e2f684e84766c95eed5c92b5afb0f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.8f0a11e32.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.8f0a11e32.0_1618430526887_0.7831131236665194","host":"s3://npm-registry-packages"}},"11.0.0-canary.f5c6db8fc.0":{"name":"@material/dom","version":"11.0.0-canary.f5c6db8fc.0","license":"MIT","_id":"@material/dom@11.0.0-canary.f5c6db8fc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c535beb88718d3998b50bc4728b570dd17193d93","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.f5c6db8fc.0.tgz","fileCount":29,"integrity":"sha512-/oNtbIicscNYGYRC4q+Ze31PW5pCgdwUibd+QQQryhum5z/EPZA1+wKGEaJzW+IIlas8aKGrXRfCJYWX39QF6w==","signatures":[{"sig":"MEUCIQDixNSAhkl0RBNy5FZ/LYG0H0yVE7Gv0iVMrOl1+aBnNwIgCBpL7B76abm5bbf2mvcwWwY6brgs7aWS4zp7zkYLXrE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeH/ZCRA9TVsSAnZWagAAypsP/Rlm16ETyR2ORVtnYp8l\nS6ceFLtgiLGIQz/SJGzBM70rLxTl/XdAC710gnebHgn/H1gU915C60ZuE0CN\nOp7T06CUFiNO2vJshoDYnV6n+mBWSVlIB5jC/oytSojrx3PiwqC5TIham1bC\n4xFpi3lv+jjuSfazb+l7YLsN9m0OzcH8oUK8Wqp399urhha4tSUWEC2T+pbV\nTDRB9sfrymhz0m8zO5tGazlqZq6ZCkofcvGFeCX+NiPz45Vb8kQA4cUwzlaE\nmomcmS3AcC2w1YReMyPWz2J9gwwGukwTNVgPm+HbxscYCm4dh11w9jObhnOr\nEfcXsjgxWcvEXncre661O5MOpwAnCCX5aaUj4mIsun2F6HcIxqLlT2mk1ltS\nsxb7c8TMIHa26baJ0tKDuYS698rhTLrlLzPzkkQ9JsFV2XtNroH3t/m1/iIB\n2D4Z2QRBwT3Et4dabYh6pXLExNZ0S83Titfla/crs2MHN+mVA4AicWZk6Z/m\n78g/150SESIOmz3T1fu9MsnNuJmFMkMFAYzlG1CZbuiQbbestP4qRSFpdLGt\nkRlcYd+MVlf29QJbctxUS0QZqIFdB7G5szXf8CpYsLonPd/mUVlfZt9x/KXm\n4HYhKYks+oVQP6duLbErxrTHhiHSwz1wBw7mK0i28WyCRDkeFjcNPXM18Al+\n8wau\r\n=CmLo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"eddcbd64f4309f4bf5faecb13428405a28774f15","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.f5c6db8fc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.f5c6db8fc.0_1618509784638_0.03419822697437325","host":"s3://npm-registry-packages"}},"11.0.0-canary.3793a3143.0":{"name":"@material/dom","version":"11.0.0-canary.3793a3143.0","license":"MIT","_id":"@material/dom@11.0.0-canary.3793a3143.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7bf1f81c897ce9cba1c36e52f2d7b2455629b094","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.3793a3143.0.tgz","fileCount":29,"integrity":"sha512-ozuO6VV0JhtMEH57sCSzSfIGsHUmSQ7tkYOPqEGwL/12AI6EO8CNgKhY4fk5dKvmyVWQosKiYr6Ig7XzUK9yGw==","signatures":[{"sig":"MEUCIQDC8MYRINeS+KzngD4KEOYM8zpz9Bsn5cxjW4UOOuHhiwIgWpntMoSKOxfjB11iovoLf2zPVpUkJJ30+cln7G6l3KM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeIY3CRA9TVsSAnZWagAA974P/1CubM/Pdp2RIk18OaLr\nLGF21A9e1byGkgqbiuVp1FZeFcIvS2nNINSKuffUqFRGgGUY5Jgul7mvDUOh\n44OxoN+b3/zH9eNvHQNTZXg6+q93H/ZfOQSny9tK10bDA0MVh+JPYGdgv8QU\nqEP8CTnBs3ND/od/dFGhsXCCs3YgTlcU2n32iRmtjmYpA+SyKskG51c25I2w\nvwcbSpu0l8eztaeM22yfO3DXiTfxSNrd3gefsQdZeWVMDgYjOO0PdoMeIvGl\noVkoPEHy5lBnLtb5q7n/EFB3mY4dyMjZnCxbWFowhBL4KVcEqY3P++qV5frP\n+4w1Xgp24+rCbGAugObnyOppBNyyqGo4hIeWIjKdogdoze44zKISmXKi2Q4B\nJ7o63ORMCtD0I2yjlQSyyf9OOBaaiHora5h2zXXR7V6xHy+SoLnTKKKURveU\nrihAuFyj2avzynm3kpV6Z1laJ/eVpj8AE+egzT54TtXRvJWAlRJAZWBwQHBI\ni+yl9FXdq26kt8K+NPScJg/X1d9MgRCOEwWdVRkL46cv8xRxnwFsJHoDqCQA\nM2LIDE/NT4BCcK2IzZJbsECgQ/c+kMByTEKU8pWfAYxZOkxqUo7/n1+lAiKe\nsIIgrkw9bgTe/t+3m9IchUv6XBsRFRiedAye+44e0fwcDLzKTX69b27p30fp\ndMd5\r\n=HGI+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3cfbed34975d8f2990425af21414290a96e2240b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.3793a3143.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.3793a3143.0_1618511414795_0.19304917721587644","host":"s3://npm-registry-packages"}},"11.0.0-canary.bc104bae7.0":{"name":"@material/dom","version":"11.0.0-canary.bc104bae7.0","license":"MIT","_id":"@material/dom@11.0.0-canary.bc104bae7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ba8813e08ccc789821e0b620bc5a935f83f09d61","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0-canary.bc104bae7.0.tgz","fileCount":29,"integrity":"sha512-iJfpQFbyFCnmyFfFSi5wpO8vLzs+XDxKJY5Nm0xQqFCbdtXcOnP/HdpIlzcBoU9rpzCdsss3zDfPPw1bMiOPjg==","signatures":[{"sig":"MEUCIQDOBAjR085tXg4zQcP3hr8yv7Eyr4/SBQIZ1B+CEoybRQIgPl+sVTqoQTqgFOlKW+U79V8bZen3n1GK58U425Uvo8w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeJfLCRA9TVsSAnZWagAAkQoP/RoFMpGiD5ZTZCEBaAx0\n7mLfJ9IP/k2wI2LFy28cEltzit9KRCC51B0KmLpJTL4MvA3FqBxIxxHCKu8x\nCOm6ZH4+GOjBgBldGWf1uxB8/HS6jOThrHTdwYg0xCimxJfJLWglZF/NwWFT\n8iLrh8/c3JVE5XYaprNRch2vO67jt7QFzmaKxAfUBIijXgtXCuIkfzhiGIMv\neL91TLIgFpIftpEM/L+3ipQm4eSKSOlShCHVTj5CVWM4IC5ROEYAn3GxG42E\n3AAyMrXQX7h8ghyuTtmK45DMfvK+9WVm/pQzgXFjHGT+o9gelOGU1AhSvGQj\nN8V2ZmZl2ZEdq9DTXjbYT+rDO2XAKUsiOo56NBhQcYhDRo10ESOHLmnV2S5j\n+QoFHc/wqdAhafQy68grfMjcn8b1M2x9l+eq/ebGu+cpp8xNwD8JKYc4EgL9\nVNtfxMvTABnN4jFdGO4tZH3DQE2CUW0SsOMUkzHT8cren5k2E/sqbzYbR29T\nKIdt1I5TwVyq5wNd+odarBL2kO/xb0Fb/KnZmCiR0vMKZIzYILI/KnwxasKS\neEs6heUK7eWZz4hXvWuFSr+0PeHWM+cTAR1Tom7izG7BYX3lbluV4hHIBfgQ\naeAatL4GTL5wTG63HgGCRwI//eufPhGRp70cCiopoi23aPoWJoCQ4yNmA2R6\nPO6s\r\n=GNbs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fefd0309d7bea91a430a20913f05f501364f2ece","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"11.0.0-canary.bc104bae7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0-canary.bc104bae7.0_1618515915091_0.18355254581546587","host":"s3://npm-registry-packages"}},"12.0.0-canary.3f342c3f4.0":{"name":"@material/dom","version":"12.0.0-canary.3f342c3f4.0","license":"MIT","_id":"@material/dom@12.0.0-canary.3f342c3f4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4cbf78a34429f0f689b68d29ee39857a2899420c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.3f342c3f4.0.tgz","fileCount":29,"integrity":"sha512-xhaw5AGp1mKY2K7VI28idRy2+DEaM1trDvJ4aMxk4Im5o5h235Ez7AsVZMJ44w7Nej/BQEBOnJ94ww0//9VRmw==","signatures":[{"sig":"MEQCIHW8Jz2gw4EKE73dyLKpHOAuh/n/OyWEnNlQk6AUy3nRAiBBH4GAkQ1zZc/e4ukHPluPph8jVow3Iew2K6Hvr7tvXQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeMPhCRA9TVsSAnZWagAAN5wQAI0KdZ93PeK2x3TsD2vD\nChIpOMqNexkpUukjELby8m3DyI4ba7y9MeiR4CRh10OlzOKfQls3TR1BPhw3\na7OnvPmIhrmIuV7/EjI3xFz5onUn01bdFefSHY1GmI/vtuIBwFmVu5PwBFqP\nx7OQ4PD+Q+u4wB55cozJGqMg+NY46ysu4LBotunNfy/cUW6XYJJi0LA7GRY4\nHpCQd8534XLjxyXDk39OOljAr/WjBElDvx77P286+oyE53DYTMRyKnM7DB7U\nhJWAkHLyQRTgnlb2sCo/fYhIeX7tWTZQedceK/Azq1bw3mNBYP/S2iUvX+tT\nvUDzKqlJXMqcJ9aOc6ENkPUCQkgrPl6IYF7T6h8TETTIuHjV7blJl5S28cbI\naOrArtgVimVL/eELjt0ZGoh8dWstbQGB0vpULI/iw5fzqs7rjeT1uo43keX7\nm5VwkdR30Y/o22FQQgVXyG/sESIoov4DxBKfNOeaFIc7N4YUlcjmBEnIV/j5\nwlAS3eNVSreVQPCW0CELusRIniE9JmXi6qs1F2UJc2DAb8LD/FyH5DG+G+/C\nETqgdS3W/oh5nOjklTeHBVDLFmlwGzOU4suPgAtTp24j7hlfaJQ3Is2pAdKb\nn5bU9o6wtPUmHdkc53YMKl+1At8xEc4nm7T+pZiZGZg7Dx6HEI8l8/us1vei\nqGxi\r\n=WqCi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d82c002d3f314f99c3413389c77960016a48bfa7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.3f342c3f4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.3f342c3f4.0_1618527200989_0.0681803543514965","host":"s3://npm-registry-packages"}},"11.0.0":{"name":"@material/dom","version":"11.0.0","license":"MIT","_id":"@material/dom@11.0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ea74b0719b9b51515c085ddc30708b5aefdb31da","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-11.0.0.tgz","fileCount":28,"integrity":"sha512-LZdg6VmYnMXc/Ct/GdQ22o4m3UgjhZYQIrwu9Iebqchx0Vd2OTmcFN5nArHSCSgUEhpjpPlkbZmjOpeOAwiKZg==","signatures":[{"sig":"MEUCIA+IT1GeDEGZjj/0fti/kYu7YvHqvClAewi9qaK197heAiEAwaeugTWWIUXZ6fK7Nw8tKx/TE90aTcsnyW+FvkdyKOs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115580,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeMTXCRA9TVsSAnZWagAAhzMQAIFHDVWYxv2VRaR/KQDi\nFTxKk00gpu9I5KGs7f6fBrZGNJyYcnbErMcrUJ0oET2Qb4p0c5Zt5Lw85zXm\nNZA024FmegQ/aANGX2QR5XUPUjGpKcmIBRligIDr+fuvV42UKhWdeoKkq4OP\nNfY+i15Hxs2z9dSWeurHrQ/tOAzHlqSolyU+tYkPOOa34xwIy/vvD00n7U83\n+I8K3fxkmy17ENJ+nXMc7jkkjq35JQHk14ejBB+Jd6/NpiSHbToABNfDVm/9\nDEu2Sp8CJ0VJ6TSARcsfbtdw0lbcmS/rrnRJiufw6BRX2hKzvxHK8xPe0T8p\n0EnrObCwuNz//qqiUd6q6a1YDvtvg2mMFoRy/aPk697TUF4xW3vgUVzilby5\nIAoJAcnLZgl3i1U6tsSqPEOSVgy+1nsJK9Wv6gXtBj6XNuGSztoxYMk1bvR1\nXSaMjBLViEdPbSLGse8auFoM9amPVMth+4Gv1Fn9IZZfHgeJSEOrG0F/7vWv\nYiLPap3v+B/lDwmVmq5mm6/ja2EFAhMGZyz3S6CDEreptZwMXK4tDJFsv+aS\nPpuO0d+Ib6et9ZbvVTJE4cVj9tMCO9ETwpmzxjaww8V/DTVvg0rv0UIDPqXA\nXe6f0lW7idRaDFKk77gIh9TwhfcO3DFZlhdxNmlrhJP5o6AFnkODuTc92+CH\nZl9a\r\n=Te8u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","gitHead":"3f342c3f4715fd3587f327ce4ea6b5dd314c5c55","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_11.0.0_1618527446537_0.7719573944158697","host":"s3://npm-registry-packages"}},"12.0.0-canary.2ebfc5374.0":{"name":"@material/dom","version":"12.0.0-canary.2ebfc5374.0","license":"MIT","_id":"@material/dom@12.0.0-canary.2ebfc5374.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3dd8d513dc83426028c3de19bf878e646587fb24","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.2ebfc5374.0.tgz","fileCount":29,"integrity":"sha512-zI1axS0xpw+0o+wtgCJCMF1+KZ4nvRIj+PRSAokoWLoWM86Cgcbwm/flSCQ0rf7Hi8erV4mavS7bBSyjRK84SQ==","signatures":[{"sig":"MEUCIQDBfOIeDjKCyaKpv3Tm8/IDmYXriXZRxQ92uLGqO95t6QIgP/7ujG4zuyZYJljtrbP0lqVBUTEKRr6fEsOkHAexOyA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgefcUCRA9TVsSAnZWagAAGhgP/22WsDoVcVUvw51EVX5B\ngzHkbRfPodvLIoFX57ISMtlWZ9ZmWeNx+Tqqrbmz44IZAABIdWvuvFXZICdb\nzFju9G57DoO5E8/hUA2czemM9FjkQ4QFvnpWTJ5pnRRVVOQNG+0qayagVVHt\nWobCmV7+KqatzAde1bD/SKA+z/f0nRbh71P6xweP3vu+cjjOJ5dEjBcY0KFl\nPVBseCDCvCeIzjSNZ+1hmHS3Vh70muJae92z3nUtoNzHuMTRirRBh8Lm2lDX\nIj67Dg0F4It6HJEb0h5p1WbOHuQyXHC2ur6676X5vo9+JzMF/shgpMHuQPSN\nKyMHe09aVeWReMfY9QK96ojKVA+dK0sdhdHOJASQTB+HM2kFsndzXA0Mb8Os\n49NGPOzqSNFLNAbCp5cqO70P7OhnXjbMGHyWuAtlPO+SLr6J8wqoa1iCGHkU\nC1iSmyhTz+FKcIo/dlKMZ6jXRtnCZOk180oMZ2bQJ/G3QT3Nx6X5xJvsxGxH\n1qwBXaUObCYZJJx6XfgiXCdJ3NQ+LVAWeo9jnnr1kNyu2XHeuzljdInKLI7o\nhooCcmOUJ0akETsadmoNhlYZ9pmgBpk9NkQv3K+3sxQHGosWEweirh8deOXu\nF7Ipnj/p4hrgCYabKYTcuA2sYfnpt2NEgY1gLM63jjDAZvozsG2b2wJ9XCed\n3nmY\r\n=4tYf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"603bba9493212a7e1b6350d2f12e7488ae1d9594","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.2ebfc5374.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.2ebfc5374.0_1618605844382_0.9162687710989521","host":"s3://npm-registry-packages"}},"12.0.0-canary.5631828e1.0":{"name":"@material/dom","version":"12.0.0-canary.5631828e1.0","license":"MIT","_id":"@material/dom@12.0.0-canary.5631828e1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"efe0093e9d9e6a070bb0234aaf595e6a12d49a1d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.5631828e1.0.tgz","fileCount":29,"integrity":"sha512-rvvg0HMIHASEF4pSMrNdo9mSh7hoLCY9RucdiwywRyn8bjyahNtlJ4YvfZs1jdszMEoF2qeGfa2VWYqlffNy+w==","signatures":[{"sig":"MEUCIQCGhAIeb2vePw018g9anWY6khXpzkRDhf3+nKQsySdW2gIgR9TqleF2FNGgO0CFH4QlX6C2KAUSDORBzuiBuwIaAjc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgepI3CRA9TVsSAnZWagAAt7sP/33/2obwYXg5y64FXwao\niaNAs30vZ0H5lzSGXHfPw418xKjWVL/I0uh1CSLXIz03hz9rYyB3k21L5KHN\n+8Qcef0EAlEuwMqgA/M5o8YUVh9Px0CV5Xu8xQoZntVQiMQc+rnxKHAL3Bx1\nv4SnOg0QHIfh2PBpOku21dQGmI6qcP11nv+kQB5X8Og11/UfBtv71PDgDpbA\nGRDtb1iEsvVAhmDwi7j8w3bxV7ruGHs1XN7iEkszuPejMxhllZtKXBhTY91+\nLm/pE8+LYpujurJeoXUJER7Nq6d19j2J6IW+4GDA+S2FqoflrI5QjKzNWIq1\nMIquClc9kAEyBgDaOAqg7/IzbR0Lk97Rw38d817oG+k1eXwnskm2o5FuXX8o\noLyo38hydeF1Va1YT9QpC+qZMeQ2HjnNj8Fs5ZzUbYs2afbWsWmXp10906vh\nOjA+cl9GHFd2xJx3PAW1PYG3M2SQKe9KLpKy3Vn3T4Kdo6cFSJ9tYTx62tKz\nuCdOFieudpgUJSz96M5c8IGxrY7bzCWfCB/ZyRH1ix3uomGnQoI7ujW+OnKn\n0OJnLKQl1w0Sd/at99wEQxQVzlHXcx5Y0zq0wLwXD2mJrJMsfeeEwGBNrmRf\nPxQldZRSgv3A9gxLx0tkhNfBPgI3DM3Xsd0HthE6yocFgA5/duqYroBtEYgI\nTUE6\r\n=laao\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"497e1a2527ce0368b4038766ea4893675ced3523","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.5631828e1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.5631828e1.0_1618645558550_0.2702151395995325","host":"s3://npm-registry-packages"}},"12.0.0-canary.bd685395b.0":{"name":"@material/dom","version":"12.0.0-canary.bd685395b.0","license":"MIT","_id":"@material/dom@12.0.0-canary.bd685395b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6f2dcc2d633f02f3d275287626a32d7eea72f89b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.bd685395b.0.tgz","fileCount":29,"integrity":"sha512-g00VtUXkgMAXIluW3B1UpAZjUPEYvMg5Eq5hxKPwam0fkXvtjMF1sTwSgqQsouucrXKQYaimMlDBAtHJacqovw==","signatures":[{"sig":"MEYCIQCwVLRPL5/f0o+FI2rP1QBcUQ5W8R8MLzjs+i+S9+sPRwIhAMkYBdl08fF+8vlMt9CSXwnquOTKk4uqWMsjJ86GMMc1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfc6aCRA9TVsSAnZWagAAYMUP/RAy458QnIGsiESoqiwY\nCSMpl70R+X6SxYus5uxcz3iwCLHEyQKOup6umpuPskiARmbTSiCAUyeYyAt5\n+5roL7F503WVzWJ36AjU8E53YSL69AuDJgve/OTtpDlUCaA+lnf+DssLjG87\nHn2Y4wBqhmPnM1sZZ65W0oN+eaFbq2BHaaQcgbAr+cjNxI22V9lk2UdNEfGh\nmxSym1c/23LJWF2kyO1EeJevJy6LYZUJiA4q46fH5NyWtB0N6FWH4A/0lsOs\nM+YDs1kHvl82PbUvjhNLbegw/V3yq2wSTwm2zRwwTrvEIqcd1x/5n6sdoIpg\nr4h99A8a4pkQ5G0ypBce1vorO8gQ3bGpbX5s0ouXJl2n0GdBervzzygO30ke\nUcvgbHzb++TnSkUF+puSr7zLjGH3LNXQzhZnmLWFCi9ei4kfGIJ7HXBSR5XU\n3Vo2SovdIMVuW19J3zeti3kQCxWpn47hXY3zrdQgVi7scOhs0hOTDq9RJ+zd\n3ae4CsjDWwOfpakCw52SBeGoc3J/ukiLmW3EmgS1n0zV2hw4dhi+vQWTaJBk\nOBd1K3eun+C8xhRnoYqCKZPSuCIYX9XUZmZFWWyDhA6OZQJgeIAM3A9u1j8b\nTF1UyMM+/gXUyqR/erg91s/zmlvwcgwTJ3JYVlLvPM/Jthd+ruUlXvdnWFFH\noVsi\r\n=KZwh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"69c7d9ec7c5de65144c3b2a9b283b6baf7af107a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.bd685395b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.bd685395b.0_1618857625964_0.8221724221634408","host":"s3://npm-registry-packages"}},"12.0.0-canary.b52196498.0":{"name":"@material/dom","version":"12.0.0-canary.b52196498.0","license":"MIT","_id":"@material/dom@12.0.0-canary.b52196498.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5e21eda3cf0463b827a106db456d7c26327eeb9b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.b52196498.0.tgz","fileCount":29,"integrity":"sha512-+ZF8/HRMOFQisFOLQ8vDjB3FNMN4tU8smqfQF5FsW6n1A/6jmifCBYg1qoRf4vi9S+Zf1Er97cclz9pIdGtxQA==","signatures":[{"sig":"MEYCIQDGs6h0KRhCSvWXPv46TIb+dwxYmKsoSplNsauf9BpRbAIhAJpty1dYxUzawqIb7XgTJ5aSUTw9TXnWyF8GaDURzKLK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfeCMCRA9TVsSAnZWagAAQ4EQAJm4CnRuxPTzJourOngg\nRDmwiwU3JENMaMm5R0YJY49ydnOyiNtNAO1EGGvfTBUZOWh6Gh9OUzmSRSse\nzIQmngXtz7XFcj4FWmZ3bRgk41CK2+2uEYKH8hjJNH+N06rFiGTInuXRxruc\n2PRYUwdBmKs6LacEJRkymLFc2WJNrPUx5jjiPuuCefpOMYJlLw0G0ZTPpGut\naA4gjsb5J0k4BEpQ2alSVoQw/xLQMrOyOeTFXUKO9SyeDcaW+FziuOSdYS3E\njoacwQOWy+hyQdN26HllKZMtWN/yT75xXKkNBKENv/ZcORdToS0CYOZrfNt8\nhctfBe/2T8R48G7jSnS/yagdnrZKrzGT53Jzma0Pqc4bHHUWxJJGx4NQ2JBJ\nCe1PRZ49A7gXFbT72HnsnUltC6IKgj77e6o4NBR2Qfksz7BDrw19MEU8sNqZ\nEagNKA8MPRP1xSqweg5ZIQxCDNeHndkAaTs54wSqmK+Y07RTshlz5hi8jdfs\n3h/7j9XXRXLjBbIeLV89SHYxwzSS/pbd6CivY3wivhBf1OGfBuKX4cDSYPGK\n/qaVrJM8xJ7CQDDlPnyUbJeI0TWIWydejGdoc5K64H7Ga5dVsOuIn8pID0C3\nQ66cvo0PkAoQD5/wirKwS0n4alLLbzwMHui7rj9Xq6FQ3an7hECUqMrfqoo7\nf59b\r\n=t8pb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"953cfdd3bde4c66a4b6b90171d4ee702958ae1c4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.b52196498.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.b52196498.0_1618862220267_0.3968480600016395","host":"s3://npm-registry-packages"}},"12.0.0-canary.8ba3e298c.0":{"name":"@material/dom","version":"12.0.0-canary.8ba3e298c.0","license":"MIT","_id":"@material/dom@12.0.0-canary.8ba3e298c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f57484be458b63bca9569d1de43785ba7e6c9692","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.8ba3e298c.0.tgz","fileCount":29,"integrity":"sha512-kSMTqXTMFATXFX4AO2D2Icx6Ccn7rfw9phCwvFCUsryku8BZ14uBzdVwC4DWC4H6PIWBMmLvGRQ86OrfAkckvw==","signatures":[{"sig":"MEQCIFgeXGn/8+N7PJlTyujEt4fkc8WzZ9bIUZS6uKCL4xFdAiA2Lw8HuwDtVVfcO7FI+t+olqeaB4c73M8C1/xPz8BFsg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggDGpCRA9TVsSAnZWagAAIBAP/jbBhUPQIA2LsyRBvt0r\nTEvZsUprs3oDqUC9Osg5qmYT2MPBNjz6847/bHhIaBFOFIdjs2R3A4Sekoj/\nBH09gPenXNwKoAtxD9PYJtRTUvxGtV4tBk8eiAkoHd6wC1Zi98qnRGv6pcdi\n16+QTt9EzwhB0m0ha751V0Bs/J1JyUT2dbDGmKXpqJXNOh4pFn8GJ3kI7hDH\nX4pzHpjwtVd9iBjP5bA69iG3QINfWTsiIeHgIt7lWppt7rXaKGgQYvyDoopQ\noHslgHErre+yFG5SaAuMgipYUXrruYEXLKNpf/jTsaP2hR1ac03JwVzP5OSb\noMWdl75ReyLoIe1aeTgBMkLx92ct/AebzWBA9QMtepXGwVWjVlql19BVjym0\ncnrhGU94mDWsifK0kfDV6bUt2u5oa+ow1/dFhSpe2XF7nvJcgS1tQ1v3z74a\nPhJZ8fAExm+P1OF3n06hRugAgj7QNW0JJ9ZW4jWchf7rLV3eh49reCYWUjGs\n+eomWz9SKt6pr9DX/Tyxuj+huyBCrI33N77dT2PNpOOrqe5koEkKfWpStHp+\n0accI7sl57kUFRJPXsvmdfRx1CvNZHLtKl+meS4h2JhkVK0sbXwSsqBdIorI\njhjKAL4ZWbae62I52wY9y8HtMUxB2fUdMdZPbRlen7XYyntuveD8RxEcAwba\nqNtu\r\n=n2O7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"206fcb6cb686d5de97867cb4e4005926e2a94501","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.8ba3e298c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.8ba3e298c.0_1619014057448_0.9138022510535175","host":"s3://npm-registry-packages"}},"12.0.0-canary.c629eab71.0":{"name":"@material/dom","version":"12.0.0-canary.c629eab71.0","license":"MIT","_id":"@material/dom@12.0.0-canary.c629eab71.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b9dabe951aee1a0291c015314868f1b7219fbc37","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.c629eab71.0.tgz","fileCount":29,"integrity":"sha512-2tkiK6E0lJ/nJwsga5hyuH9b6oi1hxSXT+kLc+uw3X1XrvwrpjdZOVYkV4932sGAJJxZ+zJJzG2gKCcOxXv+fg==","signatures":[{"sig":"MEQCIC3FI4GO2Jh/Ql2YGJHHqFyBnZOahln3kzYI0bpMzif4AiBPaij8Wm75iXcLeqIUPpM6Cng0rOOL0zd/jYuuFxtaBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggINRCRA9TVsSAnZWagAAe7QP/3petolnsBqKEMnYCR8d\nzrus1+1fvOgeXqv3WuqHDy9FBdc8PNe3mh6ocuNetzNE/FHTt2DN0Fu/gBQz\nvAN1YjgSdnbAWQi8vuUMzxPIlRulim7tZMMuAaVXlZVVW66D7qnE38gBxj9q\nx+TNvVxiPxHADs4FRRGs95rizeS9ZHk3pq9l9hYJqEEK8oP5ZAfaqPsWd5HU\nqpUZCI7CPtDE5/1fjxEmPchRmT7DJGJeFBeekX0XpWujGnbit/nkJ74AVdUo\nRJH7snwbxSsS7D6U0k3t6TiT9JkQZr4ik5FSlDVx/9ep2xF6W54JnyKfC6kV\nsBF+k965MSbx4i8xELrVHy7TyTenSlil1TNX7IqYZ/3/T/LbYSzmOvFajwJ2\nLxssupFrXMGW2HtdULj7hp83M6V1x3fbPPAddtjtVJZEny7BvR21YLCIsfGd\nsKgWw58bvqcMEt74VTwoaS0E6QuhQ0QENhvf1DzK3C+Z2j9GrftmuC0k/5rd\nAxgWXnHwMZqzF7VE8pGBkkrbfoK50yYjImXE9sTqW+yAuvLtDDmjpZM5eQmy\n8WxLKxZkrc/Jl68u8empwD9TNfjouEU2WfqYO7qxPzLiKjFmqsuKq2sRBl2r\nhLn1ia6azZtijWCOS4ys2HIRdY+rwO+xAk3b3rBwu/TPuaM75ACKbPzWDXJS\nNltQ\r\n=0cSY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"13ae4a821cd20abff4520de3f38c689af7cd0edc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.c629eab71.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.c629eab71.0_1619034960999_0.2594791464280497","host":"s3://npm-registry-packages"}},"12.0.0-canary.8ace3b810.0":{"name":"@material/dom","version":"12.0.0-canary.8ace3b810.0","license":"MIT","_id":"@material/dom@12.0.0-canary.8ace3b810.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1d78c9520259787863cf18eb588318e1376defab","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.8ace3b810.0.tgz","fileCount":29,"integrity":"sha512-PiqysVxOapSB0ZxhF7Adn12OLGqTeksZOg1oH75jcVNoMQWlBgX/g2M0IHQudtpGkTvQW8LARe/piXJljCxq3g==","signatures":[{"sig":"MEQCIBeiOm9TIrYB21oWF/6hrOQNBqJ5g5ofp2qHnR2e85CeAiBeaYKoLDPh3vsU0qdM66onKiO6xhFaN2RxTOuHmt2cxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggIzpCRA9TVsSAnZWagAA0GMP/1IUCaArXRYlOLmSfwLY\niMAbxly0vlLF2RGbRENFUWN6bS69GQc9sadnBMJzwre7SIz9cc2XPHpS/xEq\n7a5i05EKc5J0tWvUthDMvA/hBEhzY2QCJS6IMqZmoN5EtjPQNcmp9S6w0mIO\nykOA0sF8b5TfLweNJ8aecL9K3Iey2mvgd+N86ZRf0esvDMV8arpT5XgP8GkZ\ngoLT7d4Xfmrw19Fkiui78nWOLcgm8GhEIfMzudaga3tC7q3gowKx49W3XkFc\nQandUv4XV3J8Ku2Ng3OA5nCH4Q+ATx2E+6h+1wEiAixY7wMRcUcWJg9xl8Lz\nRQ9y7krPYqlozUaESkT2xDL2TaKM2yhRSfGCsObmjtpTcwXD8CLbmxYMKIP6\nZOTGXQqur87vTzgMMfLGAf2weyUqtxg9qBoEgWd1JQ1dHja5u6ypzKtP8Y0s\n3gF6LVZ5HidYPKGX93bTtAcpeHPnk2ULLAQQNh9rOdxuz+Zi/7HbZ39BGTst\nvhdE/3DXJmAMKyBzNsbvy2SfX2lQWjCywEdw/u51z+vRqXnccIdu4tm8XG2e\nrSNWO//fhkja5FpTgUKpk1eXQRbCqzKogW1YkTYAKLgln9tcovv4QuSGZhbb\nh0Mg9vurds6EV7G+IqdTiIodTetat8MAiFuaodfPupQnD3cx3jhV2vh61lEz\nVZyF\r\n=0qu1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"622173e8e2308a6104e06bf943b6423381a17e5e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.8ace3b810.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.8ace3b810.0_1619037416979_0.7811820683827679","host":"s3://npm-registry-packages"}},"12.0.0-canary.70beaf42d.0":{"name":"@material/dom","version":"12.0.0-canary.70beaf42d.0","license":"MIT","_id":"@material/dom@12.0.0-canary.70beaf42d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2acee787dee39065b0e551fdfdaf2f001b3cb687","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.70beaf42d.0.tgz","fileCount":29,"integrity":"sha512-teaOPUrVJNMfKknMy5j4PFA6v0HtfromnzRscFaD4YQH2CMh4s/fxmzIqSsDI2sNUIU8hX3H4RC7I3PTxzlrVg==","signatures":[{"sig":"MEYCIQDRgLyGbF2k94CC32NRKd6iToqKS48PnXZ/J0/U3goYfAIhAPFpzFp9rgjE0WNRLnyku4xboo6lJxJ8hOtgEOO1JbKt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggI+iCRA9TVsSAnZWagAAi3UP/0LB8iPdBGWO0u5wC1Si\n1d6ZPJ7O5FUJ2WFaEiwfOuRe0moENn9xRNWRjzCSuQ2UgK8qdRujMPukIg6k\nqqyhF8jS9gTBWuggciVTNmJV/2cgMV122zd0HrHchAchr5IanodEjOP6536D\nDep7ZmRVbpSYnm4qMKpInm+knTbZRzlCOtA1OcSab3ez/HlkJjOGyYfl2O9+\nQmjrUBbkkLKGrNnFrtXr/imQgsLwg7tiiCCjH67+zNvdmFhE6IvipTLQpSlP\ns9e+8K3dvmzxiJCnPjrdaFnD1OdiCrDsJLCFUlWG+CL3/chqg0AQNAp8VGe2\nwVAWsCjNlm0MAwdmwx3LEz+c7tq9r7CAAT9G/QiG0GG3AKCzD6FtpHDds6fI\nBYqxvAasTr1rc0x9iqrh2B95MZ20HIIG55Uxxp4AA6Q5tVlCWztVTE/1yZw4\nGN/R8W1T780mzxkr9FCC5q1uHQN/xYl3Ut5VReWkbHRPgGmxhd9xjs+IqYxz\n4tUkvuuIDYUYwvyInoFxkbx/hOZf1EVYSPGp+c7lhYaEhml4xDBXffjSUdmV\nqUbllkdCtF+7NcQitobJwGklDqqXaC79XJYgt2QWfIFimJ5v2FfuvspmRgFn\nfp6wVC4Dbu01DIiVlLqFx42RtuHZk8DmmtNYLaeDkl848ESBYJ9gR4zJ437y\ntRiP\r\n=dApn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c5b29092fb8fcd0102b908417d8ed3d61c3448f5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.70beaf42d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.70beaf42d.0_1619038114304_0.6848375942017986","host":"s3://npm-registry-packages"}},"12.0.0-canary.cad489689.0":{"name":"@material/dom","version":"12.0.0-canary.cad489689.0","license":"MIT","_id":"@material/dom@12.0.0-canary.cad489689.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e5c5878c57a5ea0268546d7605d2cb9bb8c9333e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.cad489689.0.tgz","fileCount":29,"integrity":"sha512-i13YQIn10u3TEj/dRIsQ+VoAEW306Jz3hJoVGl1lygImDnf0pEdPAuByybK+q1yYPvzPpGIp1stOjsLLeMQrIA==","signatures":[{"sig":"MEUCICau89fp9+UdRvzbzfAU5QS9m33ba/jdXQVYNPdDJ9+oAiEAg76JBgBLmUTD+IPUSRKMnl6HRkG/fBRInrDyWbI4XlU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggajfCRA9TVsSAnZWagAA+KIP/jRadK/TVkUi8SCOU3Au\nfBj4nxYimFUz9rn5Bod0HfmCgYdXleMe982WNR45Zi3bttIxH4QMBth13lBd\ngHZcmnIsusOOpbkjL8aqXDLrutrKN6R1It8GVfMCQUXI4/AL+9WS8VKYFo6G\n2We6Qf8/fsc0N6VWrVt8hQiLfwbwxgxqE1tCBi7ut369voCB5fOWzvjmkz5E\nQyXhzSbooEYqBrm45PR3UqdjEbwb+e6Tz7xD9ndy5bdP6tLg6f8/nafB+4n1\nMWqMe8vigpoC7QBvwoLjc8EwW69j3oVbLUEmKVzkgC4yJPZJ6O1New2MOsSJ\nt+XpJ1NZWQY2GZQmNDiByy1FLJie/pkYNToGZW3Vqcj+G+95m/jl8XVNm51M\n43Xjw8FNdr+6BKaz/tndgw9D5Ij/PItD+IH2m/Q44wZaIotTFToVPPoLagFn\nL+vkuPPtIWNqxp1fyviHsl/xukOactv3l4aBd01NhelNM36DcX+vmJvmtHdF\np8iHGtOTTB+m6Y2wUhwM9ch702lU5E9i1mHFfALbdQGyWmd1sk9sYRpYI9dW\nDR3Y7tr/v0hd/RpzibpwoAxtm1UfDZXlkMOfTkh9uB08kIwGStPczjFkt9sM\nJpIxHVGs95QauORrgGKxCn6w+0b0rCPNQY7+moFtVMu7IpyVxfFcM9Epzbbt\nU60t\r\n=8bm6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3e5c20e059b33965b63d0073bed7e300c57d5781","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.cad489689.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.cad489689.0_1619110111377_0.31613868786650356","host":"s3://npm-registry-packages"}},"12.0.0-canary.d928692b5.0":{"name":"@material/dom","version":"12.0.0-canary.d928692b5.0","license":"MIT","_id":"@material/dom@12.0.0-canary.d928692b5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3efc37a027272247ee6d9bf8f82ea728cf751ebe","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.d928692b5.0.tgz","fileCount":29,"integrity":"sha512-Fg363AQBwFpH0znjazeV5ruT/l4tXVhSQgk2tM5+6h1sNuycpT57IiF0IQL3uT/OkqwzkHW1ox31Gt30+nKD9g==","signatures":[{"sig":"MEUCIDnZOBn9KTxdBcIw/AD+LBaf/dJIiXa26NzQre5tvNuTAiEAkMtEez8Bm9V4RdiYzdRU1YzWApdeCaBmFTzZQC12+ko=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggwTrCRA9TVsSAnZWagAACIgP/2XyFdlK4IirfulKOT+O\n2x5dB7Tm0wxEJxyqh4e5sfevKRcuI8BJswZFmLfgn7v77w9OsMsYu1ldXt6W\nQ0FNIlcf7g3YCyK6jLH74VyKPS0Qsp0ccFyeoTGbcFsq9Cn78P3dwBZucmfO\nNJ+DycvR1JVPETsPyW8KxjOrkodrp33/TsMxw8sYh5CVBUSu4QmgXrE25Pg4\n+w/ImdXyHqzyvY3xU8Ql2bfnMpVnZiJZfO4d3ELF6l1P0+5fpuXi9J2AELh+\nfcbmGFFiKtHAjuebB4CfoYqCJI/+oYD8xhaetA36IPcb22GBTx98TVpjJn96\nKlcUOoQr4iRX6vKKvRh45kfwH+pGIk77aLJxqV1LJaH7ATlEctvKGt98GvBA\nuB6zFvsk/8nzFyoDyan0zexlAVUzlqfjzAHZokrs3qlhpPo8UR8GShwdDnhu\nbwzXRnsETWz07x2bKeCstCN7CAzPiOndgKQJ66ktjWjUg/uC5aqQVrunf1eb\nzbc2nSl9roPzRxjxp6d6pOScgJGEFpqBwe7TrUzAqhPQ2rCujJbk7afeXGPv\nna+1cz1LkrDe7WDglD7ZEeTUkRoo5uHqDcTIBi711HaUZqfIvRheZvpZt+Er\nkwxJDYKL0vwXLJ+2s7ER8wGP4n9FGKANRYDQ5ulNigDAvTKoRqOSqXaVpJDl\naeTB\r\n=QrPn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ced6a0237d36ed84c4d277fc25a11d9453108e12","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.d928692b5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.d928692b5.0_1619199211537_0.16896561292409418","host":"s3://npm-registry-packages"}},"12.0.0-canary.8f68de8f3.0":{"name":"@material/dom","version":"12.0.0-canary.8f68de8f3.0","license":"MIT","_id":"@material/dom@12.0.0-canary.8f68de8f3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"142e2fbc1a197fcd4b77d98f5906d2f2665aec67","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.8f68de8f3.0.tgz","fileCount":29,"integrity":"sha512-QxeAaQ04LJBZO1YCRyxDh2ku/S7Sg59Uhz14G7wPHWs1G2d3nJiztzSPKVWvR1qEk1MomIVEtnYK33xlWAPkAw==","signatures":[{"sig":"MEQCICz8HGwt1k/lORVUP53lulher3Fz5VI0FO+SQlTe5FMOAiAByGm3teF1wltRewdX8kz965uBrJZGdTnAylU0tPX/nQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggw32CRA9TVsSAnZWagAApEMP/j5kjoYqFTKY4YyfptYO\nlXHN7eSfIuSYmRr95bmi8GX6pT3zBJg76WyyY9hz0VAgbmB1+h/mDieQP63F\n8N2ohuI8DDcMMrysKIDULOitmNZElmMKX6TsMBQi6L11wFxYFsYeLfm3qaPU\n4XlCbL+gJJclUyI7ko7/fVrAzq9OaImnHasqfxocqao4Y36aNczM7zkRCLko\noD0pUE2P8+XjYvUlOpFnxu942tRzAQZhzcXyliplnRvM/wOxr189xMZZyt4C\nAEA44HVlOPPM3kpTAAT1ZZrXv2KWRJeD+VUNw57E5nnG/73yVtOANHnlk3PJ\n9B+9KD56FKSur9RsS4P0vA5TzwF9naqN6o+HA4z4ESQWeiybHotj+nTqcH/n\n59lZA2iUrPJkAVi8LX2x/1bKBhtQn/8W4QJwGqYpuplAw6p+Mb3LsyqU3WFJ\n5VR2+kq9b4lUW+rnCa2InomMslETUuiYOFZbuEKWy5Sl3cu/vBqnt5i7T8FB\niGKFOtWAnrwW0PUQkYjO+NDgemRsTN2+y+Aph+vw287I0GExrNyjCk9jgkFl\nXyvUzuwZwu9yhTX0AmR/pWA/LIlhIWWhEBoXri+zgi2BWdhMe8VnJbWFj2a3\nRfaPp8VF1GqCa/ixMW5TSs++AccvuhCPfG2bhP55o2uXtC1HOzbYZ32zi1gk\nvLtn\r\n=gcCK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5bf06e910f57a544c428d7559d72d5fc2a5f30e9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.8f68de8f3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.8f68de8f3.0_1619201525684_0.8793206262435957","host":"s3://npm-registry-packages"}},"12.0.0-canary.05753cf77.0":{"name":"@material/dom","version":"12.0.0-canary.05753cf77.0","license":"MIT","_id":"@material/dom@12.0.0-canary.05753cf77.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"db3ad959cdbab1ef02a5e65ebde92c0e46093c05","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.05753cf77.0.tgz","fileCount":29,"integrity":"sha512-KvI4MmryTL4pyrlUYzDT3JELvbGGz3FG74PPoTtwzKSK13NOGMNOx9IbluwxOwL3hv6C5nprZYJlAHh5ZBKpMQ==","signatures":[{"sig":"MEYCIQCaOpZ5QkREmI0jCCXvrZhFLAii5pyH3iI0ZBCW1mx7SgIhAL2fvICfe/YR9HhiCp9PVW8CvGcJjJ+7PpHygtOc8Nvt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgg1taCRA9TVsSAnZWagAAyAoP/iRgswrERtvq9cleOzEe\nxso24dQwwdMHS4jMP8ii1TjJIkd5rNtaFbWtfvhDDBh7PB/qkiRDPiKbHZEs\nKaH2oTnCz/zZpo92WJZvzTYP8wEIJg2knmzUcL6sGvofxioHRHfXt2UQJKdu\nvf/cdiTzs9WbnUids585l6emKE38VR3uivS2NEJAGzLQtex9/Ty7MzfBpudx\nxA4uqfandH/6KGY/gvQ91UX3esZ9jckO6//m2tpeSg8sTx8SbGWLUDA67yBN\nTz/C0KDGSi7wy28dDf0RFx6igqKHuLgeHDZ7P7ZROCRvOKCW1NRGDvpGObop\np2aOgBAxcigA+hxtasgMRSV3MopJtb8DtW01w+qkHTmWWpgPsQLtDnYY61sZ\nwQqfJwzKXpt1SK6GHokTJVg6EdHARMInzvFueNwxE6eRUz+vZ8N6PLoQ+Ej2\nlHRU1/kUzuNGc1IsZF3bMstEC2WLdM5Mi0Qk/p1CNvQiPzxxkMUPqILajri3\nNfOsks4U493lR4GyqxD398+fHZlL8f16VauXcazbN1gDLxX3w/BCu0kYPDuw\nhyd9ar6jW7kf5MztKj/W+ttFW6NBuiJksLqMJ+AAqSZbiMBCM7i2GsEZ+znz\nO/ORZa/G9FkOina1UPgb/irZdlBy/lkeW4z7FHB+YUseJcVHDJvlSvfGt48P\nX24Z\r\n=Gs0L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3557c74d7c4f9400f0a8d2c88bc2610c1d600199","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.05753cf77.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.05753cf77.0_1619221337731_0.8442335797582685","host":"s3://npm-registry-packages"}},"12.0.0-canary.ef43e6d96.0":{"name":"@material/dom","version":"12.0.0-canary.ef43e6d96.0","license":"MIT","_id":"@material/dom@12.0.0-canary.ef43e6d96.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a1db872c8aa00076147937a45f4d83be0a527a1d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.ef43e6d96.0.tgz","fileCount":29,"integrity":"sha512-3flPn3qbai120byC7oe22aZpnCAW4dRRG0vz2AMyt740pknZtGKt7LcjsZ1PXRfaYEzcOn/teTQ7dUacq+HSsg==","signatures":[{"sig":"MEQCIBkS2kXbP8pOoZr6xWYcqTKeTn14Ks6kKezY5eW6PySLAiAYmfqN1ds6IzfwjhEx8/CFFP5KkYzDT8D92WuS1HPx0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgg1zUCRA9TVsSAnZWagAAPqwP/33nAhlVdJ8kxMtqGzqz\nr+z6OPe9gcB/QGazwrh9b8yFFiZ3Sa1kLNbUafgfQutvev5xMt/afe+US3Sb\nU0rPDDG/6w0GMLzzxoZQ8oLCGWCMD5hdIYJDbHrR1ZuuiKrAjy0pqXlHq7Oj\nv/0ImnuSSIOVzUBQ776hFovvNDTktavQp5ww6rXDDrSbIR3GqfEfNVu7NtDE\ny0ElYLSijOjBl/B3N+7cFkEdgIlrcuwx8oPIL7vyq4vUhp8mPCRaNFR7w30J\nkIa9ZnBtx/vV8HG5EElHd5eXUvOqo/WgYi7K7zSISUS6jK9RZz7Cd39N+7Xa\nwx4QlRhxjhNcBHjX+Qqq/QJ3kK+rzVdNtoewXsD8/nZD+cQkZaM3rVojDsA9\ncblJRhTMAPYNtx7m7M0WqjIF/vsnMev/0vWcSQHfIfp9s3fdNcuChGQ4B+QW\nUGBpdL9kCzHaLTCSgG5BFbtt7nsKY4shzWGKFW/yHr9KhZnQuRUlSSzWk9qO\nm+f5TTeVXD1uoesgT8N+NZEHabm/gxD0J2yNERMyW5q7EmlcQm4UGIvNpFsJ\nL/qs4FZTdnzATVGmJ4D04CqvK2BKTm47kFbA2OFn41aZMJAv32p7cq0283oB\nvuWI8wBkM3iXclxi2K05EdzTfdLtTXaqtn6drv+73EA7HMXNfzyIi1o4Nayn\n/NlN\r\n=5ANm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bf61e37f943b49cb1c3287501ad6fc31f8c88687","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.ef43e6d96.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.ef43e6d96.0_1619221716045_0.736342278916198","host":"s3://npm-registry-packages"}},"12.0.0-canary.197f64fa2.0":{"name":"@material/dom","version":"12.0.0-canary.197f64fa2.0","license":"MIT","_id":"@material/dom@12.0.0-canary.197f64fa2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"857fcc3646a6ca6cde0ed8f4c0ba12c1bce96da5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.197f64fa2.0.tgz","fileCount":29,"integrity":"sha512-uoX4Z0EbrigvHp/M2MzG0S0DNMivTY0U6E0WCiDVo8YrY67NJLSyVJnTpNhtthrCWJInKMcOUJwj73H6/GxX1A==","signatures":[{"sig":"MEYCIQCQvOzHFpUeWtGnk8/PdaRKAbw75AeQXM43cMLAJcMzzQIhAOlY3nV+4mMagqhJUmg8hR0Oy8gMbCQl37FrbP1wg/Ra","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghvObCRA9TVsSAnZWagAAi/MQAIKoGjtq1kPYh6eQYX6/\n52fCqplTX5NNcbjJyuaalmDZXNK7AyEBaR9Xw0Vj4BtSN9G6sNzvYI9OioqP\n2bS8Jb/4KoGGWT8C94JOJhkNRyF1X1O/v0FUhy8tkxNE3ephMvc4kkgwHNJO\nmSKZm3KNhAYPXbhC0VnZEt9msoJtIbHe66Sex1xMOmrarHO/5iPeblEiLt+r\n8gKD6W6v+6xHKrr7dLxVW8mJfsHEAYfFuHr3kDFhBx0eIMUAUaZh5J7kes/D\nIV8oinUosjdf3Q1FJj4oCbk1gPfyQ30ZzHbznDlX3kjjTAcYTdIOedtM9p6G\nS926b2yPpwNHPMQ1xC6Rr9ElQ6kAhh1D6cK1O+KscSkn1Qe8ksV7ItJbPGaW\nz21cMgrgZnPS7EzZxjP65+J6ZYyQTiYJSnrqI9l4AQW/ux8B7dc7z9I36QTC\nm1uh7nwtEFc45c7HjnY/fCnQReveFFSRJugrYwhoNoRZ6PKRJBvCiZmtipEw\nl9szVZOs6pLUTUhK85UXVKb0bCU5YMzxPxDDXujx5Ya5SvVl/DgN5h9Jg9Ge\npNabeHfE+cdZzqck1meyhvxQPiojODCcfvoeys25Har6yN0YsnYxr8g+tJ8v\nw48/5OmJatrUC87BkTWXTJIRYMPQ5Y7CcxqDrflTHbs0xqeoSZMrBsmviIOd\nfowL\r\n=iVT+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8ddcd6186c353b0d99439cebca29eb95eebc705d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.197f64fa2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.197f64fa2.0_1619456922477_0.592527851351041","host":"s3://npm-registry-packages"}},"12.0.0-canary.55ad2d7d8.0":{"name":"@material/dom","version":"12.0.0-canary.55ad2d7d8.0","license":"MIT","_id":"@material/dom@12.0.0-canary.55ad2d7d8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"084ab23cd3127f90b7650ab8ace1007a92ace606","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.55ad2d7d8.0.tgz","fileCount":29,"integrity":"sha512-RQWpgFYZKe5Ob0b5unAGhumapTvdNSEbB4UHdAtzOFZvOMwVvgiwGNhffngg9Nl1+GPDE5ZN6BeifcR90HgUTA==","signatures":[{"sig":"MEYCIQCK/sdMSmpJLC2Mz+v7iLTXQZl7aKtrtIME8Zo7ACrzAQIhAIYOeO4b/Hnhsamvlqamkyer7byxVLxRxv7h8ZcV5cHz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgh2aACRA9TVsSAnZWagAAg0sP/igrZvWtVivjdHWblQp0\n0c8C8CoMJuZ/DHbUTt6nePH3wh5YMc31EcUb/OWjFvY+BWZY314g4i0xm3W5\nvf3TH9MtHm73Yle+0Xi7ZXpqQdssrj07I72ftcBR2r4cwGpFwxdZjSNSkWur\nrUSPZvUOTdYLTiO/OnNBtYBNy9ZEFFqXxqOow3u4mukKfCWFq/MAEs/nbSE2\nO+OMC/jO0EsE6x0VwhBXhZau3jBDgTfGCRfGD3SSl1kNvoJTQufrqKud2RsL\nQ/YCmGX42Md/MBAzH6eUIOOVYGzWEc5ovyYJuKyyR84ZLTGr2cnWxKYmF2xe\nYIfP9xeYi1B04WIhHLeTuYY1t4enQKv8YODn5i6mHcQjkP/7jbwTjTyPNoVc\nadNVH5BfR/vMTfg2SU2LY5cvcga4UUGFMuKrR2W/GL86y+FwHsA9W3lOhYn+\nWbUX1Ff27SVQooMy3z4T4mYDunNHW8Iqd+IJgJzM7iasq1N8NH9OGyjKMo/Q\n4xWi8Je2W5GHTb4EmFtR6N+KiXobK3VniNiKuCBO+YH7Lg0hA6WWlUYLd49h\nkEoZJ1NivV6fCUmhqXJitrn87d2AV5KopMLbvGYq1DZ3isuXJLLkFgCAJz4n\nWepWKPToz0YlKFHRy9m67uZjFfmlqtVvI0LeOJdc/utDHd9VUFqukHpd2ty2\nJ9pn\r\n=8j2z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ed8a5f8b1756d56e3973815a51d6fc7e51c366ab","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.55ad2d7d8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.55ad2d7d8.0_1619486336245_0.07974821377124508","host":"s3://npm-registry-packages"}},"12.0.0-canary.ec4ac5234.0":{"name":"@material/dom","version":"12.0.0-canary.ec4ac5234.0","license":"MIT","_id":"@material/dom@12.0.0-canary.ec4ac5234.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"78430f5e5f43a246cba95a9d10a31ce0272a8983","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.ec4ac5234.0.tgz","fileCount":29,"integrity":"sha512-+3pixO5jN19sijkAiBOl/MRsfNe6W0dtNBsfv4lPNQJADCATYwvaMVuv7VtIaxBgTZ2ww6QRb7TB3wz/kYDF5w==","signatures":[{"sig":"MEUCIQDkdjIHpekwvzN2En6XmXS5eZPaXeJag9lmhyqTHqN2JwIgduWxckbonNRrTFa0wn9QSg1WVVVw+2Jz3jj9gDVJ05Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgh8P6CRA9TVsSAnZWagAAIvYP/1rfXm2LttlbQ4uuGMdC\nAeh5CQ+xdUF87GhMnCmEYbdzHTtotaFy6JF2sDldglEF6vDtcOxPt9zOoFz3\nqoNweU8Bjbi/GpOJbxVfFDPr9jGGk0AXMKuOPv32oeKzKQh0rJvm183U/vNW\n+8YIfIuEL5tK7h6SVUEmsaXyBiCC8sUEmknCgGbbjHSHhpEInVVQ/bg0djDd\nK4Hrvw/h+FNmVtv9sU5iKMc9q6ehAH6A6fb3vJ9+xBV49IZ+Lem6rEnexv02\nes9Mwk0V+ASaXdRwN9fbl2W3CfQwU6AL/IQy/OJMRCYnLinNZSb0sSh9jMiP\nsXEAy94m3Sp0Wn7MPHv5H1dpWjpl/3+lGyk3aJZ6okiZnrKecDhk3zfUScwd\nEKTdulIicCxoRNdaTNtLpULH0u/bl4D6PjdbVj4VEaH3BG18jsiAgFoC3Vnq\n+w91ww2DK+ouL+eSO6eU6pPTw6UsUqR50xMuhrx11XAx/b2N/YRLKyBx2rh+\nU/PLMH7nPhYsmcCT4wH5uXhLiH83ROHsrYh5TQg0csNedBFLEo2cGerOf6Cw\n7xf27VcuI2LHI/agV7ynSxn2bPB6RA84mCUjqyJszQTOi1o3stsxBLCHk00W\nQkHR2o+S9mw9xXZKm5nUjJRJy4/RIgJVBRRNdPYZQSizGKrFrR6G9ygXiIb9\n7XoB\r\n=M1pr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b189e0be8deb45b4e94790f21c377c3884f551b7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.ec4ac5234.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.ec4ac5234.0_1619510265801_0.008027913933606134","host":"s3://npm-registry-packages"}},"12.0.0-canary.b0579acdb.0":{"name":"@material/dom","version":"12.0.0-canary.b0579acdb.0","license":"MIT","_id":"@material/dom@12.0.0-canary.b0579acdb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"00bcb63bcaece73de67b347df8688b10b7c73238","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.b0579acdb.0.tgz","fileCount":29,"integrity":"sha512-GUuxRVsPBs/G+ENTSSv8XqupF0Iey49rKWnXd6KhvpzvIxmWzvcbHcUbzUR/pTUmiFcahefgYp/ikQyju1XY3A==","signatures":[{"sig":"MEYCIQC16Bh++qMVl0YeOEiT6mq2KSTft/S4HQULuL3X/tHBHAIhAJuWx/8hBgCR9mlj5iacZd6JHHZfe3Q+qalGAjnQ/9FL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgh8zECRA9TVsSAnZWagAAV2IP+wfXk0e0zHJtndkZjmXz\n9nWtaOAugLQs1ufasEgsilgYujvj0WbeFLF1BrLB+RSBTTBIs08m2Kl14hS1\n93Oh6NowaLEir4LsKeBmF8c59It+ShCYJxhst1M0wKvUbtcWyGqAfA53QGnH\nZqqET7odw6hlwo93ZcsfncoAeHmFCHqAKWb61dH4q6ppADahwoXEqGJ5N+5K\nYAuW/Ff+DTOkQ1fWbwifAq8D59CJnh8qIG/g9SonfFXoUatYsUmd2Rwa1GY3\n9eLEID5Ss/f/rEuKyjv/T6DvPfL7kgHPhgFOP1J5FV2wpdYlkqi8lRUwY+cJ\nWwfLxyazcl1jvATYxtbhdE3CGK/vDIffdPAyHh091drHf01VCkjgjl9gs4ik\n6Hl23AoyZ79+pvXUHzyZ1m5d139xto/SzbeiCPA4SP6u7iu/cT017IvvEPO0\nzoONYw5S4uRzBuRpZPtmMTrzi11NIhFVpppEd6nnRBFBWs9X/XnMMTDN/yYT\nVOuQjzqt38eIwzkaX3HPy2xCxlqAVNGV9w6EZ06d0Ppx2fQBoChqBn5MJjQ5\nKTaob0pKPuuILFE2U3tuo9vQmgmCbqtvuI6217rSfbfkbiwbYMGEF4RmgavK\nawc2NRKV5c8C7VTbLblaGJ+//p1ER3GBq37tI+Oj6yvlelz18s87dBrvwZqt\n6Wo1\r\n=OawT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d1f704610766e7d0c46b8a40beb1848121809a41","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.b0579acdb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.b0579acdb.0_1619512516132_0.5377555249493589","host":"s3://npm-registry-packages"}},"12.0.0-canary.81e2d4ff3.0":{"name":"@material/dom","version":"12.0.0-canary.81e2d4ff3.0","license":"MIT","_id":"@material/dom@12.0.0-canary.81e2d4ff3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"811516eac7011fb28a273e1e5aebe9125771ec0b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.81e2d4ff3.0.tgz","fileCount":29,"integrity":"sha512-irxeNyLaR0mb7or/aUt5S2uAzpcJx8hqHGsTfB5WlLgkuuhv0ykBelxkOJUjH75SFgGtScZZwbwvvqzk0uC9BQ==","signatures":[{"sig":"MEYCIQDUHtyeBQCMHLnwNvcxLJm6KcOu7dJwg+1nfUaRJDSXHAIhAODCW/+7SZV58Ifnh4ZE1DydAI6+6IyO/xGQf6WX/W+S","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiHqICRA9TVsSAnZWagAALz0P/jmKQPcILV40k7+BiG3v\nCuQ0lSk4ptrj9yQvAa1O9CQYGWHVp6+74Q9iSUDlrgXoqPnXIabNOKBCyhkt\nPVHB+oJLBpmKhEyULUlZ8o8GsHCihfnjbZind/2hZSFOr77HXLjkOQZXTo4L\n68uPaEq9lrAICAkOR+jzoN5mzu2KI6ND6nXUwQO+mzp0itliJnQUlUwQlVzQ\nwp1lnMl+PLiPCH5XOIQNI9MxKmtEVmnTp3PlvOWQaqf2l/kvLFeYEvkJnvQQ\n3/WgtFa5ZXv08W0UbWtYbQ6c1vDpNAV0iAvo92ZD2nQdblHKPZ98gk1vXlh4\nLjKmeLWN+3Jb9usiwnU/T3AhgXVvtfkgi/pUEHbm+cNCDirzlEvM4O892zLf\na1+mdYse8cnoVCL66CDfv4REbgSb8Z2vpshuahmioLRVpNLr2wCAmCoGT6K6\niSLQvn6tpC5qkruK1h1p93QNN3rqG5DVZkRR88kaHt1HYmaHX/PSSQHoaBx3\nSsPFTfjlJh/WgZkYAXtu4WS/D+G+x9E6arpHVA8lczaECnhMTyIkRQfwx1ha\n9d4nFz/y2wQQUxIaMn6UsEpB3tNML96Aqn8oPIicTZ7mzo/kcU6oCvbbRt1E\n3Vh/C8FXx24addbc8+zCT04nQul/5USZDGHhW5RWRRqNF99JA4XjQhlC5gJp\ni2nH\r\n=61NO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f55512ab74610e3f3cd0db70822ad9b52b9cfefa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.81e2d4ff3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.81e2d4ff3.0_1619556999778_0.5657623330861843","host":"s3://npm-registry-packages"}},"12.0.0-canary.c8edee52c.0":{"name":"@material/dom","version":"12.0.0-canary.c8edee52c.0","license":"MIT","_id":"@material/dom@12.0.0-canary.c8edee52c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4469e410ea9e70a9080702f8d13ce6fb784d566d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.c8edee52c.0.tgz","fileCount":29,"integrity":"sha512-92ETEj4rJUZwpQ6lgsqvlVJFRjSfdW8I49Qe9BdXd7CbdQMOg/s/XNCj9K8EHpH6HYdYm+PNNEptfWIGdcoPBA==","signatures":[{"sig":"MEQCIGbtRpSsOYRUqgOjS0fcb1IaC5Kqav3dqI35fvpevJfwAiB6QqmxCawOaU83n/BZgBxQxjMVn9E+26+7uAeFN5ja1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiIXhCRA9TVsSAnZWagAA2pAP/iveIq4FhSp3Je/UfvuC\ngCLDvsA7+zPmZrIentfmLDi03JZuUTbhzXBO3bDnuDAZnB2tD6kyJDLibGlU\ntoS8sd0eqHsJNBDvt9slE5ZxgccIprN1zwCNEBfzjGXB/teRFd+//+U0O3vy\nWrEd6vfbb+ydsMNCB3YXiUqdoclUiysNAx3oezrJNvK8mh4CcOF89XeRjaOv\nAYpQnd+ElIMV6pvdyyuP6F+e5kIcXVn+EtMQb2LixnvgmcskOdnA8tyxfOxH\nSaKg+56ROvVWNUx0DzWzd5vLDWAyWVtADfv2T2+vJxh6xqAClNM0H+wED5Tx\nM1rHtWY94pWRjieC3NgZNqJcZjggcerzEynQ5emzS6JC28FWvtHW5DoSRD3s\nuRIvjVC+sK6PAhnjgfN5xWnWpGnsZOxcrbX/kPUXw0wDWj3LZDdIe2jmrPRP\nJ87iRHDbpuYkJowE5tXaRF8HKUOGhXkiyI9gkRJ7maTR8GChxXexqABaB1+p\n15PCd4EC5Shcr0+mmKsuy4VrvO/GjqbOuTiOiA1NEEO5oF2iw+/W/eAWQhRZ\nvEvP2zr/+N8d5vAzOx/ieoYLNm6NBYhwi4g2nx1jTRI6ktfn+YbTO0AOGuWK\nikUsCORofPCmTPY3oaP6YZ50ez2ySYR/bvzRPC7PMgguLoKJ8x+XuuUKbRSI\nte49\r\n=8qu4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e8c7902721c81225e1c8b750094cbe6ac4666a0a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.c8edee52c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.c8edee52c.0_1619559905122_0.4468564233693313","host":"s3://npm-registry-packages"}},"12.0.0-canary.f5b6110d6.0":{"name":"@material/dom","version":"12.0.0-canary.f5b6110d6.0","license":"MIT","_id":"@material/dom@12.0.0-canary.f5b6110d6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fb0979416be33116529c2dcfd47015cbfbfa69fb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.f5b6110d6.0.tgz","fileCount":29,"integrity":"sha512-/sHnTHMQgiG6RsK1qCsHcMNFBqsb3TwIulNRMRSbTFwoqo1Kvuy8BoQEpuwGDrMosMUCB7JSxk0+zTvxONor7Q==","signatures":[{"sig":"MEYCIQDJA8GeCgUfVSgphqFXzy755CtF5dsVmtTpWkD2l1okhQIhAOORVsEoX5bgKADuQEAOccYzPJBYV2OlzbvXid6Y2x7b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiIrsCRA9TVsSAnZWagAAEckP/AzOvUCCszG3SyaXWqeo\nunpNVdH2pSF4q3lud3W5R69wOwkNHMAQf4r1WYbDX2QqhoO6p9uCMM//6ETC\nLidFAb5AgKTyzhXiTU/vYbiFZY1/6niWhKd5ECgBzmzCIbWXIujFS3fRpQeq\nTJpOKPEQSgELbH/T8U9oZamOXC8GoXfJuCk1UlGmaFSr+GUXbRcScf+7pDcM\ntav6pl6VaDch48aNus5ZNpp0r/gkpIQ2nnvfD5KI/V6tTTQY+qEwfN35qEWY\n9ycu2RJegiOJEQt7SIKlGlLiwSoGVIgmBy7Q/BCOirQcZ4kG6SZ7/fsTs9Lf\n8C9jGtNV9B8ixuLHmZTtr4+gS8KttiabOpUmaD60M+J805id8W4fhZSlSJWX\nh/rjNU/zNUkH//RVjNJCSfUAIHms51WTfItrP/ZvywsBesEE2RcAuFf1bjb+\nGNswRkxmA0k8x2wJzeCw9fVI1b+mCEh2A1CDA6lfL+xODxYJ+rplMhYiXcA1\n1jovdIMWMg0QB6MVaZ822dyK3Yhf1yh80KPeRmkgPphE/lsMB40IHcInesI/\nCMFhwPIQAup32ySubW7DWSGn3PqfJxAEk1iODTkM9/550UrCInwNiVCujQ7x\nwvbCgJHqRqSo3fbJDH3eA1dZb2vTtd6S67lBzdJ0TF5i6+cNF4+TKr0EpLVl\nI7Z6\r\n=r6v7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c7be6486c9ad6826105a70187add5afee2a6b50a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.f5b6110d6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.f5b6110d6.0_1619561196094_0.8576443789183035","host":"s3://npm-registry-packages"}},"12.0.0-canary.cee9b9e22.0":{"name":"@material/dom","version":"12.0.0-canary.cee9b9e22.0","license":"MIT","_id":"@material/dom@12.0.0-canary.cee9b9e22.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fc30cc648d753b526aa68ddcf21d821cf611b1e3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.cee9b9e22.0.tgz","fileCount":29,"integrity":"sha512-3VxcmRx8Z/Iz+j9ziKIHqaoZ/4vSB3qGI3oPJu9r/GSobIr7VMg7lJg1r9IK1G6tiQkohb5isUWDMIh0KIbp6Q==","signatures":[{"sig":"MEUCIQCdqoVMUO8I8SimB0WYCXyXBNR8AeQGC+k7spkWGYaFEAIgNCOlA0FRaS1PEQml+t2L2K1hJD9o3GbyMGDjP8qpKrY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiKhJCRA9TVsSAnZWagAAHCsP/0OaCNDKsalhEWQoBlZ0\niU2qtbUgDcaxl4rZyhlaPwdcdyzXuA9nbj9VgUKyTXX+EZ+RQWUEyD9uqeWP\n5aKj5CZpT7SHrSQKzyvHHds9IZe+j1wEATfeah/YiujigZInNPRFquAv8hkE\nd/vsG71RvHe9C+1ZwspfeKkL3w7mDZfKat2BoYB/RtSUEIztnWRL0oJzsRPP\nJQUY169VWEw9lGVf2rxrR1YKRSydXpVIf0MUGocLSq4afCNUiPO7jb1x6SlV\nb/XrujioCc/Xl/dMT2sK02W6irpjJtP9UzGOAldW8evp9XkC2VMXvB8hmJYA\nFqlNyUgnILdZLZYdRadPyr/P8O9LcJdeV/DzzKAIZoJhvBdC/zRlgXFpvOYT\nymB/eaMLIrek92xnlgRHqo4+8uSOXINUA4k7kyBJ+2kpIjsX2qmEhB0YyB55\nCrGisWJkrwJcOKVg7ytQSXcuwFFhFIm2Q2QzsEu1Kk85/6uHz/QYHcJwPtlC\nBUC9CUg9Y889IyRhkq0UIv+U1bPYu6bZsjusmLVYWWlgCmoQ3YJ6sF+IoxDe\naN621fD7dnb6SDqRxqEtoHQZCTlrjaU/Fppv3ilJKcwpMserhS8cTFE6+77S\nlqWvT8a65hODsF4seBUF++SOP/uTYHkj5jadu5ehmeXSAaX8xL1uc3jEwWm9\nxkY9\r\n=YfXG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b0c779970f0809be4565910c1abadeed4dab0377","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.cee9b9e22.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.cee9b9e22.0_1619568713195_0.7174043353228141","host":"s3://npm-registry-packages"}},"12.0.0-canary.96e83fca7.0":{"name":"@material/dom","version":"12.0.0-canary.96e83fca7.0","license":"MIT","_id":"@material/dom@12.0.0-canary.96e83fca7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c0c8ce623280091b8ebb9cfc5749cd3af19012fa","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.96e83fca7.0.tgz","fileCount":29,"integrity":"sha512-haGT4f3t3+7TaoT/SN7y2tiv+keiym5ZJ47642GlJKVybE23HKlgt6/WyvCh1SAGLA2N1NOzTPOU4zg3gjP36Q==","signatures":[{"sig":"MEUCIG8GyJ1hhvOhQeLzPIX0E0Yjtfmm82qrIuIoLO4qiVGIAiEA0FXCmG/4pcn9+bTlNtoqFIDCSa7lidbuiEC7Ko38l38=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiMymCRA9TVsSAnZWagAAMtQP/Ap/A+g9eXwpHmJVy/mD\nD1dfXB+M7LvLiC8XkNyhVlo/mtsAEPcGXIZd67WD6lqCzhlMWsLWtRUVdsnz\n9am0slTahnxWvFkfpwRzB/xVorEZ0bGzlEcWUbfPuavpRhljW/j9yB7Yfmiv\nOcb91kH6lyKVI7TMTSH51I3RDxdBbtSTclQosVKa1PUPLvEcWoD04NGz9bWq\nnG6sGjT7J+BxsY0tCa55kRoo2CT9GwpAWKC+c4Cp9+TSaKvchwFneJihXOHx\nn9y8cRs0RCX84IVIzoyHP6gPsyzTqhL1yTJFfT+0eoGQN1NRpMVrEhnsaEIw\n0dpMNI5XpWlbfKHPB1gRYMY04kvLNh7Vkh+ULPMwjMhPXN/kr2Qn9EauTIr2\ngCXJwLRU/weyAQ9ZecZx/GJoEiUlXZOZ8xlmPsYfRai/Kw3imL30uWqQIY89\n+TMHkkTn2mxOG0D4dhDJXXtdpciYU4Vr/PQuC9kQc9KIxjaeiMgyG+CvpxpQ\nyvJIO5XUH3chF3sG1miKlwMMW9vQ308l+jLx19JqHzpaeYY9Cs9/hNVsBECz\nb+kuUqicJwMYH4rSZ+wtKyH8GC+CiLYYkrq/XSPJAEG+dIswxKEsL+mnhar2\nkNQoDns/CJ7ubDdvAAlwz2oCWY+oSfOnPRNFoxQzbVWMkdZMgxbTR/PkWyJQ\nneTf\r\n=+bKB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"377f0025088676d544c1393884e5f27e96143f16","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.96e83fca7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.96e83fca7.0_1619578022433_0.4851367231918282","host":"s3://npm-registry-packages"}},"12.0.0-canary.4c497bd19.0":{"name":"@material/dom","version":"12.0.0-canary.4c497bd19.0","license":"MIT","_id":"@material/dom@12.0.0-canary.4c497bd19.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9bcd6d85cb002518cd8f5d6ac639b5610cf9bd81","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.4c497bd19.0.tgz","fileCount":29,"integrity":"sha512-vMtc9QuJj5ERb4vYkAsSRPUSnf+d5TXi1DaibwgM8YAQj+p8gKVDOAEsEMT+N8qDIOo1zURdx1skF7D1GMsAdQ==","signatures":[{"sig":"MEYCIQD++01iV/ZH/i2PtsUnIB9oYMty28AjOKS7iJw+wlE9CQIhAMo38JAwxlcKIMSeOoY3lVxtsSqCmmwZ5BEvAOUAdgms","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiaDoCRA9TVsSAnZWagAAQ9gQAKNlDR7e2BG7Eq2xe4Hr\n2lh+iTX+8gFMb0Hct/0Nddy4VK9PkemJ22VQev1hdhiKROHFnyzz7hpT8vDv\nqlDOPUu8AFNDh52PH85RlvbNaJ2EUf0aoLShcAf+4bc5CNRApqymN9Ipv5Lk\nYU6hZGhtwtuugr5mFZ0bdSjqcMBiqVLZAkx0zZnwzNm8CyH70cUDAKWWYuSu\nAkMh7YX/UBM0kT/PEYs0BlLStvymW0XLtK4hQk1Gb3GY+cfCsF+G+lWt5T9N\nOHnEOVPwYvEU4+Mhd5Iv2DX4NcE+lf6PHr3umAgf4pNwlLG6iwfPwVLDE3xD\nE7E7ER37DYp5EfZKKwWsIzK2g7sTvjlkdiOXHNbPZqW5MEwnl7twV8bRbkzv\nMVte9RcAdZH6vxz430ZhG+CWMyku9lnWL+tGGmgp8XAKThXMYlQV5WNvmQ4/\nh+uZgUA3wXuu2ts6rwxGFnGsHosFBY1SZtGoVDbhlfniz/GN9N7v96uubLCw\nmu6GS/CLZfdYfVQxVC1S4IPcAHrZyNGJQwMZw6gAT1fiVY3KbRKq01DtQMY1\n6N3sshnTzVtKbtHdhXobycc98hxU2s1YfnOHqhQK2lnZ7frZnwJWbEoYsJjD\nm2EGLSDfBfrMNFl56oyg1aHQJWIGE/x7h1SfNkj6VV60izRMxRItQGuNWz5t\ndUre\r\n=JRjX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"beb4a14c8f43815a21024c26a96e3c53851a9b41","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.4c497bd19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.4c497bd19.0_1619632359546_0.26126773254328994","host":"s3://npm-registry-packages"}},"12.0.0-canary.105b15b96.0":{"name":"@material/dom","version":"12.0.0-canary.105b15b96.0","license":"MIT","_id":"@material/dom@12.0.0-canary.105b15b96.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"375683ee2ca86132d925524e8b1e67110c3f4ae0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.105b15b96.0.tgz","fileCount":29,"integrity":"sha512-Y2K2aibKCkU09QuxrwQ54Nuqwe6KFGNnn1jKSEEzM9lSZj3iXRa7LnFuoN6C5BAsrJsWl2HVEY212hPfZywo8Q==","signatures":[{"sig":"MEYCIQDGnsbtGLE2/gtqLwiQXij0ZNpfdfIH1n59fT39ylPx2gIhANR/3oHpH0Mu2mMr06rWGRRPhxzTXtn9kqT2xSQjnHo/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgidcVCRA9TVsSAnZWagAAJA8P/27VI9s2yy48VVe7ejWG\nQ1VdaNjcvdMYWNuUUzg5Q6zgm2iwri2JYwVTG4r0Jpd7r43WCVVdASzicCH6\n+CjP4Qz/XHVfYW3ABdB4Vhjvodh25K4Udtoj/+E/59ul6y7evxVv89OLRGOw\n3XBJku0Jkurxf/wy6TqOGdPGw+OOghijQ4emf70D8c1x1hSTb/bQRtAsoX1r\nFWByOJpDsqkhNRHCwnu6y9YVT8ySkce/CMTiFRSpaxPqWM7nI9gqJUbx0gFU\nKbwDg88NNGDHMZnhM+IOp7P7supLd7G6zlSMJKfzmhI9goZCbRIR7FQM/kOF\ndtuTYnVLW966JRSe56xFokvRHa+5dfwyNdwZ+q3HiWvcL7VUDM045qdH1+DW\nSl8C6kdpQE0HL193dqTwTs1D2tFW3xKMoxHEMyh3K6/P6oL/PwyL7dpP9+9K\nSNyV1BkGH5W1SRKmUtCNLBFibueyZEMpfX7emMEw1SlhH99v24xgbZeydAN7\nq/qgyH8+cNiYC30ImuValoLhB6DFqxjxZzod23eNkEy2SHMrUfgMsn0xUMo7\nTvCqmiakm87F/MS3YsU4nyAAEdDD37rW2dk4AQaOS5gkPZXBu8icx1GvGuAo\ny004Unv8s3c6dvx7RVMN59j82Z/MLZVtkUcRFqcilwQkxw4EnqM8/LTAW+CU\ntCUZ\r\n=hgtt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"762e9351a26c1968c772104d6d64f7874c81528b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.105b15b96.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.105b15b96.0_1619646229042_0.16429913411251285","host":"s3://npm-registry-packages"}},"12.0.0-canary.6e20259e3.0":{"name":"@material/dom","version":"12.0.0-canary.6e20259e3.0","license":"MIT","_id":"@material/dom@12.0.0-canary.6e20259e3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8be503cd5e1b1ba95f50f81548d520f78bfa373d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.6e20259e3.0.tgz","fileCount":29,"integrity":"sha512-JwHjtUZOWygjqoJXnrgeKoSJnT321AXsEQAi1DxfLiFhGzFD8wWj0jIV0/Hxj3+hVoCkRep+t33RPTrejTU4Fg==","signatures":[{"sig":"MEUCIQCV3f4HKraC8QsYzFe4vZm4cFrYrBOx0Cnm5/JoXfBIHQIganRNWB5IS6CjIdnjP/325G2ckcjqe6p0LpBbmZfsHGs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgidgmCRA9TVsSAnZWagAA8B0QAJip/Zleygox/fT+ifX4\nV3JxeFTneJcMQn7GVRer4sR2in9mQ713ZBBnytJSWNgTEmyeE3xz8oIXIKv4\nAmo693+qc3fz5ffIk1/7U2jN2sSnma8qvz1RPEl5HoZZGPH2nct9299A/dKl\nlZUIMjmhyRLjRam8n95on9Yvof6DLIJ4BX+xZH8cAx9/HhMJ7qHh4NlTsRBj\nJIDS9Rnu7O+9A2oeCLoowpJ2CyhREiZlgXCYOyq2gnvx2VVchTfmulIKQMrz\nXruFPP86ghOmo3tGl6DTERnt9I/doCvP0hHT3HskXwGMLYrud9QZKBUsPOVl\nrJg3RXdpq4TztlGXCDeAKxP0nugoyT25DdgbKNVW1RA4PP3s/fvH2qKKT8Xk\nBWirf+Go58uOGAxzPQ7yDPig6HIqwoeSXZTQhgUEjaG71pGajZjYr2oCelpi\nTcvrQ3zE3KpnM1tzpP7uZNIz441O9FUE6X5bKCpDdgVJcWq5bxscgd6ATFNS\n5qBM8PEWrBvejg1eiMbl4yDE2GnERd7VEbRUWf7I6EKwCUeDgoBF12sYNevh\n0aX5mpq8YkC7K5WeeIIhrPnltLZNKuJ8XuVsbcNw0msbCkwIO5saeDuf/ouH\na8Yht7K5YdcXWYDGcl0SFrcEzKmDfOm9hLKpa1zzbcziFj2j+dF29XgRl80Z\nuzhX\r\n=tIBa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8e07864b42f463f977fbd0f9264b8930da72711f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.6e20259e3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.6e20259e3.0_1619646502290_0.30778205973866113","host":"s3://npm-registry-packages"}},"12.0.0-canary.0f79a5d74.0":{"name":"@material/dom","version":"12.0.0-canary.0f79a5d74.0","license":"MIT","_id":"@material/dom@12.0.0-canary.0f79a5d74.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c942a7220b9dbbb9f38424534fee4c6ab416655f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.0f79a5d74.0.tgz","fileCount":29,"integrity":"sha512-NuxZ+vbGimn7JiNyaNyX7t+Mp5ibBV1q6gw6Vj+01OLjL66LP0SPE4/MxaCX9PGdbzq0LYOII13T9lZ5ekTFqA==","signatures":[{"sig":"MEUCIQD0ouHNcPKdID8Bdlgv5ALqjZesmp8EoYneTXC9ak5VWAIgaH5z+MEbsTyJ5jw7rP6IqKbB+Y3hXrwHy5WRQHMXiKw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgieTFCRA9TVsSAnZWagAAOAsP/0IGqGr6+kRSKtRks0Sj\nf8MNgJACZ6pnyBYo5/gWT4wNtH/zASSQ4EwdnFy/NEZO3OFX3bMDy95U9v4I\n9wVAU1aYJbWnuvEO2sBPGulDciALxjirHuWekZhfGkMhI8WYatf8n6StqVqj\n7YZhQ0V/im2rZ7Nl7XKRrNypA3qI9TYrlkImoyXFPlW+woARXL5QAv2jMhEH\n53JIkNxjRYvlmWjCBW3oDSdEzdEsxDFZ3qZ1E5bdYFkbB4o2PJL9qPx1JXDR\nIulvjVrS6tt0aOS/2TjxY1dGRHcq6NtLdBeT8PryxRwG0Aigi3PnK9F44kDt\n9IB59WNh6KHDnLeAcVVBoSkhCof3pNVL/PQsy4ny5w693qPVhz6SdqLPagcq\nRVgc0w+Fh/pi08i7Dm9wLzI8w323DND7/IxwmywMUZUIYSLXkCm5L/to+bot\n1sYmp77PwnfoQw6AgNHoPl8ZIB7iyvdZd+l5e6qvFx/qgRNtf2ADIBFI0fg8\nvKT4p98stcrWE6kx1M4Gb0JuW/s0pzHktZwAu76pUmy04SCF/elwbBS+KQyh\nKUIqMJ3KeEL7lghSY0Yhv09K7NsyfdrpEvDRV3qg4vytLS5FowNNJlFJzJm4\n4TjWNlzA2xfCQKmXR5NGIdyLxgfDv4N7NiEfP/qf0rcXgdh2k+Cu5ZJU+6wc\ncNQk\r\n=Weu3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2fcb990c07fcc62dc025eb258f87a8f04f08fee5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.0f79a5d74.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.0f79a5d74.0_1619649732553_0.24054223152219256","host":"s3://npm-registry-packages"}},"12.0.0-canary.84f3db9ed.0":{"name":"@material/dom","version":"12.0.0-canary.84f3db9ed.0","license":"MIT","_id":"@material/dom@12.0.0-canary.84f3db9ed.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b5d84abbce8e0387f33535ac4e9d5ac2f40459fa","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.84f3db9ed.0.tgz","fileCount":29,"integrity":"sha512-7bYREpixM3ASFh05FGz53QTwXtlwjTOfJi30GGrXoWMJfNT+gyNp0BINvoYAVwHEBSjVdaZ9CQk0iMr5+SdEPg==","signatures":[{"sig":"MEUCIQDiA50YSe4cNmyUHMhzplpgurStdAvpcEvkvJ38y1pCKQIgYGaVP/nUYESRKvnfS3z5DwIzqQk/gPkAwVK7/0BUbbU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgir/SCRA9TVsSAnZWagAAWDsP/jFCaNcHAu2pB6KQe+cd\nB/jxu/EZ3aqOPdC8ga6ZhWr+n+MCN4otyr8rP3DUC14EgSP8hbiJYYqmXVxh\n37EmSiSq0hLYawMnuWb1EL7vhoja6akz5CXFgQSsF4tCjYhPXFR524gEJaZ1\ntEsxOE76o57ej6sohEU9mgOwg7m+Z9dHi3iphgzmzWUZeGZI5ysX8o9vjn5T\nYH0dP3ti+cdub8xjnpX/M/SHmRU2NUFy0B08N/ekkfHXNoOMQg6VBi/8ZMCQ\n/1pQbLUcAARwgOBfeCcSGAMWqTbwA5WdKrWVzghsM6dh8pddlKBytxajBFXA\nXcPDD/3RGojUKhKiMjYruph+5m4DMqXxy5qTNn5QZlAxCWMZjDDeCyf/fyOD\ngLX4YWBcLUlv81XGYTLaxaMLyUJX5CnkZpd35hqyYJZCzqW5PdJfbzyFpVdL\nYcNmtrzsvRrE7JFu8Pr7U0e2Oa0Gr/ATnoO4Wgc0k3HDaE1oxjeD1DcQ01vg\nw4nFUvPv4h2wuMyaYFyLBeLk1VNfecYnNe3VWtztSukdi9JRRhW4gKxMF+Jd\nYqMChUFRJFcniZcXvUhITZSR4314eXN3tjuK/J7wQcec9kC7J7DgsBwpTCbH\nv67MJ748Li4uQm24BCt/6Cxap1i6lJqa7VMcW1dR75pCw2I/Taa++O+XDbv+\ndkT3\r\n=PXLr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7c4b7e41edc7737412479194451432cfd33839b4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.84f3db9ed.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.84f3db9ed.0_1619705810458_0.7729101113836079","host":"s3://npm-registry-packages"}},"12.0.0-canary.8fc29273c.0":{"name":"@material/dom","version":"12.0.0-canary.8fc29273c.0","license":"MIT","_id":"@material/dom@12.0.0-canary.8fc29273c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6c300c937fc84ae14a4789f733ba3a144182caa1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.8fc29273c.0.tgz","fileCount":29,"integrity":"sha512-upDkpclDqf2rxROlXUCLTgnvIVpGWdiDCaio21rR2XbRZXKm9NLD5RR2mfGBpGzlQryJESvSrD13gLwmy74XWQ==","signatures":[{"sig":"MEUCIQCDPwWRVNees2AtKPzxzNMdAnOvyxGx7f/yiDoz8WtVLwIgOA41h0LXaqJWcCMJ1nfY8ew8e5+6mUqYMRVK3zu+FCg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiyOUCRA9TVsSAnZWagAAPWMP/20GfEz25Z1rBy4YO+rX\nVaJQJRvOozLENtAGuV/TD1sizJgFY7pOu9qU7z+zeFRHS/fSq7AGEVVy82xA\n4AFQO05YsnbfLsDj9yjiQPDR10ILIE7C/sev9pJLASH5mNYR+EngNuhTlflD\neAF0jXBm/IZdJ/aR0esK+Quzw8Vci1itl8NQvPX+U/MXJJ7sMwrkFMIQEB9i\nrXYSUdl1sisw/oQ+63zZpeZSPNj8iqVSmrFGIi4wfjQe/JuJwvsZvEov2TDQ\ngjWzs22JPRczkPxYfSpDCXOBrS7mun2+NjGjBFPUiGPNxXxdyUtJsiOyvybF\nlFlaxhnhLPQsKugtQjkOZ2aUZXAMNEJtB7ukoVfsk1PmJOzdzWdcxq2nVGjx\nxWSUplZXfl4DL6pn8rPfeprGOm1D8+PNn06xSPhBkHpo4iwA/mJgwHo5D3oT\naITUsJiycfoQeyQHyGfjCVHtu5bOHnrBPkaAm+qMtoAFXAzuUgLAEv2NcVgl\nzUFGRzkn7q0/wFlYLa1Z4cim/DG5q7+BJpZv5HCj74bJQtnGiBLk6tIVLimC\nEasfKp18OF7tclNx1NwWf6aiYXROgi/QBVI1tOo9mAE49adyO894lCh0XZig\nRkGSQavqqnwr+B8YFDmb0DttffkrTXa5zGQ5o0OZp72sHd35eIyx597c0rAC\nSSyf\r\n=UfCy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fd877c3e50788fb95663fb8213bcd66f347cdd0e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.8fc29273c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.8fc29273c.0_1619731347842_0.34930138510282216","host":"s3://npm-registry-packages"}},"12.0.0-canary.c50d20bab.0":{"name":"@material/dom","version":"12.0.0-canary.c50d20bab.0","license":"MIT","_id":"@material/dom@12.0.0-canary.c50d20bab.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4a7aa7e8bb1b6caac7a01df0e6ed7006f55f5981","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.c50d20bab.0.tgz","fileCount":29,"integrity":"sha512-LW1YBgcVq8QCYKEGQiJubAOsVHR4A/klgiYeWFyrinn7Jv1+1A+rW10JSuNiuIM20d+SkJaK33TkuOo9mk/2BQ==","signatures":[{"sig":"MEUCIQDtx1JBquxSrbnhP82MMNeqDHW/4g8Q+JJ8jv6YZxy8uQIgKqS6JYL/Y793W73T9IurChecrcbtYF38La9WQwm0pLo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgizqtCRA9TVsSAnZWagAAZ2IP/0NGyqTc+BvRUF9dAZMz\nJwpJyowgz7bnm7P6N9+iUe1IW1MyLSKQQVeYp9h+LC8VZ9TdQ3wh0UK90Jm5\npALPbJ5/oGEGtgwkbzeVXR8/IoOKkPDp9jUnA2qExSEwdNzsCXepOYQSGjE+\nyOH3WiYXu65eBijJ5OuKdrNjb5lN8vrisnfa+ijTiMjq8dcRMT4r4gEBdklm\nxHNg/0Y0FgjL+8HJbGHrtn+vHr5P/kmsGBDczkxdFgDsf2+i5qPMZLuHIjbg\ncH11MRYLeRs6MrEXFYM8WyjiMafB212LQY1bu8MQAo0ftVUDWUSpUJPIaFw2\nMnJo7upeK1eK7kko/TJ+YeovDov9/za4lXG/DfCYn0Rdy9CxQNVYwFh8MZqb\n45WAnBFKQfxzzEhA3aHITDXUrrH9CAbsGUsH05uF0YbCoKLuua80/t8/2DFT\nCwIDFS3rxK+tsqTdZUBvD2PoK5JkNaBPi+p+O2SyofUzmmUyRic2BJOXtvgh\nNABUWd8vjRqZIkchYgygVr500T+qKf1nmSirdxnMwNEutkfrZbRYu4egh4tT\nVUcfgpeHbioGYDlDglZJq2+jCadMNAeGLkDZMaDSYEInhGuPw6DWTBnADYVj\n5HyW8Ak1v/p5/1ppcDjNzuWlTT1DxeDC39Ln54NiE+EcVjqELRrG9gqqVAWk\nRuKS\r\n=lviJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2aee1fe5eaed5267b0e67f1610c29dd399d323c1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.c50d20bab.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.c50d20bab.0_1619737260751_0.5221474079417772","host":"s3://npm-registry-packages"}},"12.0.0-canary.474836ad0.0":{"name":"@material/dom","version":"12.0.0-canary.474836ad0.0","license":"MIT","_id":"@material/dom@12.0.0-canary.474836ad0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2b4867a993c50d6ace95733d8d2ba95eeca43558","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.474836ad0.0.tgz","fileCount":29,"integrity":"sha512-ZxBeBwKUzYHbzpbTMBH9RSYKfd0QZkGpgpOwBDrYdRUcWy/C/+6Uenp0Baa+s12VZ8YJFmhyBqlCi6PFosHqRA==","signatures":[{"sig":"MEUCIHXvWklmwKP+iHQtm1HzPTbtxaqoZIPN9ps+Euk3SyHRAiEA8H+NlQsv5llYYKSBmzOmUVFaE6ol4WtfYiMIc32J+ow=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjMzSCRA9TVsSAnZWagAAVCwP/jH68xc8p1/DF2njv4yO\n1nDvqAclIvTlbMCmZZ+lScU8k4KNxPCGOH9lhY5prk66Yo+JSrvkNC9sCGPv\nxb63LoVvqnkCa4w+un0vP68e9zdaEHRNr1d+2EGAnT3ITiD1RgifgCNOm7Ga\n1AIatAtm3C/L/oQr7eMWfpVykIFu5eqTMNIyQnmoiK8bkXFhNDzaZ3hx6xFA\nrL4+Eihgv5d2tU4iYlkQbjsBfQD/abTwSQONkGkWa2O+ywAEYrFgj4aGuCn/\nD+Om5TFpqeW1UNFRwpGLOeAyRxhbUYvq6q0xzc48hXO3YgRWZBryFM/8FBgn\n4iq14fgVipuuyqG3z89JP37FUIH40lMKeskEgblvCSGunTjDeRA/KozmC28H\nfuKHEclipi0o7lEVo6oBN1VDgGD2spJ2exDBF66PfPNy8UIBn8H8ExpcTnJj\nsRw5QlHIJ7M8DvSEudUclxnS9BN2wOPyECsMvyPQ3NC9h1DA1cESixBJHjul\nILno8Wb93TqaPTr2X8QFurp56otIM2Xa395KYUatWMg1HHiiFedK8z1d4I0c\nRYsj48NKk2KfGKhVevlz0JIQbYqDHekScdr6l449FXNq1qRLRMGGs9/DneJQ\nh4Hc9EF1wWMKMidNBIE8QuSAHTlTOurdw2pqv2jNIxwaHUaN1v7FmF5pmcme\nbAnq\r\n=9yNo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c9a6db3013566afb165bda88b05607f2ee398718","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.474836ad0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.474836ad0.0_1619840208909_0.34518726933624966","host":"s3://npm-registry-packages"}},"12.0.0-canary.f5ad92287.0":{"name":"@material/dom","version":"12.0.0-canary.f5ad92287.0","license":"MIT","_id":"@material/dom@12.0.0-canary.f5ad92287.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a66d95958e6d47ffffdd5c218d58b92561e0b6a4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.f5ad92287.0.tgz","fileCount":29,"integrity":"sha512-r3PdKtutWSuLtcxufl/bSHf1cJAH/mtgEvjJ3inBsvkXpc3wOv4B3gkarztse2L/shfSLGokmA7ZmY/CHVGl1Q==","signatures":[{"sig":"MEQCIG3rMmyBA8YDt5BgY2bzMsyyVKAYlFEcZuEn35H9khnWAiBBPjNjcwO6NwDfFXorOP+ND6xkMV+hInFY+AJhsNV0ug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkD8oCRA9TVsSAnZWagAA3q4P/ReANjysisugs9t50XKi\npe8jrOLKFTImqt2Z9IlwqiHZNa8DK+y8+flqX0Po6fjxgnynRfvAsy+LgPP8\nlwXRvIaMs0Jz6Os8ba4MBfBpUCV5SHuG9Rs3AbyBEMPEpI5Ax4ok+qKFmnsL\nu7ecS8m2CXEhIyiS7cszBnERnL2gzJw85cqBzCKWotAsmrOSWncWC9YRMLIm\nxi+HfhxXwg4C5MYZaI0D7Rlvtag4+PrFRF4ua3QxoWkTTqJoBxP9B7NCIAB7\nXklwZet4s2dUUMHlp5VAjqHuvPArUBzk5Hc9y6JqTfnTXZ3yFQIHOLGGjAeQ\n8F6vDYv5cJAln0eYMoEMNMQ2nBGRv0BCjaO1wRzvwN2q+2FlEtFZ/P26bDcv\ntqAXbtHDmoWTgl7GRsd5nwchyUPl2Mgm94WD/pvw8mc3uO+hkWvcIQ+T5y+v\nJWKumM0pwNPqNU1Ph8HX+HutWi7FQ6AI7UUpkwP7EE+k+22Blg3LzU9XWECZ\n0ZvA1gKC0ru8GfuKIHDqJ+y1S5LUA9nH/hjd/rVVJ4xpJW7EHeGAFN3mzVeJ\n9mg63RH3SBdlRfUo1HGP6WxmBAmRU+A7rf/m7aOUs9Jm84HHPtYJtKLWzlf6\nGZowLc2DLaCuwxo5P2IuKaDlTFnwxMfP4p4GVj19YqYZyvXU4a3kYgjZTP8B\nSgRA\r\n=21sl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"493c206bef4cedd10981093c61731e1c1547227e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.f5ad92287.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.f5ad92287.0_1620066087842_0.8238478840338967","host":"s3://npm-registry-packages"}},"12.0.0-canary.af453daf8.0":{"name":"@material/dom","version":"12.0.0-canary.af453daf8.0","license":"MIT","_id":"@material/dom@12.0.0-canary.af453daf8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ad8240f6904096f615bea33f600c68127b4ca640","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.af453daf8.0.tgz","fileCount":29,"integrity":"sha512-aVxMe8S4OXIqNo2gE/pixnPkViANXSyrZpEzBsJLt9nEBjqBu7w7RNYuBqut1OV8R1D0nex8lYgXDUfXib3mcA==","signatures":[{"sig":"MEQCIBIZ9S7IEfkvn97yxFC6zX6/KaRC/52Uz0SsRGmSIoTHAiBTVtFd0hqx9/AbEAECVhyv0ofFI//kuIysrfre6fDRlA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkEZxCRA9TVsSAnZWagAAXP4P/i3QZyPiktJYNBp+FKdt\nVf/CebWuEl6t6hIoF9q2ajxfnb3g1KbSM22qjjXLNvH5A+AvQiRrl5TrOhCB\njHQUecjkXpTdFnLm9+aAPB/CCDvA6H4g9dYq6Gi1FsAT124W9SoXrsPcbsVR\no7FOTEr/7q4CWUenStEuw1dWQ6nyW9rjALA9CyNDBuU9jJ+nY3dB2HLSGl1Q\nipMKBjz3hfvg3/fkXw67/ICptWOAi1s38S+JKFpL5bSkVl1noTLRIpWM2rA6\nn9Ymb5ekukXpqsgzQrbeNrCD+0oqunu6rsuMHwVP0WFp+Pn5wJf2XPDd/AtR\nvyw/QAACHPbIBW4AC00d/XnqT3kEB+6Ch4y0cBSk9SOCGX9fAHtW68vG9ZI/\nsMzSEkLflvSZE6tvdj6pTgcJfhyGXnCtm1tajz+9uVX+Bl1ryG2WJOGbncGQ\nPObKrIz/EXE489MixGLGRuSLEGuoZ52wloYNUaXrYF3259xGgmJ+485GXC3J\nA7tAcoqiH6kH1qL7U0I9A4gLtbO/HJlMwKfG3xGiUbNshz6Z+Zn9NpTLfMM1\nUOzcs7B3ZQJms/1vPJcaDx7q9eF2lSNIKHGWl/gxGtB6IZ9i4D6bRPFXl78y\n2IE41mDiOeL28P7p27E2PHXORiTeECoGPhRHj0e2xI1AHYCtrvdbFTBif1nS\n042z\r\n=kt4B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d55347cda19a4d9469eff68955185d9d5e235a16","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.af453daf8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.af453daf8.0_1620067953034_0.03304950353418934","host":"s3://npm-registry-packages"}},"12.0.0-canary.1f1918c24.0":{"name":"@material/dom","version":"12.0.0-canary.1f1918c24.0","license":"MIT","_id":"@material/dom@12.0.0-canary.1f1918c24.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"efde7cd8ac7abaf8eeee36f2beff4c587d5ac4ac","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.1f1918c24.0.tgz","fileCount":29,"integrity":"sha512-/AgFiUZTYPCLSXzeL4VNeCkqqxXZy9aWle9g2u9JP4ZyN1ommTHfFSGumtrvBu+qE67DMb5AVNuXjyA1EdPTPQ==","signatures":[{"sig":"MEYCIQCMCWwt7L3HtkwCiaYn0Wzg32+gnx4QZIhfWi+id9cZiAIhANpuXgw6y0+tByiQxtGZTsP495XnsOCR+byWsFaQCzLp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkE1ECRA9TVsSAnZWagAAXzQQAJN58bwYSLulzRJVZtMx\nxfqKtacxqn/LM6DIYVMdvXWvTIIofJHdyY/p8ruB3Hmxzo9AUkNg8jMzg8GU\nUsvVKqOoCBpHKD8XQOLM7ORgey5rENpWG6w+xiyMWDi0bSHPlNw8FsCvpyKv\n1438VzMCk8jJmi3uozqjjHYce/K3UxBzbTSN5k6b/MczJQhqIBX0LSeNU5Ix\n6YM0erfOA29jPLouWCWmb2OeQJxSD4SU9pRqJWDE/hbgSHpbPUbwvNwjvQ7a\nXT6uUuhQusIVX9nTEziG6ZQhl+rUjyp03tL82b+yE9CX5imr0/Hkgz0KXC0q\np/P+Od+zJR6PoZfit3KDL8Mt/xwwVYTuveA1uxFelXSz+B7K8yVMVfXH7Q2y\nZfdMDyqpCOqSuT6BWbkndTafdaJYYo81nkg2X/1JhOhd3ofS3quGclaSGPGo\nv0OpH9XtbsW9A7QhY3e6ngtqKgskqtHrsDV/vuO5qjARqZmSDLvkbsjnMWfo\ndR50deCvq8q8SB5jBTRzdNbpxrObtNnqljg7/bz6cLoMP1xZQcIS7p6B08Dk\nWaeerKvQ+EKvHD5698VXABvuzHTebzSmPMJJ+PIR7DWs1MhUzb20yE2KMMR8\n9N1Vdg7lwKa/TBBlv/spF6p8OcbGTjZAGL4DYk+SnTnrdfcxWe7/9aZw+JBG\noSwj\r\n=yDdq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cda2e786bcb73ac46385a1c6459a8ab7bd9ef6a9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.1f1918c24.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.1f1918c24.0_1620069699562_0.9093337295663848","host":"s3://npm-registry-packages"}},"12.0.0-canary.33148231f.0":{"name":"@material/dom","version":"12.0.0-canary.33148231f.0","license":"MIT","_id":"@material/dom@12.0.0-canary.33148231f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d1260200a2779953a16ad98131f949f5f13dd60c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.33148231f.0.tgz","fileCount":29,"integrity":"sha512-zluA2EwLqlE2miM7TP1dggzMHLLbCvr48MR5YZhTBkHeWOxvDzhAVEBXHtCuFR+kUnA8dOzgYriC1QueP8HmUA==","signatures":[{"sig":"MEUCIBFPLnECvbmBbLUz7VGo+9wHcZRuRSyHm1lTjXamRhMaAiEAiVqBiGSOwtmZoUSwp8wKYrLlIyD7GQqAUrBYYAnQ3K0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkFEZCRA9TVsSAnZWagAAEnYP/3wpBGb2GsXJCH4id1bU\n55hY0fAZlutY03Gu+giwZkfLFN6xo/kiuIgCpkYFnstftGmiYTYxgNpJ92Bs\naBviF2Da7GPQKrmAZV4XeF0vp9TDaa5Q9/UgSYYsmFSXAYJ/xHGJt+wbhfZH\n7DP5WCs8OWB2iBIi7FuCx5au57f1JTVkhXv88o4PgPyhgRFkaeyNtj2wDbST\nw92NTyjUIO9ijjrGbokA3vc+sjTJ0FmgQjYmEWL0DFMXORsuqybuvoRSqaDm\nYzLxKvQX4cw68U57i0Sp0PZxD6hieHMQWELQki/vny6vq2aRzA6nEOD4CMyV\nVAn4pe9oL40skDzp2gDDNTg47t/15ANwBVzBMHqRAYvTYLLRHnj6mUInKs9k\n8ZXbXXzj8SIOrzErAZdb9vDZGtzgugnZnpr2H+ll/PVocTdk4yLEAu5piFgL\nr66R7TFQrnojuagrF30COLMBukSXNYw+FiQ8inqiPhKUXkFd56s/w/Pfk5T6\n1lZ5RpYkeg8CXZwLL55NtZMS+oks2Zm3q2rz5ybCBHLIAsiZeCzb3s5XmiAU\nmZeLScomTt7/2/HfWZ9IjY1cV4OFHGbAy0Ky4fMYFPcNW7RQlYX/akviI4B9\nvlUii1TNTGzEKLJRn9Af+FntHvKvUpYHB4+PwHVEYKKVulC8jIF73et+AiKC\n4ZZG\r\n=K81z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bb5a14b15a74fcef265050ad96f737d0acf36987","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.33148231f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.33148231f.0_1620070680533_0.5009221335033727","host":"s3://npm-registry-packages"}},"12.0.0-canary.06b76fa74.0":{"name":"@material/dom","version":"12.0.0-canary.06b76fa74.0","license":"MIT","_id":"@material/dom@12.0.0-canary.06b76fa74.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f5f0c517bfa3438ce6a00b0d7e374271ad2dfd3f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.06b76fa74.0.tgz","fileCount":29,"integrity":"sha512-p4uv2fzVr/8Gyndf++Zh6QrgO564iprlFmM0zLUlcFiSxWA4jgYgxlBoj+7bubQmGEXWB359oheDN9jWk9Urcg==","signatures":[{"sig":"MEUCIQC0cL44BvseBCz4hy6wZtJR5vb+lL2fYSJSM7/oZbGOFwIgJw/zlGUL/iwGpntxlXOiEtvFHJSp1B10RjqldTbTWPI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkFK/CRA9TVsSAnZWagAAvwgP/imwqX7CKCu5/+36h/7C\n68VapMOWfAxyJBpo0UWbwTTPJZLgDtvIErv41H08uRr/DDWIJVGsmeaGedlT\n9YGMjMrjKUCsM7NtURn7mFnj8Q5sDPDlbUzQPMrASfPWzUnYv8BTqNdQTfvO\n9OEeSnzfDWzuXm/Hgst5kZMWgP6ywPwzK3EL+lNb50nF0d3utYO4o7/Jah2x\nm4gRUtoM6XKEsIPeMeVGDk/E7/BvBkSjsgAwI+2uROK4AYwZhsawJEQkcKXj\nXH/cDQhhr1BK9jSRarfos6RtEvb05C1oOQE/GgK0HELXElrkHgbPzNInQP0s\nE/CsgXnTZXqekFwBZR83Cjhb70msvpqlBXSopV9tvCiCd3DbvDuUoIFnasjp\njqjWUjQZK/dQrumujbn2FQhkvNXvjGKDu4SlXDpT/MZ14RwHXhyTR09aPLPZ\nu1OEDdgcVXaMitIzPjbmt1HEVBSrYlY3MmounA69YsMCC6GRVBfdZRKQ2Z1w\nSHOH4FTfkwB2oLk5XVOR4ze8yvVcoi9frp+18OJGhc4yaMW6e89XnEi04LOg\npD0kTSNXVcYqcRNt0SrtceCH5w8kesHeGLRcDu63OehEm5IkCO/pNLlo/VMU\nC2LDI2R4P4xGFO7gIiWrwh+hiYkfOc9HCA0uxL2kUkJideg8F7/qmIAoQp6J\naVTX\r\n=H5GC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6a6a73c9687e196677329640dc1ed025d13b44a4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.06b76fa74.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.06b76fa74.0_1620071103307_0.297674900586135","host":"s3://npm-registry-packages"}},"12.0.0-canary.7c5000473.0":{"name":"@material/dom","version":"12.0.0-canary.7c5000473.0","license":"MIT","_id":"@material/dom@12.0.0-canary.7c5000473.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"116554216d20187fedab5059dcc3f17ed72936ab","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.7c5000473.0.tgz","fileCount":29,"integrity":"sha512-TBsMJT6kFGeiUqrlBpy5TYh1DCd6DMrbd4Fdccwz0lCbIjbDaaZRwHqqBGjJted/bdvjvilaBlt/T4wCUyOlHw==","signatures":[{"sig":"MEUCIGmE5Q34L52DQfgV9keOZLKOuAkOT+FCRzNCRKSYvd5KAiEA1CIujsnGlytEQJ2XteXDHoUF/dkYG34gzXVZZD9nvZA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkHvuCRA9TVsSAnZWagAAd1gP/3gtmok65SGlkwXIAz0V\nD8Zura1ewDc2jozTXbt1UmxPulpWska87lPSdGOUwOheoqTYSsE1bfDJvuv8\nUxG6rq5NWxwpqrW4bhQkiiesgJgjU1XANdP2DF24aCS03NJPrTvghgymTq1G\nr4s3JXWlZkUphmPUOkWJ2tBIyyYgkxAShql/S1jaJsKjob2fluaQk5qxalxx\n4XxsJNk8tnCwEO2HZlueKyDEHxFA+a4xOTDTpR5Hb6wc4eqnZpBW6C57IrQk\nP3uMRw2LUeTOA0YpcXeJQ/8GsRyoRN3Jv7+k0kQa1j91f2aSAq3logr4JZyw\nSy8/ZFgyqYA13BQ/DWjIRXV7CLfcyHnGWrqvMl8h/8LP9BqZ/7quuc5mjtg1\nfRntAC3UxsbFqrU/25SHSnLK8TlPfUzq5THNV9QfKhGnp6H1DtGMhklq7Ifa\ncKsVtv5RtPRhaqySkq9JbBSOLcrOdduwrkLhCaQXOn755Gnv19CBeIagUyq4\nnLifp/mT3poonxGnR2cYr/j4iJQracxu7oz8xDOphX64JHoA8TjQQNOKtDwK\nARlZf8cjDtKXlFfM7QVz69sZjqKKkpllKBDBhUuZJOAynT0RHugmAO/7M5Cm\nJ7u8Q7Lj7qnqrd9gutwuj80rO0S6Ww7QQKitpGsgXRWi84NldV+a3T9NqGEy\nX7Uf\r\n=/ksd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d53e0032497f2efb6a42d541ce5cd2072711f86c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.7c5000473.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.7c5000473.0_1620081646305_0.5815473799010127","host":"s3://npm-registry-packages"}},"12.0.0-canary.de997644b.0":{"name":"@material/dom","version":"12.0.0-canary.de997644b.0","license":"MIT","_id":"@material/dom@12.0.0-canary.de997644b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c0e6e94b36b6b375a9538f67bbc4c264a372009d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.de997644b.0.tgz","fileCount":29,"integrity":"sha512-rLOC1tQv4bZ+FRQFz50ag+yZzfdp33trgwPrFVB+xU6eyeKuNYHK0NOi3Pv4S4zsvUY4aH7g1hpH90tan9G+zA==","signatures":[{"sig":"MEUCIAuXAZD/v7UP5AU5ZcP+3w58e/9cIfFVddcACbX6i2qgAiEA/+HxlIZR1/yvJHZXkBa3lvEtj5GFrzH4HLZbPqUCv6I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkYP7CRA9TVsSAnZWagAAzRwP/0TpyOs81Rf9jsQ+imlU\nybKU5cCjgNdnSVBaEh2Rii2w9MCobbtGj9jVkNyNmgi/JJ8ZDdpyZmx3Vl83\n0rNFr6uU0JNRrsk8jjrczIywJqDP9NGh1BCyK8cN09sRT7oPPE3qqYiY6zPK\nwjC4tyMuaNPjwOgcmg4Xl+j8vAm6Wr3xkiiHQSBK8mRRrFoC29OUfgmXvONA\nCOH8XohOPLDLg61zVYWCAEMwnzHvd2XE+rt9q5yomBJ4wC0LoFbKX5YnmmpP\nRjHDij342ALnrFQxOOkeuQdhvUQKWm+4+FOG52sImsOJmp6VWzLi4bxETu6K\n2axPWkgflNNNFlDh0ovrwIVktSd4zlkGXwDDFa6qWarTPD2aKtOdp8J+tvM7\nlYYS5TSfe95AX6hLG7421KuBrKVjGb/PsD6z4qo5SJgHsIbDt7wsubZVk+fL\nObEZ7hk8M6x0i38GVo5Tlj6M/4Oh9JNFvpnJTVcduIU6eKm0Z3g2TGThI/K5\nnGyFCCw3pgIYb5esJBABTwfY+gPRABsoPrBUIYRkbgCFWO7thgBtZr2wLQib\nu6FxDb0pkxf5OYP/flL3Qov/5vWacB809niWMWlRwFIuVj7rPxrHacw+7SuD\nbvAzh2XxIT7tEHZDuTGroFhB004H0IGf7UpmQeirRXMVpFm5h+NDdvC5P4dh\nc/5C\r\n=+lX9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"efb97e2ef70bfc07ed9b429041e4f201bb0d3a53","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.de997644b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.de997644b.0_1620149243342_0.4018409712087925","host":"s3://npm-registry-packages"}},"12.0.0-canary.d4d7f1cc2.0":{"name":"@material/dom","version":"12.0.0-canary.d4d7f1cc2.0","license":"MIT","_id":"@material/dom@12.0.0-canary.d4d7f1cc2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6641faa0c064bd7d4e5dd7ab22c6171b11f79a5a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.d4d7f1cc2.0.tgz","fileCount":29,"integrity":"sha512-OB+4Xy7dG0j5p2QuR7r9Yxzcb22PN2+H1AJ4xpXhz24GfgpmvANRqqha4ByOAMiV361dNffK23fTTjJClwIUow==","signatures":[{"sig":"MEYCIQCJG7Qq5g+6yAJzTVl5+NgOjRdhmOMuN//vbX23XvqlBQIhAO/+/roywC9cXzRVtbZ43dQn9JZUOrKCyPAfJ9jRkstS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkYo+CRA9TVsSAnZWagAA5y0QAJvY8sDofGAUbWSG9gse\naBhpCoAoI3TwXS7z8L1ovgIaKyjtYTD46FjoRtsXRO7cPqFbIpFl294IXWwI\nDAZjq0IHnMp0PRgUFmGdjXuu1X0zQ5x0J1jbJV00ag/wyygr4I19j4XBwqg2\nB98n8Z/4GxNSdROkqElp1nG6XaUl1eGU+F7T25uYd0i1dyVeG3FhoxfKWUvc\n8oQP0LBH00Vne5GPGlyhZdoMvPQg6eT+vCFN6LfcipDaUL3exlwj3H2yPFvf\ni1C2CsRFw8uXdFsQmT7fehVy4I+xyQduPdicyNY9xFzFmmHSO09bzCd6dfgn\nxZV/UdZ+Wfv8FFbfB2hnbZt3UKRCQl5ZczuPjwPkamEgziKCPCg6gtm7zrQ7\nXI4g07LO5IvwoqkmFgJMn8q/MEuLauLwQdFQMA8/Z20ZS6LO97Ga7AMXFQrK\nurmJB1cDzaCkUrNic5Mz+5Zr2B/pBLWS0u2IgNOrbd43SgYyXGDl1AfNjhVO\nLTXshtPxoy//HTlvZeZprzuJmoSGuXdZsP6Bo1MhkLhOQjrqcBbjhiKr4iSu\nh5dxz0x+ID10Db1iqNl2nfGo5H/ZdeO35HCpwE6lQ/dKYZZoNZsamMGjLN4S\nCCofS38fYtp048a/FsqB7YFRVINsAbhXBSZZ98Qpw94hDt9r0oxzIl0N1hpU\nixvU\r\n=DZGH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"473ac5e3a11b87616a0dcb004bd5a9411a271f6e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.d4d7f1cc2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.d4d7f1cc2.0_1620150846509_0.01467215948907663","host":"s3://npm-registry-packages"}},"12.0.0-canary.be999eb08.0":{"name":"@material/dom","version":"12.0.0-canary.be999eb08.0","license":"MIT","_id":"@material/dom@12.0.0-canary.be999eb08.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4711ab7b2ef5bbb62bcc98b1f6a204db89e96dc3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.be999eb08.0.tgz","fileCount":29,"integrity":"sha512-DpK3U3MrCySMDTXdByBN4zSTFXjeEos0iCK3q6Ha4FJdDvJwOf+8Yy5eqLR31K8OUz0dkAGjuNuA6WChGlf4WQ==","signatures":[{"sig":"MEUCIGE/N77K5HRlAf3gi25cJxnT/Rw/rD40k6HDGL/s1LU/AiEA4KGoep1hTp7dvG4WmSIHYaQU+bDBZH7b9hhQhdzjir4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkYt6CRA9TVsSAnZWagAAeZ0QAIhWtn3TOhsV/00Zb09k\nXesOOQ6fvTlS8rNTIGyHJ9ALBKprzDilzxM4xGl//Jkcr6oUlrBBZJkFduPf\nthB4urRGDkU0riXUwhzxIi1sjgJqwAFT7UiucLQlMK/2s3GH1VygqT0avwWa\nquDfjcSftRi/pybbbvrhoS/pwbhSZT4dREOmKc9TioMwM1eLTWmUcaam75wa\nDIDofxuvSUfuRlHYjUAvNOdeGQz8SLDK9pjKFplnZO9NqasKdhEDvwVmUp4i\nEbaFaD5+qZPr7kIaLL4jgm8Mnw+iJPuPpB18hVCfisDQkCk7e7TyDMIZz8lG\nlxLFDoSaR38l4trxJGxtM6UOpyFhxfAamWNS/Eb90SwiB0Z0FL+JHBOf+xty\nHaT93dxbu5PHktZLWn/piAO+5+HZJvSI4gn+uVDF7rBio5M1JoYy0Qq3gNXZ\nuwvlSYIUCwmRQYxzEWtqTuO76wRFCfERl34VS2GPqGnKLgKIVhZA4xfwpKP2\n+U2g4KuksAPzHMhZKIMIAoL9kKRZhV678/CqTNEYad+9Zj2Vz3gH1JblqcPF\nmBujAYSsdUyZxfuMQbxGnsOMwYhXws+isvY6i1pF1+sKWlG/vUAcuCTZOmOw\nIGrT27pmqTZmeXFhLYCEICMNLTXrvo2tiWSGJkikdxwTvxmyzw8XI7pWVnu2\n2cPg\r\n=SESR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"78911f7ba4a7d68ed38f554357f8f224ec7a15fd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.be999eb08.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.be999eb08.0_1620151161692_0.5916877072967706","host":"s3://npm-registry-packages"}},"12.0.0-canary.eda1705fc.0":{"name":"@material/dom","version":"12.0.0-canary.eda1705fc.0","license":"MIT","_id":"@material/dom@12.0.0-canary.eda1705fc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3a7d2ca40259ec95edc08e2258acae5112bd0979","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.eda1705fc.0.tgz","fileCount":29,"integrity":"sha512-cN/+0PD4nNNL50MPihDmH8a79aRNA9m1/yDruQGfZ+yKPkGplcOocVectLhrGQ8oaJOHnndCniIuvotad7B60A==","signatures":[{"sig":"MEUCIQCV4mT1bnhvR8vr4eKXOW0W48SW9/3YCWgIIkkvbOEB6QIgEEztixlThG8h+wwDgYKvHE9BUPoKqber9hcHM3hjEZw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkZvnCRA9TVsSAnZWagAAB7UQAJOfu+bSnrPGzFrUamyf\n2j11He4gB8pDxSPXx5BMf0Fqvc1Q7VJ+arokp2YxHU3Q0JQ05KN/EjBvro5d\nuGs/6vgL+5K77rW/FwBdEMIvHHOSZWPWjt1gSuQ9AJV06WdjO8UcqJynUKpp\nd8viX5EXrVVmB7KLaCO0ewuVnjQzqRKIxR0RPVZyUUEXI6YoHDWSNp1u7cT3\nyfalJWtE0vCHntr5K4qUhEDPK/lQtgLnVZGI4tuWM6eMNpuUuwcqf+ZEscll\nB70pnonhfy6WJh85MfO2FJGEZNTunisAde7QxMuHsRZzw0o5jcb66pV2X1dd\nKh6HaK5aElSWqQsnlQj9xNCyunzjAnOe/7goA1vcSFTq56ZCpTFlT2rvhNLI\n+rv4tmfV0qczXXklyjm5bSX411y/rBBCcph9Ob7WBeOJWKkF6R70qnRV1mpg\nH+s1fi5gQ81gSpabnRzPwxrhPqSgwGGtsRh1Rm8ZfouI4LQGiPxyUyxEl09s\n6gh7dpcHjHpLQFSeFcfxPqYcGXatIelOCIrQKyENZUHxxq/INsTMtfPo852C\n2YRqal2dWQjBc/rbtVA2ZTzadWtfO/Q0vYKioCYZfYoVzQIV+JHnKHlZzbhV\n0yoy5uZtQO1MckO3G4oNFLl+o8ocE/L9smTs0jhc7MkbD5OgwZUkRwjUIkU7\n1mTY\r\n=QkOl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a4c7f355f27d26cb39ac4876510254d165a5645d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.eda1705fc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.eda1705fc.0_1620155367100_0.21868663600032812","host":"s3://npm-registry-packages"}},"12.0.0-canary.718c90178.0":{"name":"@material/dom","version":"12.0.0-canary.718c90178.0","license":"MIT","_id":"@material/dom@12.0.0-canary.718c90178.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2451a824b10fd6ed535a91ef9e54778f529e2feb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.718c90178.0.tgz","fileCount":29,"integrity":"sha512-RZ/wGTYnRlD9qSDEoyN83D9Kx7S1mMRuHaQVDV5CgpOInnSO6Vo4g3z2qIymGIr3eaOs2iJlVpJ3EfqSS3oPpQ==","signatures":[{"sig":"MEUCIQCL0YOrJBNzEOQ97vbWdp/G2s9T566ITUoOKcl+tzniqwIgUVSd+muvYQTR86xF3e7w2Z7es/SGkCffk/bEpQMNKCY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkZ/1CRA9TVsSAnZWagAAD78P/AncBd0+e/zB2UOeAlGS\ngivU2WVvxA9GxixLuti0n/oRxDqU31CNACcd8h7APAdRfUMID+pUmkhp8Rpf\nV933gCrR+cyuwQ3rKgq+Jc9QKKS2OZr1wArk5ZC8706MFGLM1x/qej3jn3Id\ns69xkBlqwrp6Vl3Id6YEd9ec/28JulpR1NUDIADK1PMewcxj8XTWy3Fsh+6g\nZ1iZ00WD/wVemqErjLzTqAygCAi6sTmH7qj5pA7+sr/sgi6tXQzM3DIR0nqW\nV97oHvHd2pXge/jaoJ/FCwB0bLlbDaZDFiUfRz/OtKICoU86Z3yygMk4CR5J\n0joiyFm0AhMGFKW7gbIgPzH0bMGnRJCieAY1lcKk2hXoHhkqDo1iblPXkcUm\nH7Ajj0nFZMIhvX0QEV7tSVg10KVn9QfdsLyzaLTDMOO+VDRoIbQnoUUfynp1\nvs6dPOtpZEqisE/ZnN42nSj+NjL1dccZBgyf28RHbZ3A9VdSDwHdEr8HJdRg\nZvYHAEqTb0O9o2wKxZFKisHx5qM2V8TWT3am0BAQOQQxcQaGHI2uK2mfCLCb\nQMHqRj5C3+LBTFgjsHVm1mE2zXD8eCOqLLpOJiDrwmk9KuB2SN09J18FjfVi\nqDptrPX846/g2tWuQWRnzpjS/prT8MiwP4bkM9mtSu1YHBPiBEYyytdazgoB\nxAnx\r\n=FURp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"38bd77e93e567329d390e9784d4f591d6dd41191","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.718c90178.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.718c90178.0_1620156405147_0.30542757761208006","host":"s3://npm-registry-packages"}},"12.0.0-canary.0e3917299.0":{"name":"@material/dom","version":"12.0.0-canary.0e3917299.0","license":"MIT","_id":"@material/dom@12.0.0-canary.0e3917299.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"518344c4e2a90f22e2d625115e769be6947c3d6e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.0e3917299.0.tgz","fileCount":29,"integrity":"sha512-AQg5ROcXvKqxBpFtGnT5rCLnzUsD8EsFyFYQruI1NNp0nEwLZmLcHsSeVnnwpTTH2a2IHOT/S6Gx1Sid7+SSCQ==","signatures":[{"sig":"MEUCIQD2ORT4rp6i78VhjelwQ9vtZnszr21A5GBTubKjr6nmIQIgT4ejDhvzGo2n0R9P7fe8W1h2pMYOyWvt+Kop4plbHng=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkaCfCRA9TVsSAnZWagAA4pYP/3VB1ubKYzczUC8+cdf7\nkRtKHev8MYEe1bANPaarTYwnKdIK6TA7LcKmqtaW3WDW3Hbm1mTN8HsAntWK\n9Ie+5axNl+xWOEANfFG0C72td/UeHKbitwMSus4U/WKf3Gi5UnWC/q2/9Kb0\nY4B5ABsevKcB5OuJrdqVfhTNXYMPR5tPldHOMZ+RhzlFjnqgh+bkyQDjDV3S\nwQ60Aa0fc7miEqg/fMgd7Akz6egCON3WeDdb2bGSX/24C5iaZeCrIMZ2N4cF\nIEr//U0SwIvU743ZfZvZLTyzMYr4Xkm7H+GzXdIr0vObqaBKxLDhUMbY/ldC\nlWJvWSnZ6f0BfbiVUYpFLrI6e0wLe/ykT5SdIq3RVUL0f+QiYAFVZinCMEYu\nCPWRo3ny3XHrrolZeuOpaMiKKbowpIUFOsvFQf3y0sKAiQGydupcEuFnDwWn\nHBZvfevwkparc7x96g40rEYIFkcTXE/xplct6AGddy8vQU6fSck95byCq7FX\nlyGeN4X4vRSwu8cJ19seKKdOBV/Bje/hC65erhokhHiEy0nFhTMwGo5QAwSI\nYFRjsdAxJDatV53o+ANIcsa57D2MDDRF3/KdrjdA3g0izU3HvCw1gLgsGB7K\nb2JY47G23/NA/iYvhX2luoUPVoTo7LohR5nQQ0dFBoKnWJCj41OFOaZD2X4J\nQjcT\r\n=/dxj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b53d9d2ca98f518aa071c4933f2c0046916932d2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.0e3917299.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.0e3917299.0_1620156574601_0.6292342918313378","host":"s3://npm-registry-packages"}},"12.0.0-canary.836b3c7db.0":{"name":"@material/dom","version":"12.0.0-canary.836b3c7db.0","license":"MIT","_id":"@material/dom@12.0.0-canary.836b3c7db.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0c8cc41381ffa2ce2d697ccf72fb9388e2bf5368","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.836b3c7db.0.tgz","fileCount":29,"integrity":"sha512-O5S1p/0bdqPxHT8u5CkKYNLDs1nd4/K/jn5q1bjcUV5IdNAWfAm5/KAgyYNr04esGrwnEvgEKPCbwoMNh2Q02A==","signatures":[{"sig":"MEYCIQCLEpcj5OSG6xg2Em11VpWyJy62TkpC4lEhIwhTM6VDTAIhAPnItO6SqmSQNHjLLr/yhIMaEz+O/rtSroBbTSK0Sgd9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgka96CRA9TVsSAnZWagAAWiUP/A93oH9uBEDQ96QdiD7D\n3qU00KoLTFtW785xPUpEKFq7f3B6kPZZQ5zzde8RBZ7GVufCsTXoBmwnTXuF\ncXDY2Eph7Lgsk7LAIlutMaB/RJtWZqmKYDNsGHErdaqLpeHaT67QlGM+5hNi\nVNS+9TtKZbCI/BYuAAx3slo+ml72UrvyD2dqjsujqUfDc9M/bbvWae2KhF3j\nH8m+EIgtuh4yFrdtJplN9Uc4u9ici49o+t60bJVyVidm6G97UOJPSRlhrpST\ndlhxIE6ndcCtmshVNa5mufidySiWdqzPLxmvEZl0lK+EkFF4mQpsyaq3s8JW\nXgibhDq7cKhx3/Qocn5EPFuZS1aMR+3aEEQMeEjMljbrVFmlrsux4f1+OBbo\n0fbO7/vMtf0ar4KTFsycZ8XxoHLWgtvhnpTwta+yB7KUq+gjs9HC8Mdwb2ya\ngNSdkAJfswfcfHHghPqkGhO3A1S9luhosbPz1yyhBabi+NFGw5j+x8JgzLFn\najRiLBtldM2z3CK2MhvKXvgbkRP/k6PVfqj+6ak/jNUHNXZ3gW6lsnNdjcol\nbCBnEmrfnhavseIgz/2hyPMZn/DpsKlrl8t6ty8jbIhevqdEh8HRd/04TqsT\n0GAqBokpD15goOFGtGLP0U56ifM5zdOJc4mAriZQUQS1oYC3o24fKDKDdvhj\n0wGZ\r\n=LgtQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b39ef8f7b55792965f33ce0e4907f1811ba2b17e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.836b3c7db.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.836b3c7db.0_1620160378285_0.6960236436592049","host":"s3://npm-registry-packages"}},"12.0.0-canary.53d4e6d59.0":{"name":"@material/dom","version":"12.0.0-canary.53d4e6d59.0","license":"MIT","_id":"@material/dom@12.0.0-canary.53d4e6d59.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bde41f56521c0b3fd0e6c5331eea8d286216d9ce","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.53d4e6d59.0.tgz","fileCount":29,"integrity":"sha512-3+V6yQ6meaviuuZ94r+7E3fHEzuieGMkT5SqSxb2kbiZniT5W0+cMScaROYQ56SEdUBEZS5Nh3MFeDh0Qxl+LQ==","signatures":[{"sig":"MEQCIAo/DhAzFNuPFnhcqMvY/hJHyzJF1ZbY+J5m7O7roCEsAiADxaCyXI7k0XPiTNI50W9oJp7S3VzzWaI412P7LrBPiw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkbMpCRA9TVsSAnZWagAA/YQP/jioc4hHWTNM43tm4vsq\nP3cbwRraVpRo16PU6+8v6rjvtgQD3AEQIIpPla8w9t/4YsAgmtsvgiinh5wZ\nrXmc6PP7RPK2uwWmmE9QK6I0DwdgF3Tw9I7/NmbiG9KwKXnkfTQXeYDVAZGO\nUIw800zml7/3+NHvYWRWI2cq8mUYE65Xzdvo7LYFOZdkQxw3QQLYFX4kqtCD\ngXMK+0AOXUmYAWXeRIm5Jn2YXuC5Hp//IVZSf0x6NVJbKXRNwPU9TuM2MjOp\nugqBYriDY4mSjPV0wnNSMX/lgbWT4Po+xYaszQEfxwXH+PorGzDn0kSz0cbG\nWCHFs9LtphNmMaKNYuvcCKubd7y+/Vc/WJlBowKuVcKpIpUUE4ShAIrUJYL0\n7rr8CEZY2zOkv3fWM+vMo1rrDTVyB+Nn9wlFmCBDJTRvFoebT7LWVQm7+EYG\nk+SSyWlQXeCvEIwavAmXN9vwJxgD5pumGvF+ZHNbMxfM9kplI92ieVJrhruU\notGm2YVRkL3/O0Ds1N93g9N4UNlexOB1v9fUsJeZNjLN5uuA25+SeIJe+jCW\nvckRFEdKjWEmO5vTAsCYMVannXv6BJq4h/yAxUONgux4nao78soxLO+P9xYM\nMRmu0/TQmrp1mDbFPCH6FC8XwAkiOO9WsbO7yAqa3fPYwh4JfNpUCpuNYhOq\nS58m\r\n=kDvn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a89a7c81034e7bfbeb469ddc1e1e463b018f7179","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.53d4e6d59.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.53d4e6d59.0_1620161320774_0.39007565353687745","host":"s3://npm-registry-packages"}},"12.0.0-canary.18d147e27.0":{"name":"@material/dom","version":"12.0.0-canary.18d147e27.0","license":"MIT","_id":"@material/dom@12.0.0-canary.18d147e27.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"57d88e20eae83089cdddf5339f342dbe52a4378c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.18d147e27.0.tgz","fileCount":29,"integrity":"sha512-+x+HHbsyR/zXtZwgwRMxKFAap+P7i1p7zYlVN1LqFzhJAgJrS1pqggZiZplP69N3ewkX8/PQazVr/Ye/La5O8A==","signatures":[{"sig":"MEUCIQCoXYD/HgVZfhOStlptFuN3Rt9NkVxhxnrevvstqNFsWwIgEMDz8FYEJz/lGk21Uv99ouyz5hZVGLGbKID9nLqwX80=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkbUpCRA9TVsSAnZWagAAYVMP/A3wUG9PZUyjizp/GdmA\n6ck/hqHHy13+cupXq4WqYFvEakB1PylXv18qtFcb+e2ZRjm1LnYco9FX6gqb\nYk9/3eMOiG1nhQmszciHGeMCUQ1Lea/TR98Zsalmce8d46G3GoLEAoKTN6Jh\nj53Bp55c6vMFzvIqXrLmDGEhpiM3Z49Ir4bdu/u5WD7NllrvFauWj3v/jpsd\nInJSqr5TJQe0MK96vJvP215SxaKLPseAfLMYUyd8QPs3cwwVJ09GxJTbzTt7\nrlvweMLijG10HTf0al/XTm6S1K7AMw7QJKy3ovkS58t4FcQ0Yipv4kgEUVSy\ndRVN4Qj5aMUtWKa+K1BeKjWOAJBz9LW5wmDRbfQtz6q5jbabQQc1TiqmVscy\n/IYuaRevIN35ZJA2v+Kcnn4ZQD91/pImsxGVHE6eGtFZ2szjtUeJ3HxvIuIE\nZcaK57a0eeh+3X5PNCXr8bLi8PD07hiQtWmUbXJ/ycezNVzJwN40C0BKsuzK\nW3mQ/Py/K7DfzG9YfP9CAOLfqwtmpgjsnuUaXrm3HvjJS/yQF4x3jFMhbUH5\ng8ndVY5KqDyvBzbwSfH1C3QLpd9pNrDklQYA/hrJZqFnJVQM+UJ2g1oqhDtC\nrmJebEM08j0PfXmbVesaNc3qtfT7n4zfNHolepADHVH/iZymhdo6ceFSyKet\n/8Pw\r\n=IWIj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"02e686390dabbb1590eba968246da65476db162a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.18d147e27.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.18d147e27.0_1620161832987_0.31341958251963153","host":"s3://npm-registry-packages"}},"12.0.0-canary.b9984794e.0":{"name":"@material/dom","version":"12.0.0-canary.b9984794e.0","license":"MIT","_id":"@material/dom@12.0.0-canary.b9984794e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fe197f3ca1c86c1d84d58dc5b3dab6bae784bb25","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.b9984794e.0.tgz","fileCount":29,"integrity":"sha512-WIKbVs0MUI0KZ8dMdzNl59UNKjxLYRKdX60R+S6cQp10/j0GBU6KTRtBDZhzQ3AD/uGq5r9a5R0kaDGJe4Ku0Q==","signatures":[{"sig":"MEQCIGuwkWfWexUmOSLoEzuuJwc4j3uZaQpyFS2lOP1Yy7XHAiAy9meehFK7xvWK/cSZ8/QpS5uxzfi3AhO+OYV5B9K/Fw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkdJ0CRA9TVsSAnZWagAAg5QP/37y94mo3XUz2sVtQvrp\nws6ZcQh1Sh6v2j8g+ls60qs7yFzGvqVnr+zLHa5j+OEwU7KsuaUonFf3BWYw\nGsX4CAY1i9OQa+QZprj1p0O2eU/s3SEQ2V9sVOz8hQ9GRXI7XxPKhjpdpf3S\nTL+pH758UhT7p3rrh0FlT0730RPdX02UjH9Pbo1pfHqQGKSrNQbi+AFP/LKN\nr86gf6++rk/qrzlE2JUPggIl03p4B+Og4ojsjHbIcGFKSWmK9vxwaaIMi2Fz\ny4DW6xtJMzDDks8WV2EnfqNkBCJRWvyigDp/6gTtrrgDp06HCoCzFLS/b41X\nDGx51UCJpBe9rK4J8tyb824aRgZXUhmqWJNI33MaH93lg1BKJk93wtTYIhHU\njjCic2Nu0AwSjV0Gl/cVJ7AFLoybADfipuPNPyr2uG99N7ICKQ3TZub12/6O\nuM0hXWbqd2gVhYOFOtm2A8PYb8cklp5eR3zaDrJiwwxdWx5F5xcFqZY1DX7j\n9yjBur6w6Wf8SReF+UE4VJzNiLEpxyW9hnL4oYrdGE4UdIgiqkD6TZCnWjVM\nYCaSnghCAf7Pm3h6iGQZVLsB8Ej/DNjOEcVz07xJ7oP6aHpt813VRFv/USUv\nqBwzyBdApO/R+wCNT2wijA0hSgzeV4rOgLO5bAii7Ex7tfTxoVQ3X7/mIyoc\ny6oO\r\n=hYHc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b9cb2c88737add4e6d3e04893ef4ca57b7848549","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.b9984794e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.b9984794e.0_1620169331967_0.20297414861792307","host":"s3://npm-registry-packages"}},"12.0.0-canary.b76f5fc9d.0":{"name":"@material/dom","version":"12.0.0-canary.b76f5fc9d.0","license":"MIT","_id":"@material/dom@12.0.0-canary.b76f5fc9d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2891cb41796f6bbf24b0e688fb84ec67ec96a3fd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.b76f5fc9d.0.tgz","fileCount":29,"integrity":"sha512-fFN+vybs79GjtW/iWIfeIPoUvMy5LLdhVTjtaUULHGvxeD67Nn60GMt6ei8VcmWpjbK6fVUbQll3OhrjcYrKhg==","signatures":[{"sig":"MEQCIBYqdru896xIYyB4m/OQ6fQHXy7sFy/wt+T0qB53VuKxAiACwnA6/HeCkM3HyRD+b1gFmOQY80Em57i1/JnAB5LkuA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkdNECRA9TVsSAnZWagAAvOgP/jvgMO/4XnmLrMxPUG8O\nIVp3RffbPW5DrL4HVaLIhPmPmfLGvlIoQGcZ1v7XfChhZ20gv2wNPKBOU6xo\nMx54LAjhWPuWz5YTZg9+/OLseQ0lh4S4SUamuyFa4//RalepX8WZdA5Dabd4\n+3Zzl8QPUiIRUJ+Gq9/Lvc0foGclG5NBl0H6bG7rYMSITgNKNPWpuPN9Rc/q\ngCEOl5q6LH7srhyBV6DIHb5naL7Mvfv5cfbo8THDNtfJflimOy0aArAigjw7\nfTrm1qrFP3nlALkfgw8/ALaDj7vAG3UzwEqrrlqCVLQzcEiRRJjE7dhuOcAK\nPJ1rW94B7tgaJNPdi8zyuaSw7yd+v2RpcOFYYhTj5G6c9DxdcChFnq6ssoyE\nOYhR8aL2NYUR6qfSxfMhUjQRmOKxYcxWrX1Ex/BA75MkAiUT2zVPEt8XBeC5\nlRq0VX8kE01HJkeEc3Lrw7qMJ2pcfSqIcBOmhPXta7en+e/ZlRwoRbjIiyaO\n0DW2U6b/Fo027jEtB1U8arrnN9/jJH3+m5CH0wyhD/UvlQG3VeIo+mJa8VP/\nPcwfv4DWwZCm/r0Cq8bnV0QVXAhvNP7q+qLlH37J1ZUzGPkZn/JyvFGevb19\nnCZUCoJLSM41Oc9ptWYfEkzWr2wbxDOAOx/hI7C9kq9xrhu9uIEe82lXeHjd\nAZQ+\r\n=h/YX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"219c30995da49f5c5f458aa1b983f09054c2d4d4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.b76f5fc9d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.b76f5fc9d.0_1620169540041_0.616910237341606","host":"s3://npm-registry-packages"}},"12.0.0-canary.055d4f10a.0":{"name":"@material/dom","version":"12.0.0-canary.055d4f10a.0","license":"MIT","_id":"@material/dom@12.0.0-canary.055d4f10a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3bba43ff3eaa9d5595d1692234fbfe0d87748008","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.055d4f10a.0.tgz","fileCount":29,"integrity":"sha512-Ch2VivWabAIcDwEJ0nRtVviTtUv+/anjQb7Jco2WqZVBwLVBE/y306Og4zTE4WwnyhefyRnKmatZz6pmZsV23Q==","signatures":[{"sig":"MEUCIQDU3jJ0lRauSEyry0hbsIKyzARxKs6YqgoU2e31I+ob0gIgPtfHdIutW3mBSF7MAvQDOgc4WgRRvzZw39dgnvAij5M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkdbQCRA9TVsSAnZWagAA7XMP/2sgwP3dzO0Nzl5MrjNk\nP2rNAI+cHA7Sn/qPOf1xFIhpizh+2kwApImsSCFDIV2QbUdBdTBL0fSUiAES\nSMD7b+AQDpDlGjCqwyfgyqVdXpEQQXvJ16rWGK0zNUQjBExsd+ty1N76vL0q\nsz+PNSg+muQPgk81SYp8NCsfL4FAXOG9sZRqEVXEdAxYGYCoH7NLmC7hBS0c\nPCfgCsSgPWLOovJWtr4DzUiO+yOUpan4cIe22PIWXV/W9AQDXd5hTVo8Gh+f\nujH4T1hs6vo8uUy3KJ4EM4W0A41UyHL2oaqKfYlrEM5cbBFHnAvOvGZnaXL1\n7Vtw0ayY5mGufWdfbih9djEvk3KScqY/b2npwG3gmynbv2J3gyvMG9at00R4\ndrvdsNvRFFKNNR39Dqy4dp+N+LZd545ha2XiCUXvOyh6UZ9VRMn2JaZeGsr4\nzTuD+ysPDkuj89/pbrdZ5/pfP0ne4bLBMbibXmTZAQM6/TIc6MAdxhrcn4w3\n5pe5Hy6BJSRQhXoo2YazjRotivX4QFHh1WSqN9UQ6m+yKGHEzZbf6ilAfWvH\nEo6cr4uboR07SFkB5E5ca9R8iwWMyM9M9bGvpDcw0tW71pHqKCCr6VwMKnqc\nMluI6GsVuOyqFQ7BfFB2lRpqQRJ6JN4UloL8UuaW3XbAMfVO47lfyHaeHZh/\nMnZh\r\n=3pBk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"df8d3cdf52cca2c339c1fa1cd18129db35422c55","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.055d4f10a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.055d4f10a.0_1620170447782_0.588207729002016","host":"s3://npm-registry-packages"}},"12.0.0-canary.5b6a46016.0":{"name":"@material/dom","version":"12.0.0-canary.5b6a46016.0","license":"MIT","_id":"@material/dom@12.0.0-canary.5b6a46016.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4ebb4966de223b76f4f648323f8aec49163dc071","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.5b6a46016.0.tgz","fileCount":29,"integrity":"sha512-y7uaw1w8LQ+d4LWdG0W780Li2JwivFSpKlMlyBuKGqg7uR70eEr7k1/HkoAWJMAn9QM5KmAMHuAETgfozn725Q==","signatures":[{"sig":"MEUCIG8jJFr6cO8wYUGojnCmBbkrAKQipIweu6yorocIC60XAiEAgsyBR0PQ5JNiJypII25IfutxPkd91c7iwa7nIS1bzsk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgksSeCRA9TVsSAnZWagAAgEYQAJMyGceayvf9IfoAzQVP\nYIVDlQDtJG0ukqsX6vjyqwXglRds9fjkp0bRw8EusQk2QbFfnpZP7Q1aRs+i\npeUMiUx5Kwggp7OtCp3LZ+0ypAOMqgsXApsj8I6ALGClbw9QynoP4/mVq6Xv\nrnvbg+DVC461e9VU6AczGK75uMy6VIoul09ziQ5A9w+K47iGC2QsH4AXGWpT\nKOd7DAcLO7GfwJG4FWLAWa2cONOAQsCvGCaGN6PNke8z6an+EarquXy7sAc/\nBnBPFU9zn2u9upLWQ3+cLlC+8T3bvm5b61px8hF8ItMlha+ylTFCLEta62qs\nhsFDO9oAFmXM0csWveqVWNJNTiqsKdu2WQmjjEzZSEsFW669XTbGaRZQCzOn\nx9/njyPOPhRCIBtc48wz7R1UPQfR28+PkvFT4+NhOSPm595mdZmW48kcWxfm\nrUKSEWIOXQVH4cPLXlmWPIFe2BjnfOLT/m/zBq0wSRzy6HB+eMOU7wjAEB8c\nIT1Db494y40pvF48f+IgdOM/W6FcOpnh1OIoV4VVJbfzc7owig4ssqspdKgI\nUhLdqx2kzQvQ5U7hcuifMrndCIjeX9I6zQ5synmhlSLv2sr0NwUlvPT1Ah2x\nEp1cQWosxqvgqlE/1rPWs1KtdCcUkyeKEHG1mm1C6aILNeECpD23FBiVREMj\nnhhv\r\n=VRgM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3d9c7e3c179062db8b5bc243e8bbfbd9d9132e50","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.5b6a46016.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.5b6a46016.0_1620231325945_0.1985994117195149","host":"s3://npm-registry-packages"}},"12.0.0-canary.33c9a737a.0":{"name":"@material/dom","version":"12.0.0-canary.33c9a737a.0","license":"MIT","_id":"@material/dom@12.0.0-canary.33c9a737a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9407f1a222b4441503a4ca8f621b96b331e83cc7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.33c9a737a.0.tgz","fileCount":29,"integrity":"sha512-AbQrai84+gQ37EX5RT+f4robzKoqOvT1Dnn4gKUe0dgIpn1wZyNYbeDriPNg0EFOebbuud0OvgOYoLnXiulzGg==","signatures":[{"sig":"MEUCICpsWzaOraTwa0GMIysCVhcK+BGTygNXV590JDW4szqlAiEAhF6WhVxfIECDTORLkuFcKLIOv43g7hhGpAFyyKZBbBg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgktU7CRA9TVsSAnZWagAAe3sP/Rm9q9K25X5S18HK2yGG\nmOeBRSRDcJYX6jTctdd5QkzjFsDLStzdIakAmjmNio9obnYDH//akXQ7Trim\noTmni6CLro+MoOVF0MGXLMgRIfh5dKsRo59UIMBq0ED3TBu1whYd5lNlXeQL\nsOJvJDv3kMwqofykW2Akwkn30f61K7fgwuSaOwxEfW0qdFphbdcXPfk1tU7G\n3jcdOZpKoKPlJMDggqjazkzAQ7W6Zo6LFBCQoa5Hlu65Xvh9xSNicKgSKFId\n1NClgvjEhOHqfVmL6ObSNEAk17cC5nV98rXejzo8/cxMX9GxncjcxAeHIY6l\nTo81BS66cwya+z8j95DUClXgdjxWzn5xkHlfbShprLgkASnClmgj+ENZUw1I\nLB4JnJeT5hyFaelBK3vs5Gx6y/hbQ6/svsBSPKnijYDgWdDOTzwRRV1Jb8wa\n5/wjHniZMNW5OcYidXKgwUbQFZNSIfsmlJ1PraeBuRw7OuSf29izGfHbYf19\nDKU9VIYGnKlLgDHmWJYk8edFBVxD/W9BILXbyPxeqsFQQJwPF7xzeNm5fE3U\nLNxyz8gVWrBoi/f1NCBX5i+rr3MR9UkwFTUPNtqK3sqKM5hhKt26OUE6U8ub\n+lEBIgeamdscAkYzzINZVMR4Eug/uJ3nIhVGH2xkgD2EKS6mglr7NKNk/0SZ\nx8uf\r\n=p96m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fa5c97d28049bf03f5b138c0d97bdc267f43c363","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.33c9a737a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.33c9a737a.0_1620235579018_0.7294883918134409","host":"s3://npm-registry-packages"}},"12.0.0-canary.9bc0effaf.0":{"name":"@material/dom","version":"12.0.0-canary.9bc0effaf.0","license":"MIT","_id":"@material/dom@12.0.0-canary.9bc0effaf.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"624d930be2b47c9bc8d73b67f27e3fb637205748","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.9bc0effaf.0.tgz","fileCount":29,"integrity":"sha512-uEs+L5AsEeCqRlhli+PL3jlmEx9Yk+t0cZywgzpuQccn60IXcA/Ner1j3zEhnjKpyAPmh0xdHmsaumUD34TAqA==","signatures":[{"sig":"MEQCIATwXjmbjOYaG2sMvXcIdTT2Er5/ciDPOuysjGQX6ebWAiBQeZmc0WZG/lds0asP3yntY1AXGuENbv+wS6wZJgJ0fg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkwcdCRA9TVsSAnZWagAAlMwP/1BXBAkAXB+1OD7ZbZfR\nFjyFDBVIn97lgZL/2CYk2PEI9XMQODvQqRpePjYpXt0RnyDGecfUKs4duuz4\nkqEP2LiBZ4yKyLLCIk8mUkA1NL1K+9/4H9R6XdnHm0rLrjv7+9xk62ZKrWjL\nyEa9gthHvZ+YLWZdlZmGPO5K/meWUT0W2zYVAr1PJ3rDrVNEU9/W/q+ajYCt\n/Jp6p2wZWlgCnwKM7B52hPi4g3qO9CGsx/NmIdq+Jm95AWtdzNpv4J/gTU3l\nJEt83hiPmrukNslg2vnBvSd9Q/d/CGHRKcpX7MhR2bR9PZYtSBJoJN9bDVnu\nW4RkyNbtdlWoGmpebpSrakynBV3zaw0Eh224+co9D2f77c3hFsOB3K4kuFf0\nZ19EMmgkDTNYiSmg/h2dYpuOdybYw3cC7i29CG774S4N0m+j6KC57UlwUs1R\nexUMnwuxZf4hvsr9/bTQZNNUr7yQ2AViXa9nb/3RzkG2OD9eRHVEh+P1YIKI\nT+BNGkChbfBLmkJIb65bRA8wskamuz3DijUIi5cOpWvXQBVOcl5r/g6W8ukv\nT5HsTElW02MsVbxpXriagVH/2L+pFTtaWZOC0yMFGcgxxuIk0QBcwn16Dt4r\nzsracoP3B/auP5+1JBiqelF8SCzSYPvdPIb7I5eWvA+IYoK4HXUFY32Cej/H\nHTlB\r\n=L0hP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e671ae06efdf42f7ea0cb40bb6700fc57f6a35f4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.9bc0effaf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.9bc0effaf.0_1620248348626_0.25625603137803643","host":"s3://npm-registry-packages"}},"12.0.0-canary.a1e0f2af5.0":{"name":"@material/dom","version":"12.0.0-canary.a1e0f2af5.0","license":"MIT","_id":"@material/dom@12.0.0-canary.a1e0f2af5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"53ead26337b4672893d171ba4cdacf9c49934926","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.a1e0f2af5.0.tgz","fileCount":29,"integrity":"sha512-rkqn2Tio2QsKRtA1U2+UTfhA6uifTnCH26ELU38zn8yOo1EQYF1HocCDglqf3H/JniB4L+4p7P1BWmkJzVDUng==","signatures":[{"sig":"MEYCIQCVjZ5XPyRNvZVjsk4mZDqsrJNBrjTmw60iIS7w4oj1CwIhAIgxu6vnS03JwyTqHbwBFpExHiz1N2i84omoPNWruU1Y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkxC0CRA9TVsSAnZWagAAJpIP/1vjRarNpfyefN+GurF2\nnwWV2iZi2h+ba+EebjdssWePkJvhoyuL5mUVgZ/K/DEQjDTBGd64UM01v7nP\neyvi/n6V7w3dEjXTP2LPlXUV0eY4YLrhRmytKrh/8LQ+q4BMaYTmW4O42tL1\nkUUHq0q01fHKtwpLMjZ1aujIUSv0pWlEcadSCIevypq9EPizcVMlQpQFow1x\nK6KD5PosAkrpvpLCRjeXDrBM6UmbX9n+qrqTc4/yI/X3bGqIMzTZHmdUmx0+\nlLkq8hqLt16qxIuH0AqzosyUTpIAe3rcGfPP0WthGO8heSSnwtSoyC3xSqUB\nLvr059Vo27wQ3NDDLZzW/ZN9HwE32HMrIOsx9SQCgb74r0HtObGB6Z0ed8SB\np9SsMZmYuzQ/EiWaHIdS3sZ5wkfr4Y5k/IuEwtU0BTHmlnnc6r7Xhj9bCTPy\npxV7AJuT8PkM7jHpitSgQHUMZ4P3Jwb2+bKZALJp19Fc8OFGAoRt6ugS6+WI\n2hP62rbGxRNAreMqL2xuk8mihuOh7vQ8fliPKQFNIXhjdQ2Ipzwlr/KTplMy\nqeK+ViZ1HQEe3Xnlb0PfEFZLmD6xnpI2xzlGid4lbT7XtT/grxBh7ONpiwyu\nseS3/BYc0v2N/fC9fwEk9NEyu6ypQ+yM+nLwDM8Sl8KJ4siD9xHlYc2mS5KN\nQzba\r\n=D2/i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7e20a4b86d7cb59be9ebe12cead11b1e8c7bb63c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.a1e0f2af5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.a1e0f2af5.0_1620250804265_0.27903265877714767","host":"s3://npm-registry-packages"}},"12.0.0-canary.06930c96b.0":{"name":"@material/dom","version":"12.0.0-canary.06930c96b.0","license":"MIT","_id":"@material/dom@12.0.0-canary.06930c96b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d5a7a8c67d86bb5755c189d5f1674a9c1b599bc2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.06930c96b.0.tgz","fileCount":29,"integrity":"sha512-VXlxFX659uUdnBlDaHmhmKgOlXSk+9Um8KjO827S6KnffMTl6hgJOFG94hOJ+Zb/kgP4i92hWfbZz2RHgFifGA==","signatures":[{"sig":"MEYCIQCx0Y5RLqR15Qh/ECkvxtvFHPxAoxq4yOHK/suFOhZ3cgIhAPreliC+3mpxO6m5aGQPW2irtztZucycDGDr299WTIto","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkyxtCRA9TVsSAnZWagAA99MP/RfDJZ436qoqyGdmxq5b\nch6CyTXjrGLwDeeDJ0nTf/J3OhaGp530U0oBbrpz8jyfS+ElbPQe918U0CCu\npX9skntkuucwF81RwTob+vSVaSi0DxiCVfclSRvoIHGwx5pjHicf+n02LoAn\n2bArP2o+A+ZBFw/YHpRTFr7TM+nnIw4VQbtXxOl6Nzj5nApG67N7Nn8FJdvQ\ntVACoAIRIdDiW8VFQYuHTRjbj8rRLlBBVYFcI875tgXOSjNFedq3Qa2v6tRS\nFY9DwRwnP5yCTqy0D3abxITkgQLMgAADwtql9s15H6VHMXn+T2I9dcDJhHe5\nVZjmcRTKqWDI9WArNi6GVN97CHKrCqZ1QRXotASCf4WJ4T739b41c+7py9vG\n3FX8Daysf6OJGGRZmFWVao8HNSZSHrbywnBgDqdmD4O59MRmD0OLRIcFwmbT\noTgpEIFwS8NduqdAkG3r8edpuW2AxJXHf2BOSvPPKVUNSR7ehzbiZEQmLcoT\nNtbJVc1zR28E7y9qg5gQxSfdq+IWkACh1RgWDcA3qTHy/f5ccuP2gbEIKim2\nrdflIRNPx1xxEaBcrCcYdjNzdw65ZBpnvQt6q/fNkuROSlTzpbTxJGxJimgZ\nqxeqJwHcEk3i/G2BBP2amUnG8m4HouK94GAilgJaJX5CVtbRCHFEAoJ+3tIv\n6YlT\r\n=sdQp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"aef50df6c5f49244a2b0e5a941794f4e3e4fd21c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.06930c96b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.06930c96b.0_1620257901050_0.04210541041392801","host":"s3://npm-registry-packages"}},"12.0.0-canary.03f525f9f.0":{"name":"@material/dom","version":"12.0.0-canary.03f525f9f.0","license":"MIT","_id":"@material/dom@12.0.0-canary.03f525f9f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ea9397209e539a10143b1b048176baf8b87c615a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.03f525f9f.0.tgz","fileCount":29,"integrity":"sha512-eFxWTD5WWAFURviDGFD6CxLh9i0rqoNYQ7aQaMW/RL5zSRmWdsRA+oFW7yaRVkEUZPdt2YZJOwhX1UV7ar4ocg==","signatures":[{"sig":"MEUCIQDNIdc37ACZmvmu66QJxu99+ZwQRpKy1pzDeVOijtT4MgIgfAYnBgLwZqGwAfCDPZ8C/7nLNGzD5hpdhbXBcSPxGtc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkzhRCRA9TVsSAnZWagAAj/gP/iqOsXYU7jfFtz+cywxp\nfEuk2MEYejzcuqq0+UBXCYFn5jlOhUi+BQUm2Ez1+WtN3NBVGj1u34Leq6ef\nzrFJutmibtjTFXe0CB/30FztMGAWuh5Lc8NArdClCDK4SoksHGCRIl8zdbX7\nD9kPsKFYZlwCXDMYShuooFlJWl13CdBoaDfXuc2RDPHGz91W3cjbwx18xlFC\nTDf+wyxtavLwpX1u3LOSJDjCz+ERXSyZaIFlil3Bp6dvpzNiz2gXAJ585de7\nYjOaoe39xCICXtnzNXPIMcYYRn9O5/cqpCiuV4bmxdpbSRXSQH2w9gz0zfep\nRMsoZUm7aeqa7FXSTvcssC2P0DCdTZJIYhVnDGu+Xa8Jsc2zdqe8AE/Dsfk1\n6KVG5YoBtzdAepQ8dYhMjOjIA7gI2eqVCH2STFZCJCdN5PQfGMREkol5KNSs\nEa7GexMSVUjeAum7Tcz4H1SIu+ang+WdGUm0GnzxcGQquiIw4u2JOV7r03Ah\n9vLOWbx2q+arQVHWuf9b3a0n749UAKJmiOSAKvMXhwMag46tNyeaRHWYFVBq\nwr8BVBpnaHEPDer6HgIjaLh+RtmOzrwDYOCmTsQ3Vj6oPukdWk0Fw81SbGjg\n7EqKWCMYD3boua0iRC0GBNdU5NKo7Wb7siD2MKVXAxfWurJBuGRLUOIQEeg8\nhWsC\r\n=cCma\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f9df1400e21c75e46fe6641abb76d5840dede67e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.03f525f9f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.03f525f9f.0_1620260944844_0.7771003769820666","host":"s3://npm-registry-packages"}},"12.0.0-canary.e82ba2a26.0":{"name":"@material/dom","version":"12.0.0-canary.e82ba2a26.0","license":"MIT","_id":"@material/dom@12.0.0-canary.e82ba2a26.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6d0c44754f0411ddba7b002e986e76cab81e60cf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.e82ba2a26.0.tgz","fileCount":29,"integrity":"sha512-gGR5TZjpjtx09y7jRAbaYejtwIgdVWwdzkEowxco0OqxbxkG0UaTNx+4SiN+6BN5J+L26kS1bnZMMoOx1fxu1Q==","signatures":[{"sig":"MEYCIQCaPS1sz/++wD7FMAd+r8zckEetHHoFYzKV9f5UA98fRwIhAMBJuKVGSRj8XSF182TMt8DQcOjXh6K7XYefs3i/TGIY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglBFuCRA9TVsSAnZWagAAXZ8P/A1FqYClCsm0mkhwph/3\nvjtDSi7Z9co0BLySMVIKoQMad2oaykkD1ZjukeZ7z45yfidLoZV6qkxZccIo\nEVHxYG0ANLi7agsdpjgV6Fv4B2uM/MmMF8TXmJRMyzOIpS7wCUzGr9+apuag\nNXtXYg9RG5zWc0TikzFJnHW5Ung5fhcAZkLZwSMtaqEZuUUUoEf423qNQBUE\nRGEKNtoCZ38XJScuFhiimq25abGYWSqsGJk0T3vJ1MtaPvlicgcD95j3SICB\nmRgVfetl9X5N/la4nsRbhHyY/YTjanu+69rDKNKpTByF/S2vzmYKLHVV06ww\ngx03onwbCNSD5sy0OQAtGkTXJgoZYaPkxJBRr+KyE4pjIsTcYzPNc2FpyLsC\nFOLTkH62Nw4rvwEVzHvSahJ7ft7fwUtecCq3ZqX4toZDDmtH2vAmgAs47KUY\nDiyQeLJFkQry7TieqQoIrTx8Fgo5EEyNn4Z9Ob4YaUpMkmfmM3b1h1FhYbO9\ntSrWXlgppC3d4g7XapH20GlYXa54w0+Tg5RqVsvvucYu1eeLEEgBTzq35dNL\njCF+M2qd6/OPvtID0Gehcvmzph9PqTwu02C6PRsRzZwOv656UMxHLNrTkvJE\njarEz39z4/jucolTpAjzoMrx0k214sICjjcQt7vNZHUGewasdagx8lVwxSxl\n3B0v\r\n=3Ebl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c3349c46dc5415cbb89b8260a8db012f44f09eec","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.e82ba2a26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.e82ba2a26.0_1620316526485_0.22529768074388956","host":"s3://npm-registry-packages"}},"12.0.0-canary.fc7c4e5ce.0":{"name":"@material/dom","version":"12.0.0-canary.fc7c4e5ce.0","license":"MIT","_id":"@material/dom@12.0.0-canary.fc7c4e5ce.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"10ec6313daae743bf28c7bba7e43288b78e84ff6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.fc7c4e5ce.0.tgz","fileCount":29,"integrity":"sha512-/fUKoJ5HTguVV28JZyyzsU+ofeCKN3kVXltEcIdjJqt37cIUajOG4Ly5Be5Kjrg1BD6jX+LY75YMaUb9JQCCcQ==","signatures":[{"sig":"MEYCIQD0eY/V3jwY0WqRxckgvw2UEFQsQWK7m58ZJNWZdtbJVQIhAIAbHNcH9ckUQbagQz/CfS0wbxsP4nF0xMV2bftG6h8P","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglCc8CRA9TVsSAnZWagAAungQAKI8yFJ0qqBKorjIA0WS\nbfQ3jXY3GDb8+kTcX3UryukiX2dw75QclcmGGyEiNnTH/f1ax8PeHGfROj7M\nt2xOvcatGqR7UfCbL0hDCQ7+Mzn4y/X3ZXx8K377W0JKLDb5nuZwt5CFtiEd\nO1Ufcz/llIOO12bKmWqF1gOM7azZXKSsUYaS6trXycKklMwIWcQ0DeIPHsAj\nFkumDEmvGa7dExu/V1BPFLJy5fEmM+MPdlevfeUMMQil27KV9yd8bGgGaH6k\nVCNZZNaQJNSz7VGnvQsxQ2sFfCSB0fJT1RGojkFT/tDfTpWBSzvCi35vg2BU\nsU9pEmC/4qFFEcXikpMOkVkY4Lt/9LJVQUGJK4w8Z0wOeJfDzTvjSnRm8Gtn\nNR2Ca/YQ3171mPajpo1oLgjOwFi7GnTUZAeBs2IkviFsiyczTC+I6Q+8U/z2\nR/Ei3Uqu/GIK1FBbDahNEdSrbND40BaLrrCmF1ja5j4cn91FctOANYYwaQbz\njV84D8+4NvvzmVhX39JbYwglxjIDcFGZLO/exngfZp1tVNg1P1NB7aRqBLvY\nUM4NtWJMlr660BCCqZk8zogJVZfQ7ZSFRyXTnZK9YgzI2LZ7dBonuZv3hLJP\n6N+65CXcX+nOhzGKyOXhfIhhUtlZuesVZVdI2H9pJpcxLmAyb/WoolWlpUv9\nZnhS\r\n=1y2F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b549929c65e0a33cd9d427a600513c663c2dae28","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.fc7c4e5ce.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.fc7c4e5ce.0_1620322108069_0.1820459534134471","host":"s3://npm-registry-packages"}},"12.0.0-canary.65c04514d.0":{"name":"@material/dom","version":"12.0.0-canary.65c04514d.0","license":"MIT","_id":"@material/dom@12.0.0-canary.65c04514d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d2815974ad6d07258faf22f1a1578af1cdbebd81","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.65c04514d.0.tgz","fileCount":29,"integrity":"sha512-RtzIr/RruwFP8d1jM5PCW4BavjRL5b3jPoCo9iLyv+wj9oDsixda5ULuAYhkvInY8oP2gFmn9cySzF1d9+DPvQ==","signatures":[{"sig":"MEYCIQDRrnNw1YyAGQQMqfYblKN6baXhSMpLb7RW0g3XaX2niwIhAKaS5w3OlBpiLUojVhus3xiriRXJxeAlOVcYzDW9zQfb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglDiMCRA9TVsSAnZWagAAkY0P/iHPs5vWNyQJP86RvZAx\nR5nz4fe3aFiXnMN+TsY24DZF4OhVCuRpK/7gtiBWtIPgOa50dSLw8DQg0W3H\nuIbQc4j7T63diGlbnCca9gSIKqjrN5Fvve1/9l5wtD/sN291DU4icBwbVaYc\nhfr/gOh+gURCGecVdfzXXPjswgnpUMe44s1UsMtX0dAKBQ5QqXsdWRNFm66V\n/npO0wSU3yxZHlfrCdWVIWOXVse8O+MIWRHd70o/HhWDHLCskr610eXgxMM0\n5ny73hWtOUaQ2XuoEBTF0AIeYvAsgDNhLxBhT0bZuircRu+gGAQmYV0h1yiP\nLMLWayluz64gfOIm7JpQzhW1QQfBVlBZqUJBxhtzpML6J43EEtvEJUA6A+/r\nafntbZb6kUMek0/rt9/UHcf4XRJstiRRKCUvIMEmz0l1Ss7bV89hsvGDakf7\nNLc8rJkQv/x9cgPdcnY8MtfeuI5ZxLIv6MpfMqrCj+Ma18eeOWFrXgKtYrCA\nbmTUWS2Qg3Co+DZ7+Rp59j1ONo3HV5hk7xlxqrmBIwrgN/G2zWsbbJXgQN1B\nHWg0JjfGirjViS/fdsxgWc4zvae5hMhTKrRH6XXpvwZiucCOwrUUMYST+H7N\njCKPR5sf+CfJNDAiZ2caznqrnv2t3fGxeZgH+I5P0QjtK4S/eHaB/9U1tO3I\n/Sii\r\n=HX+u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"01ca5daeb81d99750f9020fc62e04bc76085858c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.65c04514d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.65c04514d.0_1620326540297_0.09166182480900553","host":"s3://npm-registry-packages"}},"12.0.0-canary.c97779ca6.0":{"name":"@material/dom","version":"12.0.0-canary.c97779ca6.0","license":"MIT","_id":"@material/dom@12.0.0-canary.c97779ca6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b67f1590e41803ea7ffe4d49ac833518bcb83e4b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.c97779ca6.0.tgz","fileCount":29,"integrity":"sha512-fWvNOKx0Vs0u1eEtF4rGNFFtlpfqiwsziSOgsMKBhnVdEy5kYpkACEre7RZLdAackB0Zdig7KUY0saGjB0pXeQ==","signatures":[{"sig":"MEYCIQCVv1GEjNmo7ke9FGktw3DWxzRKt6OHGf60PsZwUlDjxwIhALNztm+B1Thn8HaQT5SAP8Yrkpb194dMcVItvBr8z5ZE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglGKoCRA9TVsSAnZWagAATi4P/R30rGBqJMxV+mnSL9wr\nzFt55DoAk9grNhFA4uXX3IBj2RjVrFVUXrYO5e/+e/lfrxjvxx+UlkrPE9lZ\nqKL0OcTlvrOK18OMGI0QLnpFk8/M4j1fb/OdNc59ChJ/2M7Qk21B96Bp0UMp\neTtP2I6g0Q0//PJ6JV7MNmNaxmAPLvinqqAjA5qen7pqdLbX9vrMStU5UX8m\n5z9RysIP0o+w7/+iAio2M8/JRVr1tycRxsFoQaxGAN0L+TZqeAjkFitaiJ+E\nPcQdARG0H2FfSNNoaBH3asYq9Q2uT2yORChUlTAxD/B+jag6b6AeMCm2rx8o\nSwl9g/Fr/4ZSyLhafY1QcShw/kGl2MgxPgvO8heWzXXssRp0Zs4vmHu0c+vr\nEvkdc56jDVZM1d/yubPzVS1aF6HpwJqHtEnjgRC0MFDYf/L84x0jYXGLb/hd\n/tdqRzbOQODIrVHRfGDKJUpF/jlXClS07uXL1ASG9O52IFRCl8zl3pYRr2Z/\ncSXsC+6Dnwy4gRn0l1HOW8Sds/Ifrl0aP5MGcLoLjBaX3Pq91jXP7G7s+a4H\nLe+VTfsqSwRptrLvU4ayzJ5cLfHHQOzOkKykuixe7UmjqNr9gJff03szjp1P\na5rmP8rZT0olWMCB4wV3WDIiwGJ9dIqfnMObPHdADAcsohBdjrObmRfYh5Ta\nA0qm\r\n=erZs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"046f80118629481ec1af7c937a84ce6e0fd1f635","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.c97779ca6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.c97779ca6.0_1620337319921_0.15638247218984636","host":"s3://npm-registry-packages"}},"12.0.0-canary.869d890d4.0":{"name":"@material/dom","version":"12.0.0-canary.869d890d4.0","license":"MIT","_id":"@material/dom@12.0.0-canary.869d890d4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"55a5cb0e9174568631bfb97cbc5a726ebd377bc1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.869d890d4.0.tgz","fileCount":29,"integrity":"sha512-qAKWbx0iGAdV3tM2PT1yS5dKPBV6HT382rZEQHPn+WPcdHf6MRmuVtZAxujY3r1ZBdTl2VyzLDs43eeu/IflLw==","signatures":[{"sig":"MEUCIHp6Gq0284HYIa75uJT8Bq30dNy33Dv6qtJ7Q9FM/qzTAiEAxjudxPFnFh51YoLxcsZuyhgKZJZf0w28dxH4g8U6C4M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglVoZCRA9TVsSAnZWagAADgcP/1h2tfZDaNMQs4xsyPyT\nUf4IQdaSDFZ5FLIsx73bXuOLG6cwwyhM88q6r7d4fqvszeIIymN7KcyeHDCv\nTXLZrc9maahYSv/p/CAZLrOZzzQ+ZI5MXd1x6zrcGUMe9sr6fzn1aV2jzJIQ\nUYjjfkZmtsCv9F9ExLAJZxLn/jXkUFkifcx99i/lpWCtViqIIrJJ7gjtZrU0\nuQiZ2AZNE/Kk0hQpx3zG2EtIxoDBgcvwKR3W8oZIywrfJ3NhVEE48ABQ+M9P\nW4lM3Ofdt734O4P5i5tt1V7KTnqCK3XoIOEmv6KLpqn65xzmybVR7g/ZYeBI\nz56UIhajwyNCEIsURrT3S4pg8/rWWDChxefJXdoFEDZvKfgK1KO7Iv1eDSFR\nkxVF7SpGnw6lPvMy0/sZ/DJnW3CyGXOZTkm4lgfZSKki12d/ccWnJGo9+Ukz\n5lUoxiqkqyhuWoGfQebQErxcCdnjhddGtj9rHyPUwo+5CQ+5LJ7xqvhvMlUz\nGd6XTxItDQ2tPYYTZ5Hsje0tb7mnVgUg0gbT10nm9Y+yB6Q7klW/HJoQY738\nxSIf0lULbAqSes3jK976jnPkc5bGZBzE8d7YH5YsQXdSLY9VKqQeczNFavPb\n36jVu5LxkaaeXpog96nfNQM9KmPmUx45hCo104/hWZdfExzRE5yINyK9jLru\nc5qP\r\n=/zfT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cd73688a61b81573744ba9a03cd2952798eb68f4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.869d890d4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.869d890d4.0_1620400665374_0.9805362575520378","host":"s3://npm-registry-packages"}},"12.0.0-canary.ec22e1da9.0":{"name":"@material/dom","version":"12.0.0-canary.ec22e1da9.0","license":"MIT","_id":"@material/dom@12.0.0-canary.ec22e1da9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"015b665b1401ec078aa15f81f1b2cfa46389544f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.ec22e1da9.0.tgz","fileCount":29,"integrity":"sha512-h7WWgdGLU48CKU3oXW15ATGshmCo6iACjhW9EbHiNMRmTpshRwa6R1VKACDQM3R6/5uN3bAKM7gAwPQ24wi9Og==","signatures":[{"sig":"MEUCIQDNk8MJJi3o15UZl6g14R50Y2ykJxCOYg8pgu+iXFPVyQIgXMbAFzNQrebK8XVjU+pX8zc0Pdlvi4bToPKS1UkcXHA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmXnzCRA9TVsSAnZWagAAQdcQAJYJ2Lvnix/wjU/a0y+V\nL+glvNdZ+N5qSf5Cf6CGAii9Nf4ha/LLGdAKe6qBhzj38L/4Oz6y2qEcK1lE\n3n6GajzBUkGqYrlwFZUSzXDSDBJQnEGuJVrDsGOxpwVI/+NUo+Xz92YE6xuN\nQuJxWlZINN/0STh3kgDhTLU6oL3m7SLrPRPbOqtPTQ1oVItUTDRoO1fbSL2u\nSFejyP7XISLr7xiGtj8unzBj3QnVs0Id+tyqX7k+TzjpyhiCawVeFPjyQwIP\nkPllhFAF5Qu8Z6lqFK87qFXZJQE8+hWpUJs6bH50H/sFrWFr7h34xhXY7SQ6\nkLXwcVozQBR9ys2XD5eZ1wynksUAalawBOW+DLn6Jr5wJkE7OlrmMpncnQk+\nkdkLSl+wyd28NepRRVptCyDYF6B5nvnA5UOlmSFeEUG+bSrWyk0BRfQOsW5E\nXiGdjg8eon2lY8ri4bhWyHW3p0wQ8xLUl4MbaDCzFiu8NL3x+Q8E1T+kST4d\niU7ySdV4lz4VFQKpD7nYTBm3Mm0J6XoMW4EZ34Epnv9M9XoBv5Wnnw4rOWZ9\n7eMlvllZl3MXnppkA3YGfGrPkjiJZi/EEZFBXybe6HdKySpLwQWqAsedayJE\nK0rfKwwCid6iI0igl6gwkMtoWvZOHW8lf5QYlogC1ZNz8VzcwYgZOwjw2FHI\ndqix\r\n=yK6T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"273a15f546b8d5df597771686f431c3726397778","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.ec22e1da9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.ec22e1da9.0_1620670962540_0.0125708119545338","host":"s3://npm-registry-packages"}},"12.0.0-nightly.7427449f0.0":{"name":"@material/dom","version":"12.0.0-nightly.7427449f0.0","license":"MIT","_id":"@material/dom@12.0.0-nightly.7427449f0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"33646e91103ffd6f87927514b329cf8cb07168b1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-nightly.7427449f0.0.tgz","fileCount":29,"integrity":"sha512-1RCZJtmBirfZvD8jtKvMjGpWEh3jCAM+QsDugQQQ2blq/Hf+kG5pmiOC09Am3CgIVYGoCqZDtwrfA6X154wcqA==","signatures":[{"sig":"MEUCIQC/HaObBtqUnbcgBrEGpxjUt5iIj8qIPenJR+kSMSvjYwIgMcrxoCznDKUyx5bRIP2FWjcRLWC6xHTMiHp1yBeT+bE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmX8fCRA9TVsSAnZWagAA0c8P/1JNHTqkmmJKfzvO0eC+\nyaEgs0KqVYvqy2oJCvIOQl0kG3PjsAuuOFdOlUf810mHancXLS1aVJ1w7V6q\nj3lPxc7SKu+Q1A127Q2CAJIXvaXRDERH+5W76BIfhZAjlog/ALg2z/ZWvAp+\nabW9zUQp0FxcTft/plTL9chiyWL0HpGuVKH4KSuxpp1uEMSMQehqbxEDh8LQ\nW2vKI91VguoVzcbbGW24v/UKlFrxi45nWr7vG/RwXXC3I5BN6ExR2sZP0BHU\nDbbqrI3PCwinRxnXpuqYLjt3QlMsaVJRHPJaJvueZ+VU5D5w4g/QysCG9wmC\nGSvx78UAJ+jsQWUXqHPLP9/G0b4xJTToJ1k10alYutdhTM3qWqgOdJKzeHXE\nbdfbaUBhl1q2QHgUtnXwNoRfFC2HYr1PTjDrW0oJXI7J5kYRrSHKdSqgLpYQ\nz/kREZUtvTbYjcZCsHd5SfU0xO26YKH/dqX70LUdWUcB9TxNTCWSF5IrQekq\nsPj1amKhywiWduqabEaeVk6ZEfQPYJJoLxi49FPG07eeZzh7WxGvAfNftLwX\n2Wf+iaA8D71o5bH0gyyVTxDYB6jQZREb03ZiOWUyT9nG5MuxCLOcHmebx+JE\n6xJowH+8wUQ6lFgzbTRtajrc0XBpFX+NrEctofoDjfesiMzuKIoabBZIAtzy\ntXdY\r\n=5KvO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7427449f09e9521a6deba6ba7da71038c2fc1f05","_npmUser":{"name":"anonymous","email":"asyncliz@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.17.0+x64 (darwin)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.17.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-nightly.7427449f0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-nightly.7427449f0.0_1620672287176_0.5401951582928122","host":"s3://npm-registry-packages"}},"12.0.0-canary.957cc3bf5.0":{"name":"@material/dom","version":"12.0.0-canary.957cc3bf5.0","license":"MIT","_id":"@material/dom@12.0.0-canary.957cc3bf5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"28a3935fca2d2f347e8e30037b9dd802590aeb26","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.957cc3bf5.0.tgz","fileCount":29,"integrity":"sha512-tDnhawSuPrkcTLddUxV1oRJy/sKX07otc/Xih1F8B5hjuSwa1S7bSU5dhMpWKnS8GNZHlotNZa+ga6h7a+QFUQ==","signatures":[{"sig":"MEUCIGslRQ+WxdgdYZ20djzLS+xmj1lskGw1LYyXoORmBfOiAiEAsro7qG5YcO+s1iCIlMcoIVCSDg1B32cIThkDiCfa72w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmavrCRA9TVsSAnZWagAAHKMP/iXplxItoUcCCg3HUkEN\n1vpDpNyWPs5NV9aJwMoYwokmT1Xd9AYIJxwEIX+fcGJn95PqgS4w80ZQwvA5\neONZxu5Hd8TuhWUm/ouTIrn0133YF4Qixjh1ECqGEtuG4+BnDjr5+yJqZk5K\nMQq+bozYBgiP2Y74a1yIFjGr03YV/60qUYMj2MfJjiqr6jQ2Cjni8MCLTXa2\nY/9k9g+Cr4yxu3p6DS72WBFFacK1Tx0PsAZ8GuLATiWxm5nTvEAc0v/awocT\nC5+MCYAJKieReFZXGIh18KeX+g5QLzlXUKSaIMAqbd6W33Wp09Siy/xnnUgS\ncd2O4pOX1pUA9BiyF5WN5J04wAIru5ja64lUsQIhLrhsLftcQbFwyTCkAWna\n+GxlNrnhkI9E8eCAREaVeCHvw4dlHFP/0+AWKpGR7NrYJnuzXWG5toNnOKoM\nwZecCioYdTz6l09O7zUbdyCkMJg2v37hKryc7EqUL/PI4SWTsYzgFKvf6ZS8\n42br79uDTP7J4jjbdybhVIr7pn40er1it0WPV7zh8p+8vhjeiiMopH1ya0/h\nXrgkrPv7LB0h4LE6eA3PttpnHWZ28cCJSdDWveOSSzXcOl9J78mRtooYYZHI\nTgAOzlGoVNCv6cdjux3wVWK0RqDivmpCnfppr8O9buTB6NPQOmZjjkWYm7pn\nBLac\r\n=pfdz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3c29cfc65a597598e2a8e1841ef1af72450500dc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.957cc3bf5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.957cc3bf5.0_1620683754647_0.12830054096018206","host":"s3://npm-registry-packages"}},"12.0.0-canary.88a33cd70.0":{"name":"@material/dom","version":"12.0.0-canary.88a33cd70.0","license":"MIT","_id":"@material/dom@12.0.0-canary.88a33cd70.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a9538c7e26b6b700e2ee8e9f50acc867760d1d5b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.88a33cd70.0.tgz","fileCount":29,"integrity":"sha512-AOHgkunCleJGWg0+eEaq13zEc2cNPcZjzDpFUc/2dOkRFtgJ3WXUfoMdeFhVNgT/qzr3Br9c43XINEm5jY2WBA==","signatures":[{"sig":"MEUCIQD9wEtPlJ7tmdH4+7hm4UGpGXCseR8OMACchENm3BenmgIgVcKjj+yRK8jmGXmhfsTF4xmU8MWYBJUf2VrW6kUHpUU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmcrmCRA9TVsSAnZWagAAh1kP/jyxJVN9ufK9r85ANJgZ\n5trYe1jY098T+ncEObQ4L/1sNpzawRASeTlM8utuT7kZHzd+xvWRYiaizm+E\nWEfdTWFkDFqQPlQhtFNuUoh3mxVC2/8tkXERglhKqfBTvRlg8eBTEj9H4pU4\n9Qi5sb9fH7wn/egZna+vHLEpSmKBhby7lL0FNYFwhnTJQGDjXcQkbYcJa9rs\nWtybLq2Y/64nno/fF9W2ZEm5RdURZ/S7f33H9GNEXUm6Zgfo+x3WQbIHDjYP\nhUkukm/udFJWsuOUC37vElP2B0TxmEkO48sM57qWyYZrv/YOQbDFgkpgW8ZH\nWv4QjO9lYLDbuDedSwQcBJsHpLXGj6Oql4/GSp9ZuK6enK/EunBv7KoCfoT/\nrz34/nWn9LxiESciX+uYaNUf5SF3JhWC/10pBk9KJeTOVMUIjTKTyK/rj+1n\nIoh8ny32bNkZ00NchwdLuP697U83TSEquoUOk92foeWGxhgXDve4BxWrWMwx\npipDnaWpkbfy32Ktm8mr8iwWiZEEpra9Fs+Nfu4/YoUfZmwtHtpAx0c+M6S6\nujVs3+cCt8otrzffN6qxjz5/hkrQIwXYsd/b6S/Sz+dhfkeBMs2wHvQZWmnG\nd/86vK+VN0kfoGma0deGSLQ7GcmZSIyWb+TseWy8k1SxZFK1UfuoTfT95mdf\nXmSA\r\n=toEr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f1d341efc173e89bd2770326eaeb1fbc581c9648","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.88a33cd70.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.88a33cd70.0_1620691686382_0.5384124680134319","host":"s3://npm-registry-packages"}},"12.0.0-canary.d20dc6dba.0":{"name":"@material/dom","version":"12.0.0-canary.d20dc6dba.0","license":"MIT","_id":"@material/dom@12.0.0-canary.d20dc6dba.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bbe15fd131eebb81e1fe60e211eece036823e08a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.d20dc6dba.0.tgz","fileCount":29,"integrity":"sha512-VoasoecpS9MQoLz0ilzwQfiNZV7g1w+fLh8dlRxTzxb17NNaduTXPtuSz7yAIKJX5c32wzPpq3oKvd8EugPp9w==","signatures":[{"sig":"MEUCIQCeqLTqs0bOsckgItCgNN7M++FZeb253GJn/k8CJMqaVgIgI2LteOYCM7vSACWU2/ooep4J3X/gTD1bjVloRTDNg0I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmc6ZCRA9TVsSAnZWagAAs7IP/1pCNqzLayAOl4v97el6\n8Yj/NuG2LKMjJWujVsJkTyWqBp+Uj3HyAyB/dgi/HofP2qUAPw1kgOe5Su3b\n4TZ7gnf8J6/s5k8ME+wxYpSWKG2CG6muJ8xoGELdT+VgaMupiTRtnwyCG5cH\nGLdgh3FyZUkiF0YyXKbPIVpknBBJMMFDMtIjpN0nKYGrRwAjrvolCjdIoNLf\nMyQxyXYJVBXm6r4GnNDZRw6oITM35ssOVuWwmDBTrldZskT2LLuQgB6DPcD3\n7UBwGYaGRAWL2CO9ukqyl0W1atuon8NQqshdM25LaFDcV1Nk7ctdOb9pxYkF\nun5Qb9UBeC2ORJSwqU4sIgBI4KbjABlHDtQ6gvFEVpNg4FABN3zsZAyVreJA\nxr9Nv5AcDbXP6zb90ogiaPmxqxRFkf2ErMjhsobjHxYrWW9jtPSZdQbo9sK9\nFjZr/G6XPAUl9nAHotZ6gxwrUoSq0PaKN7/tfewPra3efgWbxUjW8w7l286I\n+1xeGjMej7wm+5OKFO0b95DFAFSDKAuWeYyy7ENIyQI7VzQ0eaSqZhsFaBaM\nXRkHQA0lYrtFvAJWSD2gVecLdjAiwA0nPkUHh28vt2XbCw3ePoVNnvCNwr1m\nY75k9CEZZgY+VvlNcfnhNRoSvyI04VjmtW0ILwgajBOnYTeGIeRIet6mU1dT\nAjg6\r\n=lMLX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f2980d3f7fbbd8d2e3b824a765f7fb03096bf11a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.d20dc6dba.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.d20dc6dba.0_1620692633346_0.3898899352567846","host":"s3://npm-registry-packages"}},"12.0.0-canary.0ce2fdb02.0":{"name":"@material/dom","version":"12.0.0-canary.0ce2fdb02.0","license":"MIT","_id":"@material/dom@12.0.0-canary.0ce2fdb02.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7bdd2fde096ee311a3b8ca27ceb47853cdca5703","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.0ce2fdb02.0.tgz","fileCount":29,"integrity":"sha512-jAQn7bv7ZB3yLCsa9cefJmKHkQx79l6LCs3A97TY4H1N/zGXOaUIQAYSWUI5/JjNrhEhMaQ17O/2SJRrWlOQoA==","signatures":[{"sig":"MEYCIQD2iqaCjdxyvje9WgfPI0XgyQA31nDKrr/fznhNFgdnvQIhAOlBJrJCwk2FTPah5CEbMdBf7T09/lPxQvRgI5W7tim6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmdaKCRA9TVsSAnZWagAAoUUP/AnouNaqNiap2LApTBz+\nZwE7dgreZZI1vWhidTYkAQTh/ftgm1QT4U+ozmvFwb0Dhd5A83ZT8A8iAhAv\nc3B7AxLHrX16khqyBuNeHK9cK7ChSJhFE6FZPslZDYXr6qcgw2T4laNv+KqS\nV5BsWDD71T7Kfv6XpZYxYBOOoox2qS/Fv0f1LQpalUV7X4gqaKnROjCB5muW\nm5YiXcdG9diYCLPXmSXoYd89DRwWBIEgiUHj9sUp8a49P9vVCeWvzgNZWImi\n2/72xu6gO7IVowX2csUsgqRkHiInS0MXDnV5a9D9cb0S8dtpGBejtm8NwdW8\nrcePkFU+M9WeNrH7BVTFzb7hm3GPD7152R7wTvKqkD1dKk8ugs7YOSOhMPXI\n2DzSXTTKg+vdUxWRgD89xDr6imkBCOHUboDJJjN7iZ1Friywzuqu8PRQLWha\ncXLrKKYIhOVv10Osl3H6H603YXpyw6ZSJyD3aM4J/RHz7CW9c4TQe1pMEE85\noeQJfnv1w5vAiWzDGu/mStv6FHNZmgsoYq/QwiMZN2hUUiB0pqsLQN2GyNvQ\ntLF8fyzU+NKQPI0llyDxQ7jdEGEN8DwRBq0CZfkbmTTKf+csTH7PQQs4sU+z\nemjWuFEZPEJkSjZO0/urcMNGHJ28uVYIzj/EC8DbjkktxWsKD24fVYxWupi+\nt3h4\r\n=KqPM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ee2139d87a1d755a50dc6bf0a6dd53a2f39548f4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.0ce2fdb02.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.0ce2fdb02.0_1620694665805_0.24351098499021018","host":"s3://npm-registry-packages"}},"12.0.0-canary.cb162da37.0":{"name":"@material/dom","version":"12.0.0-canary.cb162da37.0","license":"MIT","_id":"@material/dom@12.0.0-canary.cb162da37.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a6f6b088c0ff31392d39920fd90552662234dc2f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.cb162da37.0.tgz","fileCount":29,"integrity":"sha512-Kpt+HV7pKDY2X+BJAGSO9bANrlRpS/WoTWPBn6gPku7Gs7lIUYq9QXElMpfq66bKGzuEp7TF7Xsi2lKhOVPU3w==","signatures":[{"sig":"MEUCIQC1T+Ak1gvgkGvPBH4ffLFSkJQA5X0/A9Sin6Rmv4qaKQIgdm5AVEcoEj1Cm5hp57EqJA7KLQKwqN0zQMDXYyok8SE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmeSKCRA9TVsSAnZWagAA7CIP/iPb6wSWNuY8r/9mBMZ+\nFygPltSz02NT9WOYp2pGpm92njbnOTyXxT1W8Cb14sXMHJQDLnFVYpGiGIUy\n9iTFWlsjHdf+M0z0ltWTPejecreHH3L1FiPXuthLfuyFnKh4dVFQlIkQydnp\n09Ne9uOm0+rP4SmHoyCKkZd2yhK+/430nusJxpq6uCvUJ/1M8/qjh7ltO+sd\npMLiInksrzSGHv/sfLNDcGqlljTpexTIQmHEZHzOiHPV4Y8gBMD0uKLED/rl\nds236PrmYNo2Tz7XRcYEmutjI0pk7BLCgKskE9d7w4jk28OUGcBfRU/aAbMn\nhue1HS78uDkVzka04hS8AVCcbS7WHG88MgMFm5yM2Ay85p/wsGOe37kVfdSY\nOdAVJXJ+8+SmwkOArDC5KdEYILx+1jcx7OfnEv6USVvagE2ee5ckR/Jvhje0\nkvtd1a4bkaYt9tpyoQhOxkOFpQ/RAH5fou2lfdhl8f5gNIqkLSHaGbzq6Fvv\ngG5RLuDTA4YqOFmH60Egu8r7c4dSxwnTYj7fLQe+85xfneYIujfdsI+7dTp0\nDg3K+r9YvYh9XstRUtav/W41MfBnKJnO9/KctnjjkdTfmjwG03nDqVxo1M++\nKEt70dkGk6EXrSR1rG92+AtIdQdgxNvvZj1MSfonX9ZwB8u6jw/QRYJa1zqq\n6f/u\r\n=/dc+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9858adcc9ed7b1111dde19951ba96847bad0beac","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.cb162da37.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.cb162da37.0_1620698250123_0.25567566843975076","host":"s3://npm-registry-packages"}},"12.0.0-canary.573dc7ffd.0":{"name":"@material/dom","version":"12.0.0-canary.573dc7ffd.0","license":"MIT","_id":"@material/dom@12.0.0-canary.573dc7ffd.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ace56ea8e68dacab5fce959f2880705f89acaae0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.573dc7ffd.0.tgz","fileCount":29,"integrity":"sha512-sXPSGbQuRjQ4WjfzImtWzH491zRetL4ByXomfkeXLyr2JeT2My6pJ4gSP4qmoZAqTwlTdtRedE4HBvMFYR6tsQ==","signatures":[{"sig":"MEYCIQCYkhnxUFJwwOTtawRiZ2to9MCFbD4M/LaEsasBsEhfSwIhAINaUSeFM5JxkIKgKMuDliAowuPUMsap1MbIAlPnyBNM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmej+CRA9TVsSAnZWagAArE0P/jP02WZGdgq2b2uAf4nt\ntzwvU69zt9aYkkPp7no4/pPmcZCi5kS1A/5o/yii6BYT6M6W8DKtQEhBXg6m\nN2iiWtRs/98GzDF9UuGon9v56ZF1B5wSzY2JUra3pCxuA6RDF0NqxsNZtUAA\nz14qPVc2sX1QtVPk95ETvE3eAREZGMCmxK6TDXBsToq7KWfYH+7jsfnodXT/\nC0XfNVmFARPBgdMBFSH5jPmhCQDYhIN5MK/x9MoW/41v0jJFCAWzqD+BpXBZ\ne0GorZwxlYlXfOvC9SJPgZcjpKrqxFdSthFr93ZR9xREWr2eA1ekBF3e4OsY\nCamdH9Ouwy1slLifpK90CPxljOmzK0l9REOHSPtdZRHRQKRbyf3bAf+Rk3kl\nGRxWNSGG52SLG0PqSKTKzSL0imNBXE2rTMCx//+FfGFQwaPe4rNuF4j860P3\nAr6hEWWuxqmQdy9dx7iJUJUBxMTow+ybCYKMyPFE7nzob+SaQLmt38U8dqnY\nw+lgTfvNhcUXaolN2ix1I2Y/6RPRGKU9SFjcrKxszy3t5VeuNBa/yzh4RQ54\njKWMOSlLzevJhk1ZLNypHIzel2D1B9wCf3JdSQx/JXL6tJ80DriuaZKRfXAC\nmH1i0zo9JmYAWiik+eT8AcD50ZoC4cdeeT8ywum5jLpDoZ3iD3ZHncSqjYhw\nh0bZ\r\n=0dRe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"67aa299a5066425730ea2e8558f89c111a5ab156","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.573dc7ffd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.573dc7ffd.0_1620699389811_0.8067844949201752","host":"s3://npm-registry-packages"}},"12.0.0-canary.d5f6ad3fe.0":{"name":"@material/dom","version":"12.0.0-canary.d5f6ad3fe.0","license":"MIT","_id":"@material/dom@12.0.0-canary.d5f6ad3fe.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"559e0469be76a45c5b89ee51e1d55dedbda1967f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.d5f6ad3fe.0.tgz","fileCount":29,"integrity":"sha512-haBMGEUxWi9lipixhWe1Dy3lg2T1nnwifduUly8xgJCZ8IvNk7RFUDIOejMSwE7XUVtIimaW5bYonOlVWSclqg==","signatures":[{"sig":"MEYCIQDUpLNhXPttwhNOdnIIx3xSUiFSNEnkvMdWm/dEcmuBQgIhAIK3LtqZrV+u38izASMQ2pJD2pJ86/RA8z5ty/wBvXlV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmxGLCRA9TVsSAnZWagAAvkMP/0yPRsrLhLnNlAP96ewj\nJOVnHczoPS4GMugn+pQZFC9X2XkTL5nwmj9kSlrwBIeMMMgkM2YhAoaNcKlY\nHhO5t5TJNLOj2OK0FJRQv3yqztRD0wJnMcbpjmG/GDPHT7Zdj2ztTk0K/PW6\nTKTzYEz1t+ycwGAeEg+AdLQRk/48oVOCx3ZYR4DS87JIU/PDmj2NTOhc/cGG\nulTBpHV/BomGZx9X15+HlKrvaZwac8r15ceSLvP+56QirHK9+rmq6VpmJWBg\nogw0FqcyYRvqq0uAoH22tWcbOCt7J+DZxcwmnLmiIjmZyW6L8ZV1Asw7HOFr\nfvnIJQMLICAm+K6ujQJXIuBADjKqf8cP+5LiDJ+qAkmgd9gPmKn1k/n/FRTh\nQF4hXWPPyfTkZTTD1bvnf2ybO9SltDoftZYtljn/5pvgIinOyA/JMxlBZGVM\npKJPdqAmxpcNUKwIq4+7Pw75iQqUvmYHmdGh/pzDAvlePrgfzlwWO8niHMKK\nf4Dgz0p5/xb+EL0brS8YLctaYEOzTw38/YCfEpkzsVVbW9+VMkiKm9Rp5d9M\nw8lMxR7a8ZnLAftpHEMKDKOQZkvwA0Rs8YbJ6pV8s9kb9W3HtNov9ixtaUhU\n4V8cEtRfby7oAohfaZ7cWNr/3z7DHbunpNgSUXuPrZS4/fL/7LSq9kiYDeZY\nKlab\r\n=SGHi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c0bf85201107dc8a95576c2392f5b1771bb2c969","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.d5f6ad3fe.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.d5f6ad3fe.0_1620775306978_0.263877536698244","host":"s3://npm-registry-packages"}},"12.0.0-canary.25751d2ed.0":{"name":"@material/dom","version":"12.0.0-canary.25751d2ed.0","license":"MIT","_id":"@material/dom@12.0.0-canary.25751d2ed.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"497276989fd355bc357ed4606d2c67b26a94bebd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.25751d2ed.0.tgz","fileCount":29,"integrity":"sha512-CqEQ6flu+xXQgQ6R8AQdltw787fCcUGrcfczNg5eX9BeXOsb8AxT8SuVsw7wgUSdZtPcaidQtRKDYzt9wsayGA==","signatures":[{"sig":"MEYCIQCXrzUm4LWXMPReIZJ8a4bL02fte3noEckbHcZVP6u5GgIhALrOMn/eJ1C99RJWRkKzEMyBvOSqtIIRAzTIlQXI/DWx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgm//qCRA9TVsSAnZWagAAavkP/1v8U9elWd0OEnHLaoHP\n4o9Wl86VCjWWDac24rC6va3KsBWycMjGkAIfwURYstwBhDsRAshZD/A9c71F\nIuxNFobyVpu2nVvWHNAlRnXGPudPPObE47ya0MLSR9yZCoQtiaWMzQwzC2U5\npnUy3vqVW0XMnHOftI6plA/rEYnWPmdnVwgB9AOMvYa0kXbiQQsPK3jmr+Rn\nDMPBrdYjNpG0f/MLjHJ3Y5yOGWxaJDb2j0bqY3UsnybWjnICCLyLr+zkolxy\nBZV+TZqDyU95BrK8XfZq5y+gi0XOVpLr7CjSrT3qKdlwYtm97j5rb3TR1aGV\nCiZ09rLSg4MUFYCJGf3ETbg8cbFzyi0PVxPcIvvX8NqTTgS9UNVfo28JntJx\nddugRO1/SpEaZeZB2yHEcZj/L+aFpfapkMLm2gXnHJit0uskZgH2FaQF0G7+\ndMDYTycwGL/seVyPoXlEOVXzgNrA4Ge7+pw9PikvgtxMUQYWHuEgfymovM2w\n0M1QxdySEe6PdM6o9O1jogqx053Ysdw2mSLbp9tTnDf/tGNaHlzDa3p+hBkR\na6AM/OmJzR/MoUsaQOPU62PorNnmYOblqb3u15upejOzTbXKOCQ+36nyJpr5\nO2Rvwpjt6zVqgP3U3E7rMSS7w/CugS9ELE2/oyi15adLS/WSI7xjAsQu0VO4\n1IBJ\r\n=qJ6c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c38dadd226475a1dd91a992667019eefec273bbb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.25751d2ed.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.25751d2ed.0_1620836329967_0.03376335535237307","host":"s3://npm-registry-packages"}},"12.0.0-canary.a23ecb682.0":{"name":"@material/dom","version":"12.0.0-canary.a23ecb682.0","license":"MIT","_id":"@material/dom@12.0.0-canary.a23ecb682.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"58c66f8f4db2e289dbedff1be70ea511befeb878","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.a23ecb682.0.tgz","fileCount":29,"integrity":"sha512-pRmdiNjzuVz9tZBTXZDmUNFnlz5GuuezH0ML+/hcU0njCQTxUFOnplmwR8YGWBaOJ6AES45yK4MY1QzfiO8wyA==","signatures":[{"sig":"MEQCID6u4wpPJ9FzgahE+kZ8j+2K/JUCbRlQimhD/96svc9kAiBfERZc94GYDnqOXLIqPCAw8tDCd0rLNQu6bjIhtRWBmg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnBzdCRA9TVsSAnZWagAAfcIP/i79ryYn9jvssSM6HT8k\nL3o8os8L8gYmHecWTB8DjQupaTlpwhsoz+LVFQ8exXERrdqtVPvxrdd7pB/X\nPnWSFcLC6GdC2OC+X2WyPlHfc9XtWniR5uCpHWsUtyXExcBtGVYFglpD+oYG\nt1DQGUrVOUf3YM2chKn3skqYNiQVqmqZRvQT3JjXl1H+pda7cQFMcoR2ajPr\nrPyc2p8xaPc+xz1kR/MoFJyfr4edFI+LHqFs+RBVpWfgjMZt4Cr2Lm1dgmhk\nHnWj9Q+ehBZuTCOKq5JNkft7seEDe6RnPJ0u79oW//NtyGSxUauhOfJLFouA\nBVU+lZePT68hlkjcZji8hGw+vk7/8eoI3aHuf67jgk03k0e0CqsK1rACXEEO\nSOBZqbuR5Z18BgZnS5xj+5Hq6wwn7upZw+bCKgIhVVccnTwy/oIWOv3NNPBB\nAzpgfU19sKGeFWQkh0FtokJu+YXTVfCdA9gI14Ya3XYjrw0kRaCFu+QCh/0o\nQ8rfObImg8jNQKWIIYWPUZDLu5vB9xsg1NpoOfTeumLlIF0hoSq33wsExo7d\n+88CZuBE2uInj7v9Drq9X+fBQzGYrnVrF0INB8ST7m0aJjd+9iiFpG7VE+qh\nZzc/CzviZuaSO9ymgqMjEmBTueMUG0b/Ou7dDHf8JHd2xUVemqgMO9vYAnbr\nQT9Z\r\n=Mh8s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"da78c3f024a21d0e0df18a30c887082b202d7269","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.a23ecb682.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.a23ecb682.0_1620843741060_0.043442388424344","host":"s3://npm-registry-packages"}},"12.0.0-canary.33a954852.0":{"name":"@material/dom","version":"12.0.0-canary.33a954852.0","license":"MIT","_id":"@material/dom@12.0.0-canary.33a954852.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f228a2877f9246d46dbf9d6be96471d9ca913529","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.33a954852.0.tgz","fileCount":29,"integrity":"sha512-jPSgsQe4lk59a/uO/wC41BKfGbv0qzGpQ/B9RBH0oF+QN+oXT0iIaSbZcYkEWVHnuSBH76kbTT5BTkW29c50WQ==","signatures":[{"sig":"MEQCIHAFTr0Jc3t0L+hTegx3UxHWQHk6tzHGIBLjtMrrKJJhAiBnbxonzxpSFT/T6WfQdHahjc0JF7G00QoMs0uk8PXS8w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnUCGCRA9TVsSAnZWagAAsm8P/37kHPArbwHZuxkcsELI\n1ShX9JQ/n9nrdj0G2rxyH3HT2lsMb/xdCV0NjivnQSW59uVlNPF6ARBPSgcq\nBZ+K+0GHB6uDcHNiKejwC31LDxycvbXWzw4BjkXCpiMr3VRZtSVgukmc0NX8\nMGSprvMDnkfyLfVhWokkIVOoGkZDWxnhI/y8334BrcMsftzTpIhsnTe9mmWi\nFGOVYkbKNiJPxM8pH4O9MtHgAovefnS9NEHt0QOR+9KCouDEpZt+GRT4TJ/t\nrqUuJ1vLqO+K0Ok3IL1YDU/ekhtKTpb7ZIH2FkYLFEbidHLk73VDZmn5n8Wz\nrw6kZXcX3ZJvh50W587a3E3Th9iFmmzm053p3k4okB1trpb7jg+JMbFppn34\nhL1CbWkdZthfyAhT6Lg5OYVhGMBc6qVQ3Iv4Rrva/qA1cZHGTFZcDSAAqrbJ\nqx+z+MBU67IbNqr7TMeTBDfmHsckQjnAFS3pgoLP6M++e5UMqVFp1fJIuB3F\nSdZzQ2ArorISf/VOkP5dE/kiFis6h5rL3bIf1t1n1i0mC4Z82eA+jpiOA8yN\nLGEvrOrVxI0A8KITTDLMN/D/F7aFyFhV8i3dALAnuA2eV8vvYhJizhQDaTX7\npJ42qD+DDyY79U1Mfv2iFBz78D8wQ/4hdivjQB56B0sRG91R7Z4NwOppGBER\nf30o\r\n=Pbyx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"703dd5ba6a1225efec74655d3393690dca1922eb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.33a954852.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.33a954852.0_1620918405703_0.8666166215498465","host":"s3://npm-registry-packages"}},"12.0.0-canary.a4484849b.0":{"name":"@material/dom","version":"12.0.0-canary.a4484849b.0","license":"MIT","_id":"@material/dom@12.0.0-canary.a4484849b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"57782c875b352714c9f1287ea587112c0c436c76","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.a4484849b.0.tgz","fileCount":29,"integrity":"sha512-pBVtCuuNb0snt+D+shME1DKtJJeMwz3Yp6CmsRF0KjMQh30kjZtKolYKtK78LDzw9dhulrwrjDmcwwG8KiV+Ng==","signatures":[{"sig":"MEUCIQDhSHyfl/fxl/209Wr9bM/E3iKAK9STqLMFKZpoFg5XIwIgSMUFjpYH0yMwqVhe/w5DYUCRvMzyeOZu61YgkCf3uSA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnUX+CRA9TVsSAnZWagAA5SQP/0xcW4NR+o7mh6bnHQ+S\ntHgKabYvDBtlnNNW2PAKDo5mDbj5kJyJeyZ8yzBPoExbIX1NJPk2Xzx/nizV\nB2sqmpVxYs6xIgc4FrQIia0Dgwj3VYHN0IhilsaOM0ir467dShKT0+FBPAEe\n4lerNhSXTiZp7l0TQ4tXxNAUWPGxtHlCSJNsY3DaxP8ZVSTz/2POAFFbnfSn\nsoUmXt+jLbEN8zLY8xaQDsE9BqtxWYRp2yX9IC8wRofortGL0Xpa9DVgmVm0\noK/iVAgZiv95ot1pFSiwIuHyQHwxPLdt5nJkeNU0lUzBZU6/eFgXgLUEhpxa\nn5X4gSJfXkhOGtddkyvwxOvP1j+Ws1P84bVR02aOibabq09uYmYDJ1PegTJm\nqE50mqfSFECnjy3UxgvEcQ+4Mat4EMhlVaoqiWdqkhdrOcXbkfuPyyozG6+u\n8mLGCuLMODhxJieTAUkDQse+l+nlsaptRFrtGpXAnUegJJGeq/MOlo2Sri/A\noHPD+BUoyEZHRN3xVgBCB6YCX0PIQ6BJ8Ov/Cy2M5TbESSHJL8MqHiim38Pp\nT7eLAiUcCKANkv03Np4ihevS9dakoqb0JbpOcq76HSpDoLLeIiFEx/7LZ+id\nHu/V8CzRWXdl4jXmbJYaI2CM0z/k6t91LL4bEe+WxhDDp0w2oViz439W/+so\nYgfJ\r\n=PaLq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7908229b1205198ad87858e49ed29ee3836cebfc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.a4484849b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.a4484849b.0_1620919805373_0.5790586821621388","host":"s3://npm-registry-packages"}},"12.0.0-canary.b4c3f513e.0":{"name":"@material/dom","version":"12.0.0-canary.b4c3f513e.0","license":"MIT","_id":"@material/dom@12.0.0-canary.b4c3f513e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4d410388eb4a40804834fe214c0e2abccde95d2b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.b4c3f513e.0.tgz","fileCount":29,"integrity":"sha512-lvDYDfbFDFkLTRGkNUSAZLlkE2Z7MmnL1SreMIiJE0iQnqqxSazVlXyMa+dJr1VZV1h6J0JO4YxCWBwuBF/5Xw==","signatures":[{"sig":"MEQCIGBelpZ1sbCukHo9mwqwkyhpVHTPjXLgA5nQg/KvvnSKAiBdk1QEjy3Ba11Oy7AQJbgsGqAJCBRXRP/ex/XvMwVylw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnU6jCRA9TVsSAnZWagAAE7MP/jXWOnK9ijrR+UzZbLmb\nexhRJkiB8FOn4IrB/JL/ZEkdwZLAhK2+xYIG5uPzjdv2b2PJ489ICJBOQRa0\nBldzYK+He5IDaZURLiX2dXJVPRBlOSZvU2DjZInjUvOGefbsdWz2Ve1gG1DT\nFUMRWQUc403RutpzIjVQyMbAJe78RPzxPNOLnosxdYMgFlVVh1HTHBJvMI73\nQw8LBRbglOabrXzyJz7Y834ImsPIKdZ9BMFMC1gLcjCPpfoAU3fwqn8+yTOi\n3csPcChr6GYnvbM/BuTFctC38DdpEPp7JmggOEIWtl8yTwllzEtcQ4EgfLk4\niwdbpTZzlO8MZGO18DX0d2R0h0wjY4gZeZYvzqi9402GLkp33tK0KhSsOofe\nBVW47QVtpfbWsJmLVcy+bsmgxmTiMc9ZL26+PkoHXNqT0JKNX0fbNk8y7dPk\nuLu17OtcIWvJ+WSRR8+2DfU38zA4OT0/8HbQQsT7nmP5MbkEkLf+Vx62ajnU\nuKZiqPPToZoXRePbqzlQcPgH8zTkwYva8mEKZmZjrvCnP6Rkvd8mi+yEvI2n\ny60a9B2xztcLoHEaSAETP3prT7umRjN3XeZ5oJqt768tsHAdSraeMdBJp80x\nC8dC3cw5l9EzZuzoLkN8zIrNdA2raC17IW5Q6HV+rioPvkpfmbhRjZXasb2/\nYqve\r\n=Y46O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c2183e7caf6f0437e64e41b632f75d33156547ab","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.b4c3f513e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.b4c3f513e.0_1620922019115_0.4482202977123533","host":"s3://npm-registry-packages"}},"12.0.0-canary.1a8d06483.0":{"name":"@material/dom","version":"12.0.0-canary.1a8d06483.0","license":"MIT","_id":"@material/dom@12.0.0-canary.1a8d06483.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6ce068b0bcc20d605256d6316b9ed36e6130f729","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.1a8d06483.0.tgz","fileCount":29,"integrity":"sha512-x1+6b2vwCcJbjLddsGefhZNzdvDoyFmrbjSxljnzk+qdeRrM6gXioLfBjxJKT8/olge+XnZukNH8JfiRCVSCGA==","signatures":[{"sig":"MEUCIFwZFWPxv45eKlrHd6Gw0w/nxYNS10TJWUXqhYgBxu80AiEAn9ixWFv2E+8Qb6rthTsch+w8IjO073Esbs24tU1wNCw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnVAECRA9TVsSAnZWagAATl0P/R8eDkR7rgw/NYcnX/Y6\nD/7q/UIjQuoeys/tRYAtzTngG5qjXAWavsRqAjMdoEB/MJGWYFa8CHKUYAie\ndiwenC6tTbwjIK0LC5ObHCmFS3lmClX6TJtjVR4efl3pIihxG3ZK5UP536Lf\nlALdrPwRgEoFOfZbf3zW+2AwBEy+B5GrnY6bvFV4Of6kb1/ZUbGwN76dPbVc\nYN2LdNpP9Aqc3WkJ1pbxItqQP3BSY2YzVClOYAkmPNN0DejCvh01jSxFS+i5\n38PVm3Jun+4RMG4KzWkZsT0isxdCbwpYSnSvNcz/0iQhHy1KJAP/NSCoM+DI\nQT2orhPbHPeqtFv6gMU9kJqp4v0liuuOHt1pgrCG1Wvcn0kqnQkWbtH8X4xY\nmS6CpsXN8OjSoPov0O5jvCFIWdBvbq0X0ZdUuZraQBl1F7hd1+yYdudra5Vk\ng67tBRNQs1xVMGEbNP+YIus5hIXSvJdoOgblVVj6SfPqh8y6vAscojlsQ4Fz\nDScar/rWen8lE/fOgrFDTgGlGjBnllbsaWmOQFoFmhR2a/QDhFufjMcnPdTv\nCaq5KeqhyInuooSUffzuLW3Y69lMaF1JqZmECVIpk1o9UEi/3Dh3u6mG97lD\nhlGLGB8IDZBVxu+kIxjQxL0GQ2dUyMrWLL8pKdo/BqjdwnjZ50ffy9tKJUcK\nKGrD\r\n=l3d4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4fd7ff5259e7910dd76488a7faab45af839a13b2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.1a8d06483.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.1a8d06483.0_1620922372055_0.8234553727317759","host":"s3://npm-registry-packages"}},"12.0.0-canary.8e6081836.0":{"name":"@material/dom","version":"12.0.0-canary.8e6081836.0","license":"MIT","_id":"@material/dom@12.0.0-canary.8e6081836.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e311fa8b8cba15d928f122a53f8d462bb9a0704e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.8e6081836.0.tgz","fileCount":29,"integrity":"sha512-jaw4kypC5wi9CjqI4GoirBOwclnEJolXqnDQ9wX+s3nG7uGZpiGc7T/5O6eMXMn08x/I+LOP5KIWczWINpR5/g==","signatures":[{"sig":"MEQCIAEnje418SVMwvJR/UolR6OXHyf25fr8S+mb3pD8p9hcAiB9kdSaUcFbmzrDRA8mgQKsTU2I48wBuXQJF47twjI1Qg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnu4nCRA9TVsSAnZWagAAH30QAIpCK6swZa0PjuzN4GXM\nDK7GSfe8pKoD90jcifXZHiJs5WvB9BjIogBoTv6Uz+/85IpQ1GGACXn7R1ST\nJ99Q7nHx+ga/YzonEe3NyvoJztysR6JUxz0UX9vZ1DxIQjzKEpbz2q9W610j\n3neNu/f2rUn11Q+meDtMMvtSQYsClpNFU8Jk1L/54wJQKCCjHz1OLcT22YTs\n4V0E8n7Cd2PuiwYdFTr098DzVtQvkhFnFZEFcNi9rPtqRVRswBvz4MqrPKad\nuyQANvdrX+EU9eV4yMfIHpBmiKZyvGzHoxwhE3FDYCPvO8I/T4OdzM9+ALSh\nzb6jjLgvW5zq28agkHH7n19P39PmNMq1GXqLNRBPPNM1JC+HhEyXLXc643Ru\nzd4Sb4BGC89cwzq1vlgOgPyWFBvZFBErBY80NO/iDFLYBIczO845sp0dFeyv\n9QcLqFkay1+5RYp2MrsscSGxQg8G7nXZFl+Ltt6gOTJIxK8nopuxMCkLL0Ma\nMMP4JWfkIOqGMksOSaxWkoDw8FVnySywGS+gh/iRdM0+mso99cOYeTUXxwGT\n7HHgDMUdhE5tJEkJmeACfuxeL+H6HkBrfa1SE6p5C6FwPcmpJUpX+fglBvNV\nQ5FfLZxBEx0UJOV8XN+SHemlVKGxOAXMmppK7uHKMQhtNBDBG7LnwCIrbUrC\nhoUV\r\n=ZGBr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e648805eb34c990054d503fd3f70ed25e40d6d9d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.8e6081836.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.8e6081836.0_1621028391033_0.174934422256108","host":"s3://npm-registry-packages"}},"12.0.0-canary.a2b0f4cee.0":{"name":"@material/dom","version":"12.0.0-canary.a2b0f4cee.0","license":"MIT","_id":"@material/dom@12.0.0-canary.a2b0f4cee.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"819cd978ef6dbeb5196a359d08c5471c56e28c7c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.a2b0f4cee.0.tgz","fileCount":29,"integrity":"sha512-dfjOo/ebBcpkEsLzlIdcfs1htuDtOPMDsCkbO77GMWL51pu04FzNy33J4VMs33T4sRCi7jGcyfK4PPOIDTn54Q==","signatures":[{"sig":"MEQCIBptLRVrVPibNpUCPnQEccFP7qDs/d8A1H5Czt+isFPyAiAFGt0RbIRYjGR0pnjG5AWzH/TgGa2VyBmB8TLvDRG6JQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnvE/CRA9TVsSAnZWagAAFF4P/2aJpVhG1QYbTHir1pim\nopgguHVfc8L4a5rOtbSJkr0XT8c5hRTl4OoCI4TKX/ALn/NjmwtWYEt3yzip\ntt+nmb02MLUql+C/zkANxuqwrJ3fmpfC2R5LdFUTxMc3UqUnP/MbNeMh+0yl\nlQSyk9i28QouFobue5g2S3xfGMeIOCHD9YloV5KrtMUNStRDc9qBQV+bSPJg\ng2U0XwpCwhbFbtOCuF/p3G6hpJ3SyPtIhtUgBuyEcH5+DRptV7n+kCr8hS0L\nCObadQEjrGrWkdbMYbQsOZWXlxV4i88WpXPPvLAoLROS2Lanl20sa8LFtYy+\no3NkHdO74bdFJ3p5UYcvVf0qXrydhboHJcJdoj4Vepdl8mUj8QCLnydxpP1V\nWTJptRe+/5L3kYF6S9Z1BA7VshfU6NzUMZPH27pL+b4P6EC8nfrCvWMLFaym\nfCHakI7KEya3m1cQqtgFYlBGQZA/Vk/H7SWSY/x9W1KFcPgJLaWFfcFHX26R\nhX5dcRABnmcvg5bJGvF99oyHqn7M+UYYfcwHiUQmW2nMGLrxmYJMij/l7qZz\nCd6sAkgKDreFxqxpI3p8iQxQ1Xtl6AInqygkYSzVnzsbsdWw+8Tqo9/7aWca\n8E8EaJg9bcp+i8clmGFcnyjhAXJf2j55rKkx91Sd8bOy+XpM+MlHG07Hssmq\nxGbn\r\n=NDNg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"67c2d3cef073a380a13ddb6bbbfc90886c7af364","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.a2b0f4cee.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.a2b0f4cee.0_1621029182847_0.30036720433434905","host":"s3://npm-registry-packages"}},"12.0.0-canary.e8e39ad19.0":{"name":"@material/dom","version":"12.0.0-canary.e8e39ad19.0","license":"MIT","_id":"@material/dom@12.0.0-canary.e8e39ad19.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c20592628174f69391b11f6ffa862d9394ae0136","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.e8e39ad19.0.tgz","fileCount":29,"integrity":"sha512-uG9k2T4+jI7QqblqplX44Wpd80EPDUbd/L100kcJ6F2x8+ecJ006+Nj6gb6rtFivdU0ZJdv+YzRbx7sngacEUA==","signatures":[{"sig":"MEYCIQCxyElOKDhRlL7B4Qn6GZnYnbuzLG9Dg0Uz/g02oPm9lQIhAMRGQR6OBejfYxkdC+VjHA8KbWWk2Ak1C/1JnTv4YhUF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpB+nCRA9TVsSAnZWagAAXJ8P/A9c42R71Bvr7gsbWVAD\n+zqLmffUk7IKwpiEUO20X4Fmxj+jqStTpo9nCeRzDp18eJoqyR4GLDN0wV4I\nwEu3G4XC6E0wsJ1U7YYU0syPopCjDOXoEy0WfHHnDlKLUmKYQMNnYzHbUMiB\nU7+nYFVL7aqtH22XQaSWK2GRcgiogvoQDr77avjwuLMsS2Up33pJPcHYcruJ\nzpkSjMTBW/CgpSIUrIcXjbIRE+0CliHNT76xXnhPcz//G8T9zZamF8b9f2Yk\nW0xokAhLyYOagGD7VOZcqMVPkYLsVSPySYnXALeTy+IW/8HhL18p6sFh+juX\npxLA57Ms4RrhplrZE0D5Fte3pnL+2w+MZx87xs3RMF2+aPcKdK74nRCYy9nI\n4qHdc+Hp5iRjLp18ZexEfRagOoF1UCZecnDe+bxoKgvhNp/gzGhKegbHd/Za\neSkg7VvUlP3V912YG1ouJ6zeFkq9O9m4XYVqSEk8NPgMGSJRrPm7SsKN9ZnJ\nLLQXkCp83Z18fXDLX39wAoYwHPdyv8Ug1t+QMMzS/oHvD7EuNhj7h9k0h8tP\nlAKYrn1KtVw++FMWDY5uuoqHMaX7dMxKSX3UxLseqNJ3nxwScTOWOr4gilGP\n6RFSRBm5Kk6UN4dN2fDuTmpHrQnsVzE+1wX9b7wQMEG21P4/APnrOa4CY/Z/\ntDm0\r\n=Hb15\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2bde63cf3be6363eb1508c4d7e1747acfc51a761","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.e8e39ad19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.e8e39ad19.0_1621368743458_0.607502054678555","host":"s3://npm-registry-packages"}},"12.0.0-canary.4bb5eea2b.0":{"name":"@material/dom","version":"12.0.0-canary.4bb5eea2b.0","license":"MIT","_id":"@material/dom@12.0.0-canary.4bb5eea2b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0cbb53b69a19192e7574277f316d9320c2027213","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.4bb5eea2b.0.tgz","fileCount":29,"integrity":"sha512-x+3NC4ixTRXgGJJ5g+V9MO3eFH99y4aRp6eyUZZbj03gfkc49hilYfQV8mQJS8W3POyYur6sZJcFh0IBet8l4w==","signatures":[{"sig":"MEUCIBpuO2QLJFAHzMbGo+GEbq25JEwAvjeQBfjdFJoNjrmQAiEAobR7DTeE05y0hXTpm6ap18oCNgfvE9cJZwaXIeS9N+M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpS5iCRA9TVsSAnZWagAAYiMP/3a3B7sGG41+MGytOTbG\n5TDG8K6kBVa8UcxLBti86vrwRz6ZzkV23c+0qZc2OK4q3ySnFGGbiBuZSpz/\nnwAw09HmD4m4Llzlg3efc5YzSXptqbwopzdrAaPJGBgqOFQOuuv8eKfY9Hvk\nOuaCMWyUr4ixyXXmG2X0koxEpwcwuxpx1zB+iknmdMbNXHEqkGpYQTNm2sVp\nvPvNX8ojxroAmwpkDfPacrtb6i8hJ2dig27CcsuOvYYqd+xQIZ4ATZJ4tc2E\nVKUdlSGenzvAv8SgZQ5GBNVJlg3BQu2ZhvEHZR+qUCQpXrJBgLm1wWP7aHTk\nwjqw2EibHSHkQ5/4ZTvFFY28kmBK3i5V56XZCUTrDRmVtJgEufzesJVO8AwB\nuw0wJBPSQyYihQs8TvZtA69ttwUzdsBjOHxaqtVznsie91icEDv8RZ+ishCU\ncHrkuD4uCiMk6bxOardDwwNwowkW9xTI/VKN+2gf5RP3yxvxZGUkm485hzmY\nCirnDjwUQk4uLH/DDqyadlWD+7AIEYxG0YthpdK678rh1a2KOHt8x5H7x/DD\nSiiWpnwtiZs0z3eXTRNhsDT1FSXE/F7oezd17j0kISdFtgfUwOQtZVLlA9we\nEUaoG0WCigv+qacvOnWx0tgtjvI02kIyqTTux6O5swGRh2JVyylgcOQ9Lp8x\nWXyq\r\n=FHfT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9abe3ad555ba3e9ca70f37ff3419acc2edb56676","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.4bb5eea2b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.4bb5eea2b.0_1621438049875_0.48873165371520666","host":"s3://npm-registry-packages"}},"12.0.0-canary.ccce99cd6.0":{"name":"@material/dom","version":"12.0.0-canary.ccce99cd6.0","license":"MIT","_id":"@material/dom@12.0.0-canary.ccce99cd6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1b8363fb2032a40ac7634ae27098990fb884e75d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.ccce99cd6.0.tgz","fileCount":29,"integrity":"sha512-ggYYPnE9vLURGlCLnJ86S06mH04DYrDpLR0hL1Fv3/wHSp1GOQwFrMvS8RFK38nna6l6NlJhL827JGxdaK3aAg==","signatures":[{"sig":"MEQCIHoL196bR/mi2Xh2ZnCdYNTya1JTeXvu/HBDwvFwU9mhAiB8WA53bHcCRgr/OQg5HCl96L2sdJFfrr2svq6fVpYT1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpbOhCRA9TVsSAnZWagAAD40QAImxQwBTGhp603/jkwJg\nBW8rfCyxsZhgZx73aFDgPSGG3x9aZGt2U7qVJjs6J34aHsX9r/1hQhfrWskK\nn6n1jT/uZbvtjkT/rnBxVpmWeLIRA3oj7a2Eat7oJhHgAC5Bc1YSux7ic/1Z\niabZWpqKYhAhWHnt/6H18NBB6iY6HXLPv9Dc/nnNxZxLskMwArUFZZF1H2fJ\nsLzfEJ5BG++uKyEpz0IvpQOQw4c7Y8PBEAESyvMgLWSp92e972eZMFj0TGfy\nxc8HIr7t8OKjMjqXutVhXDgsQ5jvYRF3ksiqZdZlsvt6ea+9u3QrydGXBZmx\nyhzFRasx9NfTMzlNxQr27tdBs5ZALJaBmgxrjfIAUWoD1/iKOkb7QRYAWzB5\nVdZnaLGAnYZlmeoPu7dS9F60BJ8zFR4CF8oI3jTROlK7I/uwLM7OCwPsviwf\nkgq+FdzxA4F/Gw1Wi1oEXroCT+VgF8izCRiTGV7Zeoq1M5evFYdoo3UvXHWl\nJJkDjbKnAoVDwR9Vl6FI3RaXGEEcwUWdyCWkyVHCE5qYAh/EcGiQztBRK0O2\nUOlqxvSbUsEaaP7g2GhLQEGtqxPyuBMHBq+q4OK+t1xDF3farVm5Lwtz8qtO\n8c2WR07LBXQXWw0FxA9iZT+9LOyk3utaJP6Akjinq/KlNxc7h+1hka/exqD3\nRWFV\r\n=wdM8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5d475a1522350d9dadb5fe3597683fa7f4851b83","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.ccce99cd6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.ccce99cd6.0_1621472160677_0.907164993143146","host":"s3://npm-registry-packages"}},"12.0.0-canary.14767a8db.0":{"name":"@material/dom","version":"12.0.0-canary.14767a8db.0","license":"MIT","_id":"@material/dom@12.0.0-canary.14767a8db.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"874e975b16b0fee6ce606a91777135f7a2fd1efa","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.14767a8db.0.tgz","fileCount":29,"integrity":"sha512-lr4U5pFwsWwA7Thzc/GO6lxrexe5AauAeFb7UNY3z9T1iERKowGAmTCUEpAW2MaVZly1WoIKTQnYb9dnlq6HkQ==","signatures":[{"sig":"MEUCIQDz5oBAE2I6HUPB3znFMR+oWiLRts4TXiWZHlXCCkJu+QIgHMwR5kYPNUY63zVu5yKF7dwAWLcw1Wle+KkNsqAehUE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpst+CRA9TVsSAnZWagAA2/YQAJNHu4+UdhmdbLqLo69n\n6tjLpNUBL6qKoRxp1olz3xzJjFNr2QlLOkFd+0qMbOBf7vJjIo8eC5/f2GUO\npTGmqx6vA51bLRXuLePZ1LqKhZ5p6OFkgNVL4IV2IiXhTFYWgPG0dPbvArRv\nLFuL8iTah0a/c+4E9BEeQcWebp8mk6bjOds0Gwo9f2cLJSQEg4t0gbM25h1Q\n8+bINkWdICGTJq2HiX2KFc13S5E8iV+eC/O8c6Jmhc9e8l2ohodLjVHC+r3R\n1bnmMFs7Sbxk7Bp8oX+1oU4Co6KheuUVmVqIcI3Vm6StK4uU5Fa1Wf+/nxnB\nLAhrXHnUrZI+oaXSZhxrxCBz0IvSHqlzvvLPC00G7qorVit+JOp0YoSub5bG\nDHnnAM7cGDzRyVzgq/6joa/Gsm9PntppViSoTxWLdpFHIKPgAcDhKqtFyH3Y\nqWyoxyhKrAxXI8rdT105vogJM1pwO5uO74O5TOCElvkRjuHff3iBlTEKuJnA\ny1PxBsiyLgCGVeOyGVhILmAuutuqWfa5+PJCFWz14nvjJTHrfCgL53DHjlLn\nhUFp+HoHJu7PS24GjszpXKIsOc9IRWUc9GW+BtDJqPYg6Z6x4zSjz4auJJAK\ni7o0U/SmaNGMqC+9klk5VuMhazoiYuxZyV8YsDYYS14w6eFYKB914dL8MjDU\nxme9\r\n=GEpG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a324b91ce28769039998a00879c6f441cb1159b6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.14767a8db.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.14767a8db.0_1621543806324_0.10833675133124787","host":"s3://npm-registry-packages"}},"12.0.0-canary.22c6dcff9.0":{"name":"@material/dom","version":"12.0.0-canary.22c6dcff9.0","license":"MIT","_id":"@material/dom@12.0.0-canary.22c6dcff9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2c524adf282e8dc7dd699935d340dd51b8148d0a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.22c6dcff9.0.tgz","fileCount":29,"integrity":"sha512-bdq7wMpDAiHDuKgQ4fmN7JVRcRJJMTOKKO0Oe5zHaDyKJEx/q9cMYrxDtODIFhOoWVmWOS4eXojMIGQ9ucuSTQ==","signatures":[{"sig":"MEUCIDiotPAojdYtVg4M+ej0xV4Rv1JexdUD9Vbd23xvpv0EAiEAvspO/x5y/fGBfKyjR83jPxdla1yGBwTTwzDo92QnLi8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq8OaCRA9TVsSAnZWagAArTEQAJ0xhVtmn8g9kCRGIQRx\nxg74VsIinasWq6m7teeYb7RFOgLMBwxInDZZ22yVw5rl52SvBD5vt6kfsIVv\nn+e/RYxIW4Wf4H6ax8xByVC8ouVi/CfW0bI44kObASEBvR5vP28bkUHXQKLt\nPJec6nyOgmJM/J7q8mzrIfJ3ohRJvPKazMqEePpdGDFFv0lZ03dFoGr63qkY\n7yKljEvXaeRvdznGe9TUK6LNuo3qLAnijLLtQzgH+OPiTdqA3C9i8d3gw384\nR0mZW48vMCSjY6J6VVV2iN4IXM25txFw/WT52C2Zrrgb4LQhtdE3TswWByNj\ncNEkIMlRw52MmOiag3XYFkxzw0Wxk7j+fP6fur8ysDWJyWhTrPBD0Pk5ywVW\nFvOV0htBwEHsh39U6vmEAu/wbvNPsm1XhJrmOeO0WqtXvpeG6YuaDsO1s+Wg\nxM2cVgDybkfcx+/eKxp1206HX6RvhbXJig5Qq6zix2ypONpSqgU2xfrhSg00\nkbyK+0ArN6udu98pX1aovbZ3SZQT2R3eJ3UWZpby0lTbTwiJxWfKLCU18cd+\nzXmRbpfTf6WryK9+TAeE867HumraG79LdEduYv43MUP/L5ivMZZgb5S6TUUf\nYVm5uWGjSFI1HShTb5DjnsE1Q2GpI2zVYAbUOFnF34JM+XJy0H29wIsvGKvz\n6EPD\r\n=u2mO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"74541e300384d800b9cdf492ff70ba20ffc583dc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.22c6dcff9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.22c6dcff9.0_1621869465902_0.1062243746155982","host":"s3://npm-registry-packages"}},"12.0.0-canary.fadab3372.0":{"name":"@material/dom","version":"12.0.0-canary.fadab3372.0","license":"MIT","_id":"@material/dom@12.0.0-canary.fadab3372.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dc38c3bdfef0165530922c85472c9aba421128f1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.fadab3372.0.tgz","fileCount":29,"integrity":"sha512-eW2xp19xcgnabRWcY2XWlO2LhwfxnVUEygvJCx3rRtqBmsrPlSTUn9Kfro/Iuiv4oJoKhHBtQNL/op57ZTXNRQ==","signatures":[{"sig":"MEUCIQDzOiHoldsnPZP2sZ2K4DkA6AsZEOp5TYAJDQalHZCdqwIgOzSW5r+WvYPQg8p9e4khlAzeijB+m2jZDRvA8m0XFIs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq86lCRA9TVsSAnZWagAARiYP/2vDUBy594t7FR37ZwfZ\nySTyGrjKRDCGJEc+LAUnS7j8ttohn6sLIyeBks1K86+5eTyOBnGBkYbXC+El\nuQHAkme4p+EFbzsym6c4aO/wtVZqjs+BAIUjs3p4L74wyJvI/UeU+AShbofV\njz/DzMVgpiOnedMsdmDasV+foeBeyIT1JqHw6Z2bg1wzWTfaSqFr2/7Ba3tV\nGO2dy1KvVhoYhfkZ2IeO0lEnRTjReC4NTB23z62bgO5nfTX6dry0cEkkDv1y\n5lwFOIDF/r77RI5Rdwly6bx76uM0Ad8ZCCz1j5Wlonz0XLckW+nXpercgE3H\nak2GFcYQ3S5cwSvL5/k/A+vR4Om2SqW55bgXg3aUE4VfTgevnnUXb63C3aiP\nOui1fBFIyNksbkCuPmvEa9K/0+jTIUO/VCfmX/L3LK0gCwFCnjnJTWITQK8V\nk1j3wXsn22cxugG+axRqUDxHor8kAwSYUa14sqRJUEI8XKYsi3VsJIwOHo0x\nv02+gACbjnGizS62ireZ/138n5jpcl2l/IlrHK5kJZA9wL0eKbWDOjiwr/0u\nmFjSPEyD9ed2NfWhYucjfsUgMTD94nZ85jcF/mEvd7cddcJ3N53FPUBJZqdO\nAGcvCzkxc3Zt6t+S3upZncFscMdeWmlA8pAczgw3DNBTT9CX34XP8EoGOIYK\n7cp0\r\n=bGcw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d76e611194693a7270b5e10fd87906ada48c7af7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.fadab3372.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.fadab3372.0_1621872292900_0.10345559232637114","host":"s3://npm-registry-packages"}},"12.0.0-canary.caa73aeee.0":{"name":"@material/dom","version":"12.0.0-canary.caa73aeee.0","license":"MIT","_id":"@material/dom@12.0.0-canary.caa73aeee.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"851a0c01abc2cffd18e63403f8da77e1d98fd654","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.caa73aeee.0.tgz","fileCount":29,"integrity":"sha512-5TPaxj6TBnyn9lvCZv4Z6rXk2FM+lCa40B6NUZbZNMYfU2jzJPRbDieZWdCBvcWylpOBMJLeP2wFwrX5ECcp8g==","signatures":[{"sig":"MEUCIHMIOe+5DpAoaGtb/h7oSPKfRxGL1WNAm6u7mjo7bA/fAiEAtF4EqdKrZH/AiyEXWjzaPY7+PBCwZL/McmYDUC42oxQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrQYMCRA9TVsSAnZWagAAEu4P+QAyZY6XTZLkDnuveY5c\njkhrYJ2R+Krd/qvmU49vXSNgr6fKSPpSc0eZvBX5akbN+0vq4U5nKdKEdcg1\n17V8pu6/uePMciXzfoF9OiFei+UwSdOoEn00R/RUd1KRBfb2GUxyimPvbOzF\nrD6HUkXp9t88/WjnCNQ6YLiDCsS8kUrbcfBkBGpbmxVANTpttxQfTUtZ6Y/k\nme2pY3ZScncR+0WA3zdWbHxkGmGknmonKu8LF0BXCSbCdwv49wednA9nWPbx\nWJhqRUkKheLZiHEbPfVsyzLxlr9LDoMrkbpS5MtKd0Pw+xQ8PYKQfR0JkuzH\ns9XMEQFNXGuAxtQwSWymmcB10aW5eJBuQnDLFUk0IOqTQ2MKql5oVp4LEs+F\nZIljzUhDo52CHytsEC2D0XyHRUDkgVK0LOW0nOAk6gefXgxkqNBVum33nvVk\nN5B+d0q3s/MD3olylY/Lk1OedXsWITz6/QShNe/qaXPH0WwFbsmQKWR5sIUA\nR4fvKJzUgkCTT51Kxmu8QLIkT45iKXnDlwEximlcYLqHUU5Gdx+MW0X016hu\n9UYdoVIfandZkpHniO6rqFCuNwnd3XEE0URrJB6KnbCh9qFHs2u6ucRp4tRg\nWk5unPnxIjSlcMD0l0NzxdXp6ZA3+zb0371sbVMFiKPSgIJJHMYu6tswYjyF\nfyIT\r\n=nRv4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dca5692fda23e55426458f6b0c56c2b6dc9e2dd8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.caa73aeee.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.caa73aeee.0_1621952012332_0.9582397993286031","host":"s3://npm-registry-packages"}},"12.0.0-canary.ec31ae1ed.0":{"name":"@material/dom","version":"12.0.0-canary.ec31ae1ed.0","license":"MIT","_id":"@material/dom@12.0.0-canary.ec31ae1ed.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6d8b659f872aab8a848ee8fcb1d1b58061b3745d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.ec31ae1ed.0.tgz","fileCount":29,"integrity":"sha512-q5rGqQ92To+y0lZlXzofyhd8cPS9cjLB4Tmo5rIkvXU/WPcXbUYrY+Fxxz9OIUF2L2K8YcFuyPpCpGQZ2ELdqw==","signatures":[{"sig":"MEUCIDUitaRw3BdKP4rvt7C8ziCmsQZ8XKObqDUOPkAT4Is/AiEAh9KpZJgCappgIuBDgwO0c/beg8XaoL2fm5omIgrwYWw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrV9cCRA9TVsSAnZWagAAFEgQAIc6quRk7FPacEMcR0f1\n/BAjpBD8iLtmhIJU1Tw0zv+5xlk9YAK0G50TEvuJvleNVTGhAUkdgumgDGc7\n19lgj2iR2mNPSEfD0lpYWTsmjWakSOvDdxrrK3wdJzWXu64XimNy3eiw0rNN\nqQcHKAMCQJtUPWLQQxCym+UCqoGl1NtJe06zLCMJXc4+98//+PIBhafpE+0T\n+85oBC9tSd9vBrcciJCEwAwFlP48O0M+hF3In//rVjAzQ0N9kpIhUHA/K6kK\niUSKhXwPKN59SEtNskT/6R9oevYKxrtXTxRvKh9Am9Jad2yJgZZ3toR4qC9p\nH5YAoQ1dXpFBbEVHaQ89pUYloCvOHSBn+0ZY1qVpWOQUyhMqW6qTKsPxHkii\nISrthiXnxQE2+dYBnyU3eOOGeZPEmmCmGblacaP8Jdwcq56d7t76tDILPkZe\nVxLv682up+c6MXK/GZUpSxw0UZ5JxaWZ5apYrQZ2iYVXqWbCAY2UYwqd2ygU\nyGT0797waQAQoLZd7Bmpm3HsxHxYcMfUDrujT7wOPpu17kWLs/k0k4diVQh5\nDYOaV8LRCUrKuBWcdunqJb/R29dDWSJOlCb5h+NlxrboTgZta6fGJUU2ixb0\nSor3dBsSsctY1bWXXSas4r+Wm0DzUA2aGcpD9eJNfvI2ozQm2THSKQRNdh8x\ndOa9\r\n=TLef\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f9db084a3aed73c844554c3b223d5185727b6d07","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.ec31ae1ed.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.ec31ae1ed.0_1621974876100_0.6408424239414348","host":"s3://npm-registry-packages"}},"12.0.0-canary.8530d3514.0":{"name":"@material/dom","version":"12.0.0-canary.8530d3514.0","license":"MIT","_id":"@material/dom@12.0.0-canary.8530d3514.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3f2b0b9aabc52eb6cb32349f7a862fa90c3a4498","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.8530d3514.0.tgz","fileCount":29,"integrity":"sha512-/Z7BDUAnpUbBUFhaxrPyKO7y/vHJCeinsE9J65nPt2LyvCwV3rDimqdrsp05w8/vz/QAczo5Zk/2Pty5ee3Syw==","signatures":[{"sig":"MEUCIQDEpJQCe39o6Wga1lEoxzkNE6Y3iAFhZTsZLdRBQBpsPAIgdGpqrmPDgD1Wt1WtREhRxfIYGeMgiwAeedTIGpWhe0A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgr8LwCRA9TVsSAnZWagAAXzIP/iJhaI1GhTVzwQ5KUU0G\nWDq5u5Dd6pdqLBZCC66FEhylHDdYYWNbf8kVGDpM4qf1sB5fRei2m+wjrD0Q\nTPfMwbExvA0yR7WQkIwJHseKXEOPxh34JR8JP7RnHVnl9j9S6eWmOTVcBv/1\nucqFsz/+534Ds0jkBfol/eb0hFcHirZc6351VvkKJrkMAykVrXsjPWlZsGna\nH7YxIyXi3ijUmepll/0NSo+O/rQH8Qgfm+PjpSW2ifprTnXPCcQuxNupVaDe\nz1W9iaxwF+jiRvwsGT4EFa1hDkgZwIV7xkTmA8vRx0YIQCDchHKLbOKgPG2b\nJ1qYRNciu4gInltYOPChvpXZvUVE/rwbDb9nI0BSp72QEKG2G9VltRkZKW9v\n0eRk+yIWI4rFkHXZCSh7AvUnpJ11ESdDIp2O52j7uZYb3nlSGztbwLF6wiL5\nSzPkr+Yqvsg/BUiY+3Wwfqfo0HmkrTgbQVxYAjW697nnyWGNJE/mNwM5/N1/\nV+td3t6Ptrf5Re0Z0dctBrOFf65w2mHl+Nf3KMu+pbHZo9DPqmfnoxyCd319\nql0OqVlzt109LNU1DsR1FiZX0qV6pKSt4UHf9pwhsJpkBzFVSMQ1he3M9M0B\nrqyCj2C5a7B10CfqSfwBo4N2/A6WIAU7aMrVXkttFytzh9QLVwH0TZUW+ugE\nqHhN\r\n=k46t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e32508a69db8bd9ce4383a14f2c576d35950566c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.8530d3514.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.8530d3514.0_1622131439633_0.25658155925282156","host":"s3://npm-registry-packages"}},"12.0.0-canary.00b5899dc.0":{"name":"@material/dom","version":"12.0.0-canary.00b5899dc.0","license":"MIT","_id":"@material/dom@12.0.0-canary.00b5899dc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bc95ee83b625ff7b75553b2dbb18987768cffc5a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.00b5899dc.0.tgz","fileCount":29,"integrity":"sha512-YhQWrY1tYgdpxPHuRUh67IFzexwjQNEP191HUUaN61ImggHgV2xup9MDJI6ucCyJnY4oHnNXmPMjxSl2PWp3Dw==","signatures":[{"sig":"MEYCIQC+nK/h2yi0tNdyQGeTskRWdfW7JDeR1ECS9NXlSuoE2gIhAM5pwlXTdSNOaoyKJIsyeCF/esDlW28XfYHdHijsq+1h","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtrhgCRA9TVsSAnZWagAAmyQQAIFR+H07zyqytyaxo69d\nseO3qpbwC1UvbprDVh6ldem1B7YK/ec9C6hPXjGGDoR6S9W9Iuj+D/6n3A6r\nA8EjYHSnKx0ydJn3CVPXsz03CSoCq2tc8yuFjOBNkeC8hbcu0tmR3gxQsn//\n4T4IfA1cjudtiFMmFe7uX5lghFJ5w/5n4XzRToYCnFZESj1lA9Dmn3ev2yw3\ntuBgJqYc6cNRMaYhqTKgMoW5gkNlCMeUIUUzE64eAwwoEm/NRc9pSyteaRR6\nKL8r6UbqNO53qkv2T9fuUCo8viCa53ch0RYSiUtoxhhVIOGsiYW8djht25Cu\n8sC5+AOK6MZRUTfwPKoX/dxkXglXJo4U/00wzCjDBtZhX/TeDSFjg5J00CAX\nOH8I+Ax4nt8RAbbJOarrFX3JHqhmVBBCrVUsgmmgKZZfLj2BQZMR1XbmW9SA\nv8UQdye67o+4P6J8KGmMk4SPj23ASEa94xa7MYVWk8nnAkXoqyjGYQ2/4KfG\nWFTm/KqTO8/EU+AYjxIdyDR38dR5ncDRPdtrYyhU54cXCYfy8KNaCJeSUgXc\n3Po6VFSgY9dlJSGfMggCZthOIPhuoy+LxRvii3rwRi5oXxBvBTJ6m4mRaSfx\nGEEHqptrzFb8paQ0aOI5nUxqdo69U1XdUqh6thSt43DC780osbd/VgN1mArv\naXk7\r\n=eiuV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"19ffd4cf15764c62ec7b1dfd76483a2919f6501d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.00b5899dc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.00b5899dc.0_1622587488106_0.618363830348706","host":"s3://npm-registry-packages"}},"12.0.0-canary.f1525ea3e.0":{"name":"@material/dom","version":"12.0.0-canary.f1525ea3e.0","license":"MIT","_id":"@material/dom@12.0.0-canary.f1525ea3e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6625607a33764a595cfd7cc145cdf57a99cc1f1c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.f1525ea3e.0.tgz","fileCount":29,"integrity":"sha512-biljBGRfI81qi5dp9Nr/1jX5nCP3CvyrNXQcw/H8/8+hfUbBlGRGpWxHn3ep3cBUUhGvUwqL1w6HsoAeuMQSvA==","signatures":[{"sig":"MEQCIHTYuc0Qwpm6nIjYJnKCaVpParxLWvbgwTuBY6rqxJLXAiBQNOT9gkk3IiOYeEvOF/2XBYu4M7+99tY1exhDNEIu2A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguN7fCRA9TVsSAnZWagAAZVIP/0I6JEB39oHEOSJBD5Wy\nFgPaTBcI0bFbDqsonEkw/a53FTe1c3StysKfblgyZL4YnVLr8MDFVfE/G2EE\nJ4c5agfzTg0zGhjSM6z2UNuiIJTiMKwLYZu8JaVT7oS20Zf9cHQQ6p9+gyut\nlZTlnggUpIBw+kgxF4QFHvszGEbdnQiU3fdr/8sZg1dbS7IcDKESl2bjiwKw\nsyNbV7P/uXDd5RPDjycvNQ3SIBOA/lNw09BO5S3oi47atJ76OKuR/r/Ppu1g\nIVeghRFyBFrF03Qmp3/IQ5tlSBR5zv/Y2mcnhR7q9QMY2B7CRlTb9Xyba/tg\nj0Q2+yAWez3H+es5DzowzN2KvuiifYlDs86439SYrHIXy+r5xyNy5luDnYNJ\nGOJk3yaY85f6gfPI8UqXNTiY643VpABevTCzMolqk+kh3fC2SNZKALQUqLef\nSATOXAwXX99U0x0dGgAiitd8pyqwMmFI4SK7h7cJt2io5eux8KAccGt1+B5c\nOe0lXmXU5PiHLDmcGc7vfyq4WjGTbMpzqopUbRnjcG3LiWdyt0EJL6OApWiU\nEQqfPHs92KGZwX3GUBDRHFjzYyDnGG2J+qpvm8YHOOAlwenTpszDgES9punW\nMENdiPvFggCGSLJE465eLRG3y88VrZbNaABdkS3R9qbot7d9Zu7MxIrwIPy7\nC4mW\r\n=wetR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"97ff3c2e33330849b0ca447ac6983126a385d845","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.f1525ea3e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.f1525ea3e.0_1622728415006_0.149744646038392","host":"s3://npm-registry-packages"}},"12.0.0-canary.464a00286.0":{"name":"@material/dom","version":"12.0.0-canary.464a00286.0","license":"MIT","_id":"@material/dom@12.0.0-canary.464a00286.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8b01ce58770e9a4ec1c8a8737499f4ca9c59d945","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.464a00286.0.tgz","fileCount":29,"integrity":"sha512-jGTUj234nNXdoWKxOjDzHDSCuaII8tx7VkbQNDl3N8UnUX+QbrFimCeQ9MHfMFjdzS1oC52sOCn542jvQHQucg==","signatures":[{"sig":"MEYCIQDAI2nqxHhk8HJgA+TaIakXr+eWav+YaYs/G1D/9Jc9pAIhANrRnlsR7R6WYP5bzksn4jzqAHN8at3ofwhWd8K9ehk1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguOrkCRA9TVsSAnZWagAANfcP/jCLnDnveMPLlwTb4n7u\nIxGcB7pYaA81R8HRiURa650ttUNr3eetQPg2UTcXmA8FkePSXaBagcv4l47a\nVv43rnMeKgLNt6AXZJyh34XakM3o2Ba7lxFEFMDCqCb//QiwpGoOl5KVauxz\nyVU72RBXcTU/VA5TckXzhNMtkm+WFAbJnZWK5EF3pQZT6LOn4s3v/7OcMYF1\nLPx1Oa5xEGf0kVhdmCG+0+4gsCAeCC+brj4LNw11rUdIjJvxBWoGSmv0HKWM\n9w+rTPlPWG27YjZQJs3zjBslFpAE4DZlMVqwMN+kBL8bvDHk3QC2vwiG/Cn8\nqrSkMhqL/BwHnZGvn1OM6ID63NdeR5Xr2EmMdJjWr7CCqKS632zFHZ+tvimV\nyloakcRPCpRN4OVIg5KWBGkBRYX1aRY1sByzEzTN9uTfSHA6J/leQMAQbv/y\nv86D0Y0+qJibtqFyCRg3La8eIDJkTLJk9lraZHrYUcwAnSsWSPKuJcPhOQ00\npXlB2Fa3eHpr4yRpJlk0NmfY2mbJsBhLwBeHEdYGUDbyIel7ITZLYEfBLW4T\nffRj2So+nLktBFCdev2D3gu3wv2OOouM5MQP8/bwr8zL0drOVIKWIqTMvYZ4\n270ZKPrIV5tXOWiwk7DhgseqN3s/TLbbgRUIbDMG4iv1WiKy/P7lELB3YJZb\nnfDX\r\n=9lJ+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ceb43f7f74f7db77edbe7a13d3b92e853d599d6b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.464a00286.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.464a00286.0_1622731492068_0.364217546118738","host":"s3://npm-registry-packages"}},"12.0.0-canary.474de7878.0":{"name":"@material/dom","version":"12.0.0-canary.474de7878.0","license":"MIT","_id":"@material/dom@12.0.0-canary.474de7878.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6532a4e4645af5fac091cc222ac65ddadc1ef9e7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.474de7878.0.tgz","fileCount":29,"integrity":"sha512-3WHjrwIZA0hIkIoO1TapCCCxIThdNXpSMdePitXIMaDjiyxFQcVvDss3igvcZkXoQNCfKsIjeGartd65rk1MTg==","signatures":[{"sig":"MEUCIQC309RFQ8MSJeheWTmfnx3/rhWc1pOiEbfteeM8COLwVgIgIIQqEivkOVTbiUsEuPGnwX4AjaIA0zyympcNycoApVw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguPGXCRA9TVsSAnZWagAA4bQP/12naqdRYVu02dPmD4iE\nWg6bWXDP2HK8ZjyYx5Dsltd+kK5NMlt5CiidngjoW63XgKGNBsFm8iWLS8+C\nh7l7LN1teeLtpHvws/iRjzeUocdszt/otHSQiN0I23wyPc2EliPfDrTcQniF\nzSyF19jI42OXxL8d6aRNVk3jMnQzP37b9Aro66bSUi8Zd+2bgZVp21bJTpFS\nlmK1DSmWwVo4lURp95fcBdOi6NbTdzUUWZvzoK1kWwHvRMVAXDl77m2EL5ZF\nVCIvd805x0SknrD+sxj5AoGkTOl8q3VInboGemnsyW6n094dB7Xt0kKbDb1M\nwgr6iXadULzzgvNNrsgoHCEZYvL8l+fVhdVNjKnZMUV0/n5Bz51nTQIllMcE\nH/3h8VUGnMQCs39VrKOSr6BSWX9DNKcl4bTzKUaJ4YgjVfvVaZSgrS5iVvxg\n6R9HNAuOpQm1Gc9D938vfRWg+kmZJE5BTGgTNb9DLkTbEldVeB84OOQprSCj\n4OFWHkojv2gZ3N4mXSi/6UiG75rcjG/UH1+ZNzSFkqtNPkMPbhNfaD32dW+8\n0x4Wtk6vLaU/LPzIBKtHKgNHlgUyO8ZggFCFHFt2t+VYHUsWWwcSx6YkvmoB\nsERYmpc/PfE2xYi3z3g+rZo2HgR6Lm6Gre5oOlbmSxmnQ6hljfyjKAGK9zNf\nzioG\r\n=3L5Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"67d604ec9cbaa0dc385eb36be35e0adfe641b244","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.474de7878.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.474de7878.0_1622733207802_0.3646167249582746","host":"s3://npm-registry-packages"}},"12.0.0-canary.b87ebf74d.0":{"name":"@material/dom","version":"12.0.0-canary.b87ebf74d.0","license":"MIT","_id":"@material/dom@12.0.0-canary.b87ebf74d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ceca667ea2100b038e9e1abaed4f527444bffe4b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.b87ebf74d.0.tgz","fileCount":29,"integrity":"sha512-qYV+DTcLbUg4qXk7ZlQ6fWObuI3HcsUPrc/vUMtHlCRSyVlygdGhrlnz3a0JM7py+rOuZfiKcR+povMWMXV/Ig==","signatures":[{"sig":"MEQCID5HK0ez2iXwwBO17aVcirIYt6SrD5uR99xKK+nNBXQ7AiAU4MYFE8POUR73aQ5dqhY1Q9GRbvs72tI+Ra5Kti0zyQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguRU/CRA9TVsSAnZWagAAXeYP/0gotgL6FeJgBXoo75om\ny9NwCR77TlovWiKXOf64tzi7UJaztOpNBo7y5Mxau7WWY9/myaSeFldmla7g\nyC2DcaefPceFY9ugVxncbVsFeKEfgK8NYS1M47/4uOK6OkXkNir+S86W0Aud\nTQsWZ5UiyhWWdjCyp4f+qRd3R0SbXdZO4l3gSkJ8DW34LO/l+1hC/a6xSEpk\nfnkwzel9siY+Bx5DmD1ohG5g8fO3nLRT95+cvkt7rNlp8+MEdeu9uAyZ9cZ2\nIeW3uTinA0Y7+e0bEeJggH2VyZMOZILtU08UKTM5alUoVk3/FLTeaF9v3JwJ\nL+zK6ITRps65IBxkB2ciD8emnL0Z0YfBGCJmPSxdCDcSrrL345AA8IPa7DP1\npcknKMBMNf4l5BEUMXyvj77BVdXyn5ce++wZjBREQ+WWMZXQ1n0cQdwOhVyl\njF0iIT74U33pJnpLvzrU5Rqatlo2ZIwQpDL+6ozI3liLwGbIDoMe7Kvsr6x1\n6AIbTMs07QlMWsaYnnKU3CXLIbCxwJoko6KR9uih7EptX2OWtnyZ1uL3c7NK\nPQf9VKSfnFo3/nX+5iJjjcGDxfZ6TqYhYl1gzQ6KSPiNyI2rPn/+x9avODuD\n1dEC3zI3gXL4wwhAMDjWnVT6o0FSXj2tOP5G4u5fIFkA8JZXYoXqyXyCrfES\ndctY\r\n=DeBx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d3567c6dfa0fd347d2141fb92460c63fac28b46a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.b87ebf74d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.b87ebf74d.0_1622742335139_0.9510691697561469","host":"s3://npm-registry-packages"}},"12.0.0-canary.2daa49b35.0":{"name":"@material/dom","version":"12.0.0-canary.2daa49b35.0","license":"MIT","_id":"@material/dom@12.0.0-canary.2daa49b35.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"785202d1ce24dbb0f85470bcbca040789bd13b25","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.2daa49b35.0.tgz","fileCount":29,"integrity":"sha512-V2TspkiJsomu68CW5NmXH1zyiJLWkSsWi+0fcVVPtEzBXO66kpwckEUONmCB1SOb/4i15BbDQ+J8hLniuJEWCA==","signatures":[{"sig":"MEQCIDt2z3CobSAOmBLxf2nNHg3HSwIv2X25GRvK+aalIAmcAiAnYmHkuZc7aay/fg3QFghxNl3Zw2hmILP+ZEqhN5KDEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgulEhCRA9TVsSAnZWagAA2TAP/RXnqg714ZlLr8UQLIky\njiu6vn3M1DtRVj8xaj0/zdElc8P8S4/Y5FUzEtjgBaFDgL2Wix1k/+gxo4iz\nDTjeul7UONNWzVFJalKi8K9LarQhnRm3q7+aQhYHFtPSPw+0k4qD9Js5to3O\n/oP+G72cy+6jyGTqjztfDqWM/7KZF9KmEBTYP8/dv1Xgy7Ua2oO8mD4Regda\n7hJSOFrtrrlFe4/o5FLaEdq9XZXJN/2TZTgb/r+BMxY4ulloxyp6KG79/Jv9\nQcjTIWpma0T2NnvoWZ8gz/Ln/u+sXMdk3Em8m2rths1IIPk5NeUrtIPMq47o\n66TFHqA9o8rG65mjG1DNz+AKDAlDfCiIiQY3m+8Cgi5gwvs9p7Sy3jproplB\nm+bir1nkrTeJo+CZgP4qUY7eSlS6dHurhPNTGYGqn9xxfW0jvxW8e8PlkYsa\nMhwRCBDEqvPCmjVZ41o/QO2zm8MLx4BEgmJXA2DCdyWHFB5KwPQJip9BjWJp\ntsPPd1LoyWofeaLfxckcTfiELBbUgGuYfoag7ksXleZLT47SiBbbUxIUsHI5\ncXQND4kzJRIh6AmVL1wsLu5FC8mrfcJ88Nd9Obj6JHv6jgZtZ731Q8/9Ku3S\nS4OBN04uA3s8gBgk1SZ2JIelHhqKi8TzjoY/ydfQnBEC/+TZz8zXHMf3g3pq\nVqaK\r\n=jV35\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3e759afe4116e5fb3941df918249b1b1348fe684","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.2daa49b35.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.2daa49b35.0_1622823200991_0.6754669567366596","host":"s3://npm-registry-packages"}},"12.0.0-canary.08db3d737.0":{"name":"@material/dom","version":"12.0.0-canary.08db3d737.0","license":"MIT","_id":"@material/dom@12.0.0-canary.08db3d737.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7b9f03ad3a216f8a6f65d0357fefdd2c40da6702","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.08db3d737.0.tgz","fileCount":29,"integrity":"sha512-shclp5JKa6ZpHkmnRxKjnovdWK7ikmS0ZCaJsFen17wDjLuYljocDH1GW9kckxT0OerqNqlgj7WCxkhIeCFEeQ==","signatures":[{"sig":"MEYCIQCbMGJfX1/GRAUcKxWDAWw04kZ0wP5R/Qp21kdXSNMd3QIhANU7jlrRvQGyAcGP3QaTH3HLpHMB+M1KfSXLqo5Mzosv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguoHICRA9TVsSAnZWagAAWIoP/jB/DwH6J2yayhMz0xgL\nZLc9KI/Nr+t+5jTaT7ZQi5G9pCL/claXABwXH46nijgd4RtffGgDmfjSHSMw\n1Cx5W6ooDiUFKzmXLslxQzyn2yd94aIdV2oJ1lcA6Y6vm79db1siyj+X/6T6\nlGrDXLVGkJxLqciCVf0W/NraRTP5zVWrydZD/Hz+0K4YJGuuqF0yhCvZrFaw\nz7I+/NA8nK/HUVvjZZOsOFFrI73wJnKUSgDmwn7DxOuvbx7fTcHmisdFzfh5\nzQekZNqNMUX6E3TND/9v4LlluSJuN1ghx+X7Oq2nI0wnXmuZlqh1mIx4eWRL\nS9TO4GYfZJM9ZkVQz7tY6a+FYdrDblCyTMrUpWS0FUZHMkYcBmS0nYB7eTuN\nNuMrhue4XuKFMOU5MUiXCTy6Yxquj0J6TOmjUMDRBLriZ8yFN1vMtMEsh0JI\nNi2WvgpTvQLRVZnIK7d1gGSYaFJMTArT2EazXgPUhuN6W9tcckC2R5ldlEnj\nTMD06zYaajDloPfNIcUpTrBiDPknm+zsiTtGpIUolTm6WmSD4wCTAMFBjRqb\noEuDQrDUDvIh87Lgijlfz87vILqKh6Xza7VvphE0FdMUf4aBEDO059UGHIHg\nWLFxjvjEROMuJvMUvKmU4wW5HOpZV2Jhgcc64KOEagtWmvVcXl3N3WpluNSh\nsGVV\r\n=1vMN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0175b9a3635a8e6c8c6690948618b55f39ca1ffb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.08db3d737.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.08db3d737.0_1622835656432_0.3024837047735087","host":"s3://npm-registry-packages"}},"12.0.0-canary.5823407a7.0":{"name":"@material/dom","version":"12.0.0-canary.5823407a7.0","license":"MIT","_id":"@material/dom@12.0.0-canary.5823407a7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2268aeb97dba393842536a98df3bcb7b4a851ccf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.5823407a7.0.tgz","fileCount":29,"integrity":"sha512-GH8sv6tVjifWiDGvIeRp0m7bK/CywAJ8vdhx5pjYIU+TvYzT9n4dCnlPRYaOSJ+2tPqljCFutrkh8v5nVLHlEQ==","signatures":[{"sig":"MEYCIQCZr2PQPKNZ9FKNw5Krum3KymoI0jdfLJBJzwYwdcCpVAIhAOcSi1uzDr1kJZS0vHd4IsIWq0p4zqM7PnsxlPd6i+Gz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvr4fCRA9TVsSAnZWagAAfPkQAJhBpeLBWlrDtqEZadBB\nLcFdpJ7GKU+/qPIPzP7uG8ymCtMxQaH9uF4Uqi0XTQQDnhVJJCUSp9PnEgUC\ntvcCnjr7JfCfwQe24MjwioE7jx9NGMp3Il8oVNjc5FF5V2/DBcn2R2OJ82tS\nipOVeaHapA04M+JW0WnC0Cptih7JnxIH1H/mFTJ8qpMgIgakegpUYJtXFhXU\nOLLfWAcuUNI39mEh0BQm1PAaKL5T5XvVXdVMYC1hgnIgPLhQVgL5XJyEMYhf\nOtWNfpgH66XusKaEQcYBp5V1q1jr4OjHIGtpVSjdMeaZ0TmG/gQp+KysAyOh\nmjDUKX/0nftj2CTo67laWfOSNOc4EExlJlIJytOXXlZ3jlOSobLjAfe+876b\n4gXq74uU9FJyVUBFkipNKUzS6Ni+V/0ivcS/Dc7kFIuRfZaHQ8qBNltjeNVw\n1WFqWnAcLRjp7facML22BEJtL86ntbwkdYupAPY1QRfsyhGutsjc/Ak/v3av\ni7pMY63yq7UtSa0QgytmohKM9YlkKfZ+D3LlXFQpEVL++JkRgCox5fTrrnzO\nFk6V6EuvEeha/LOAfjY5RmBMpYSKbDXf3XOcKAD486LNR7xrYiGSj9iiPJX2\nZf9fBl6893Fce4Dl7MRk1ISBeWUy6YcTfwAFPNI81iv55vTuk3Y84horxOpO\n7LH0\r\n=5a4Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dd3ce4590e0d881d04e885d116e10e680b6c01f9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.5823407a7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.5823407a7.0_1623113247650_0.21979443094263562","host":"s3://npm-registry-packages"}},"12.0.0-canary.23b0c5e22.0":{"name":"@material/dom","version":"12.0.0-canary.23b0c5e22.0","license":"MIT","_id":"@material/dom@12.0.0-canary.23b0c5e22.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"61610fddab0bfadfa8707aabc65132ba7f0c364a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.23b0c5e22.0.tgz","fileCount":29,"integrity":"sha512-tvcsvITbiCmFoL2IyInKei3ieiARmy2t/VmAd/0/HMPvRZvy66SCAOFmGzaLJm4ed/Mw0Rii2eHx+8dmxOnKmA==","signatures":[{"sig":"MEUCIALkIuAI2BW6YiMHl5qftpbaJIRAgj8+DzL2wcOsB0pOAiEAjpINLTf209VIWbm7Herf4xyz+gNAD6H2qzj1NRVq3I0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgv5kGCRA9TVsSAnZWagAAv0cP/2rwGlvxPc6nlgi/563m\n2h/nkx3AT1cF02VAFj/9Kvurx6OWaUs9nJUnRX/c5B6pJ9MkALO5NIouHfHG\nHp0x1Ytly2l2NVKC9DGCWepPpTncSm3QKvIAWqtFbe4ido377MifUp6PFv6O\nF69wX2hfBT3RzgmbS/bX3CoiQwU2DPgeu9LFzddHfhSrDKyeft4AAvf/yqTy\npo5V8YZRkrd2In20sSIvSGXPcow4TyTDEllpOSnRwpsGHB0GsI1tf0huj/G9\nj4cNFpHQTVgGsafmCracOhe8lLP+H/JwLBCPJ+3zXR2wjjVqCXy3b7kECuhq\nkQEOfgJBo4gi75gQ9pL/fLkx9un6K3d4AMYzpz/+Y4zCtJy5aQt8p3bPf8K5\nC7WzZVno+x+Di16A9eYGiyZyeFrRj2hvn3KeAdzzbBdco3PD9zyuYOh20bc3\nqR0mm0P11jUbOx/bksvVdiR14dqzuRCRg2apJkJ7vryBnun/uOenxruSKHJD\n3LbfGnfToewCLabw2CVIIU4BEqUAUuBUnUH3w817Q9pbvn8Q48KKH+pYlj1y\nPR7YsxUAJDBMptUUG+0jWzNoMNA+jQ3nAKEfXC57s3jgWZuOdTKSgcZ4pmp9\nPTfm2A+cp1CKjA3zojWfJdoF/ykIRgA80BQTbDpRIXnudSL7D+9QgMAc3CQx\nFYGe\r\n=MyUR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fc55a497a3b0d48a691942de987d781555ef9d82","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.23b0c5e22.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.23b0c5e22.0_1623169285980_0.13609163273192837","host":"s3://npm-registry-packages"}},"12.0.0-canary.2952c6a76.0":{"name":"@material/dom","version":"12.0.0-canary.2952c6a76.0","license":"MIT","_id":"@material/dom@12.0.0-canary.2952c6a76.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"38a62a0eb6042fdca195af4e497ab15d176e92d1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.2952c6a76.0.tgz","fileCount":29,"integrity":"sha512-0cHd4OtqqdaFqVCPFxLSaWmnr8/OGlVaeH6i9sTvjMtuafsPdFTA50NAROw7dMIjk8VAU8LEQSVxW+9lpGfU7A==","signatures":[{"sig":"MEYCIQCG6Te9l122+J1M5z1fxpiBpUR7D+fJ5HJzgXWYsNB+kQIhAJ9oh4Gf/rrPBnJTTU0pNwB75CVnod4J6AJ07/xbWZ8T","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgv6tvCRA9TVsSAnZWagAARjMP/jgBjOlcOUAkwmhV2Axi\nj7niFsuYdTcE7xiM2md/jXxXQnKHhXnbvQGnMO4J8xuVYKgUuZfTpixPcMQ/\nqMyMjRx+61WlyKTKpA3MUgipTmkvwgUUhvR3646cSQQT9x+yJMJjqhvbq+lr\nu+5akYwGjkVixU+PIKSF624EQrCmINpFSlwBSsI5gPxns1yWAtorhDmC+SyP\nHp76RmQ4WYfvpX4R0dW/fHLHPO16qAC4D1KS2Z8qtIaRBHxs26l87j0j0PRt\nrGdpIndnHww7kGkW+G9fJifqm2vECvT+lJlhYQ+cXx35LcNCq0a01vqbAgVV\nPKdSRbmYx5q+Y1GOYo2D9/0QbZj+fwP/xYB3IoNyVxJOmcfcQPXZ+kc4RYb9\n3/8x+vyPX2ed4U01AxzmuOeY7aiAUAnoCcuWgunq22HczJFzw2oGNktf0bRk\nXNlv8g6eUKRpyfOaHBz5awhkPE6FNE5kjCUNV7aQOl4C6TMBNRC9fFAfbAO7\nnDaXid5x7uS7Cv64UFWbvb5n87z1htP6Sy0u6OHBzgKQ36nZhVQ8KKXCcYT2\nJOYpe0RfL0pxTyMdI06cOU84N4v9z0jp6CGayQFsSZPNjTr+VNiQCwxPuzWp\nPmQ8wKem72etfBDMd70JtS/YdG6M4egUk7Hu86XyZxC4puucVBOMfDNp//6f\n/6MA\r\n=zMHk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c1b0afec5d55ef54d74fa1cea1899368fe5c7180","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.2952c6a76.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.2952c6a76.0_1623173999152_0.014728532169691944","host":"s3://npm-registry-packages"}},"12.0.0-canary.f12425f88.0":{"name":"@material/dom","version":"12.0.0-canary.f12425f88.0","license":"MIT","_id":"@material/dom@12.0.0-canary.f12425f88.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"955304c176700a0abff7e024281a4b3552449ba1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.f12425f88.0.tgz","fileCount":29,"integrity":"sha512-wHV8j640g4oVmBMAw5ZO5rWANw7jKJXnLueZYUUYmlmkWLJa1XtF75vT8nYuXZW0T1Hm4KStJ3bHSmdQrCY6SQ==","signatures":[{"sig":"MEUCICVSE8DudvoVtPZ4bGmieh85iFOrqLxmAEzgmYFUonN3AiEAiV4r17woeGUih93qVn5QRO3gaQY6DRr1PjbWV4Bm8zc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwWU/CRA9TVsSAnZWagAAK2gP/R+ze+3S2vjAJvRCWjR1\no4GEUKZybEZbsEGaCWcBC9FHwzz/PtRTk6n+3dTngoZXtA99WHWxpzc4/Oeo\nyvpqMNuPqUMU3V4mKInI4H3Is47V3dD+Sr6FzEBjSS9p6Xl8NZSeCcQIYZFv\nJFhCwuqq9lodQdg9wMWvcEimXlULypo6siB+WKUn39L0yyKe4/+sXWITdcr1\n326Bt5AA6U+ZY4z/H49J6LoCDKm5OJqUfb1ZrIRNnuv8bU0CCFUf2bDHp4oX\nBZdG90lv2VBj3ks5duDY7CEqt/ZcYyE8t/9EuB+PdEYxV1VJwoffUXCjlPr1\niLvyeFZ0+Jy691zyA3fnDaqI+rv8JpB5oODJs3ytG1E/bVJL55IgEVApbNIX\n6F1+yjPc9131SujDSFei1ME7zvxyrEayDZwJMsYecWb1ImIBREwZkF/RpHnT\nL2YOSpTUqwPsVdt1p+iE9yIe+WCxvnE2WBibxX0kyVr1ia1Wu8IgjlbO4jlg\nwlpP8QjPZ5gW/9hTuXYzVMpCjwL7BFf1InKh0NIS/UHpeA0UIsIw7QxoyQV1\nMW4hTezxnIY9Wt8lTzr60wPuzzw5W+Muva3Z0HBzTLpstifyMazGazF3/c++\nOLJP9/F8ILtXbRCtCZ2qlS9sCJ2lm4ulPefzeearnE/lcEAlAwc8nFMRTgA2\nVqsw\r\n=Zxxk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c8fa3a7d372e06e42b474eed4ef3e4105dc43301","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.f12425f88.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.f12425f88.0_1623287103098_0.9685129254575084","host":"s3://npm-registry-packages"}},"12.0.0-canary.e543628c3.0":{"name":"@material/dom","version":"12.0.0-canary.e543628c3.0","license":"MIT","_id":"@material/dom@12.0.0-canary.e543628c3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b683a3d41b513d3aa9f60b52f2d3001538fd3e9d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.e543628c3.0.tgz","fileCount":29,"integrity":"sha512-KE/DL44Mjmq6I33GU9yzWjwq/bVXH2HliE4sbv5HWux022ygvzpdvZFs8nKmUXefDW1zrsxY9cw5ghJnU1WD3A==","signatures":[{"sig":"MEUCIQD+HTi+VP8lXiyd7IS4ddCmHFqv374dQ+5Uyz3sgcFergIgEiC9LTSLlDVM+T+vQKGn90iETwTOUz2CAggP3tMILUE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwWV9CRA9TVsSAnZWagAAvyMQAJJF3y9wazBI9sqSWWbU\nEk383B8m7ZnWz0FRtWhmaNyiqnRqrzYRpm/mBqZvEcClHxWTQukMejWRulS/\nppsCZ1TVHyxS1yMNvIBIFSz6QNwEhM0qnqu4gg046mCdWPo0MibjT+sv4sxJ\nUgxH1OCBiynPWuY0TCxmqapzGS8wo4Q1LyY6NdooyTIDqIFPn7uCeiH9xUA0\nMuApcwCNHFsz/p4zuLcvWCLrlG1Knbek7iuAgKolGss1Zdwe+P3jE6+OjuQU\n+HhwIbtjOxn01HdVLzmSXkI4sCvLi/5HJj2laNXMEl9WIfBGw8k72j0gFHBW\n2BERwC0zmV1mPoo7mYOCkuWd8b8SVmSlsk7TC7G8Zhx0wva9CEdbOjqTDx3f\nCRRGrkz1u0njjnjsgoDfO+B+lkF+/EgjTB49Sl6MJRYbw+XlcJlt+pqHh6Yn\nN/VyXJMnmDmlr/9S5spk4kYHQQICjJWJ18uXe4qvnFC9pX2UIIyF3DwDSHlb\nVmjuIMr3WWqiy//Yc54LqCMNBWcPVZQDtd5qMo1y2VtxUcoh75qS80XNJIgK\nxFvVwes8jG6mUsEIFAvttJrPAA6mSd5pnICRomS1emW+DNHUaQuFXllBwF3A\nvyauPswtsOK4DfSETc02ewUpn/ZT7pLAmy91T26mZ5WKjWC5DHpgIvqEqQyh\nPkfl\r\n=K7nJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6e28195a46e3b2108c76ee1a6a9ea9416276ce52","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.e543628c3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.e543628c3.0_1623287165703_0.11243360515156842","host":"s3://npm-registry-packages"}},"12.0.0-canary.e0c346286.0":{"name":"@material/dom","version":"12.0.0-canary.e0c346286.0","license":"MIT","_id":"@material/dom@12.0.0-canary.e0c346286.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"81559c828b6258acc09e314190c3d8bb1d02f95a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.e0c346286.0.tgz","fileCount":29,"integrity":"sha512-TyRIEWDPXnhd0n8KM7ekNvRcYylBE9ZVR7VMeCgOaLDH3zCK1L62yIM6/dAJEVDpbVtXiXcGJhhoNFBaB8gIxw==","signatures":[{"sig":"MEQCIB+N/3FtcGA+h9X8zjqBaKZDGup0Ib/p+2o66fcXO/VYAiBZ1EVklKyGHjeKzkIebPM23cSARZJ/qHE79pAtilSYSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwj81CRA9TVsSAnZWagAAkEQP/25mm4bP2b/Qcb7xC8aj\nvEc+CBiB0z1M92GwwUOxZQHxRkjX3/5A+Xkqft7bWOxy2lLdyS/rCKyATms/\nkqiySmXhsoEYvqAzxd3klfSXuaCdOIfRgT4shSSukyDYo7tLPKwZtEPFtpH9\nAhzpJ4/Wcnl0Cj2jmCCokHfPqc1iGIQKAXSev2LjsdyPGC9NvCSJ5BQLBNKv\nLqHQcB4zgDRzDo+PSXHFMqrn8WeAHLlTxiFOD3264jmiKHvWmYMWGwRIv7AZ\ncK1rZxdDoNrCB+IFu05afU02fbJXWFnNc7WRtjV4nl7pBpmXDm9tQ4n9c1Yl\nYHBhrm8idRffIkSPdjyogVV6uAVLk7h7l/IEqZOA0Ku6A8U6x1jTxHY+l8Ps\n2Rt6I3gHwoN2ms2zOmLEAtb5NbtaF2CPTiC64TmnC7aix5vV9hWgJW7/QqS3\niAdrrzhYPMuCWo7MtVFHPMXcUysm6yk0GaDt5Xo8qYA6iClrcYEFxNaP5HDc\nDc1KXyPF8clAImCyMrdU5T4vjTEXQmsjrO/5ac7f53/mEInonSURXscW2V3h\nVBJnLZ2f6oquDyIfD3r6fDQXEN6y+Na9eqpSQiM7WkqObM1RIflOL1ydIHmd\nsG/e4y5ilaJjLDWDiPk7M6Ordwhb/VBxRLUWGaL4b9SK0pIdjjLo8K5wcguK\nxxqn\r\n=sdYm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"405607237a611d804caa0b022897b683aed90ccc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.e0c346286.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.e0c346286.0_1623342901423_0.5560002112568438","host":"s3://npm-registry-packages"}},"12.0.0-canary.f43af5633.0":{"name":"@material/dom","version":"12.0.0-canary.f43af5633.0","license":"MIT","_id":"@material/dom@12.0.0-canary.f43af5633.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8f15c4da148f35d29d7567f035786d522d47d6dc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.f43af5633.0.tgz","fileCount":29,"integrity":"sha512-J1rMjME3ZQ96Ha3/QI3GPEbj9lemg1PSWnyQ0a4KS0WwOM6TBNbgKYieyDV4QuUUJitaBkhSDDvhD/iZFt1/rw==","signatures":[{"sig":"MEUCIBxBtopABeoAoZ2LtjI2m0xAZtV5A8bu5bA5AUH5CuiEAiEAzhKsNoYAmXPxxr0xs866mKDu8wdQrBuuXrTOcRkLnx8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwndxCRA9TVsSAnZWagAArIAP/iHMMTpf8WQX4ByKaT7E\n6lbRIBNB8OOAGkgDmjtOEV42C6vwHGrCdalFTqP7sckp2WwWv5nYaSH2RxAV\ng6+xatXbx3lgrQ5oqKPbZ65sYWBmzz+fMi62/JBKdH1xlBM8C6X9YH1d7jha\n21b3gAgq2EL7dBjLEohowbO1ZXSn5BVV2JtOl/3+7D5BirGgw3eODs9XS62a\nddEJb3DO9a7AlgoqrNrXOJ/h+skGCzwlzx9sDkJllTeVRcKjA1kC/1E1SwpH\nNy+fZ+sjf8mt03EpQkrmrjCKCYxEVhoAdd9Z5MDGN3CD+rv7x5AtGiXxphKd\npV5X7X4GLJuyN+fVg+Ux31SruOWm0qN9eOzTfAeKSt8QhLX/rfJjy1y4vx7k\n/k+/CzatB05TsbroVQYM5Rsp4B4uWWdTR8bbsFhjmWwM86d/iAoNgGRihfdK\nrzqpnWlpb2JyBKXdZ9QcQ9UQcLEdT89Uo15QBUwNxUHFSF9eua8PkiVO8JCP\nWijzhpwcSqaLgY/qUseHLE/f5Xqrbpg08LnnHLiqV6dgCL/yeCLzkzN9D+Y1\nKtze7SHLdNvfZy7zlRA/fEC3v1xVD5uVHiGK8qA/i2Jgk9al7N2wLhiUZEbA\nBLrpDHnQBwugL4VuL8VtJmo3WXSkrJkUex3nUt0I64qfzAagOK0nGVHb/y+H\nCM8L\r\n=99FC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6889f0098642c4b4f3987ba353e17a9a22de856b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.f43af5633.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.f43af5633.0_1623357297125_0.5148145271907856","host":"s3://npm-registry-packages"}},"12.0.0-canary.8415ae585.0":{"name":"@material/dom","version":"12.0.0-canary.8415ae585.0","license":"MIT","_id":"@material/dom@12.0.0-canary.8415ae585.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"796fec667f83faf094ff4a2770a1f49344fc0b53","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.8415ae585.0.tgz","fileCount":29,"integrity":"sha512-lINWr6uzTVtRopdkUUcB6Z7Aqt8M++0r3jeAtQJxc1fhRMQHRFhQobcqWcoi3VvIBSCayxfUw9iL3rInfehCog==","signatures":[{"sig":"MEYCIQC3pGhNRjfS/qjlwme/1X4xjafwbm5UoMU134QqqbyOrAIhAKmlDcOSg5Oml3uOTIqk82EMEzF0n/hzsn2974NHUUlN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgw4mqCRA9TVsSAnZWagAAlVIP/R3BC1xSGr1EDODlSw6O\nzMoDyCZKaFplNH0kErektXvtkZgkvdIM0xyjzmNUuzTLZBmOb4Bkhb/SP0WB\nkAZhsim5iJE1y2KGWwInBjglWds8rxWFQraBhSN4xQhZ1VaZ0Z0D7y3uCAuc\nDQcIEM+DzYRiY37gaG7fd/iGLoxSnXt7bfXmL3Aj2JtUKxX7b5nfOh1rGRt5\nhC+T3Wz6ECORfD2fTG8PKZD3g//PPA/DLFzg1in9hibsBJZA2DrCS+RbKyk4\ngb7yhNp6xCl//o0nKHmq7pxFBMnlgMjbNqqXGdXwEH96eht2T7EwX0pMrhip\nKWhlBr1cPSmlKr6u31zk6fZYkdt6KM6aaht2EysGwyKjSf/lVmyBHVJzS5ZG\nV3ARL+/GcxMcWQf6T3qzXq8KpT9DSnjqQ2N3P0YYDKwJ1e+r8XrLYG9u9LnV\nBjE0v5jjEYyCc9otn7uUM71MCjV9vGag9YOzfPYbKpUBDMHgyjohFecmYhQ5\nZ03+Jfa3bSVMJYJIvqKu6RSaBmANqFd8y/WHArURoiY0DLHTMB3iZ9womrp+\neBlkJscjtxYGLgswq4gFaOSJmZHWr1N805lo/VZ7BhshkRcP5Ctr9HBwAlHs\nPk0s4AwU1Qh4nZSXbHRqLnsmXGwY7cADIzTWv5TeJNYKyJwHlTYaB22XdOxO\n2Y1d\r\n=pRbv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d00f19e41330e3956e7355a23ea132e5ff37403e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.8415ae585.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.8415ae585.0_1623427497784_0.42363143932654745","host":"s3://npm-registry-packages"}},"12.0.0-canary.598fcccc8.0":{"name":"@material/dom","version":"12.0.0-canary.598fcccc8.0","license":"MIT","_id":"@material/dom@12.0.0-canary.598fcccc8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5be20773a27767753d5ceb6190ee5a080177bf96","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.598fcccc8.0.tgz","fileCount":29,"integrity":"sha512-9wUFFMQGjaOegoI9ks2oBip8/7ZZMdeR2G074mWvsMbpANXUxhPHiB2UEulIDgjkbDnP9X8TZKzme+iKBVvonw==","signatures":[{"sig":"MEYCIQDqlkwAs9DwOSkW0mLzNpeQIALjwnno8cG9nQwK2IjMJAIhAIgkkFdoM2/uhllpqE48THRWKKiLpM0ZRpIzJOOAIKaZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgw9mCCRA9TVsSAnZWagAAo6YP+wQF6qeIiIWlDn8fXt+t\nFJWZm18MiS1hjQQSW5gGmxervPPnJDuC0SvV7CZDOAUmB2IgURTspTzIS7oM\n8UK7ux8XKdmkoUlc6wyZNOMSIGMqWS6zjJx+nypAm7dw0DqB2JVMWFucldkD\nHkH16sECUdJ+PaN0yc7iU+WNk7wcJtesPFeTZhUgu+8FcoRajN3Y5YMpXRKj\n1zR3FRgUIX7h4YBYAkRqVHMUEI8oww7mv4M7bGUhCH0OiaKW2RT+rZWgivQN\nSKQfNUD7IPgoUrFfelMT13D7fBjUuVajsEJAzvEt/qrG6fgGDX4xzaBVOlma\n2gR/lGIUQji3R7dJ1E70MzopRMQ3qfXBdZKeLpR2qOWA0V9nzCcdm/HXs4Bj\nnf8ScwkcQopgKpp0A6nafFr8iyE0WvB+LJ4GKquDQgcDdui1EC57ZbeX6a3S\n7afjsOi/zMLQKL9WSEjT+jf50XszsLMR2pRxzlG42LvDRxSRO7jNAqc20YmK\nYcv0YyIBcwxQP2zbNFmf9Wxy1s+DlBCJVcNIlchp/qGsvq+bOwEUHBL/acx/\nabhAOdLpekWjeYR3lKsjp2uSJSuTz8ZORMRWXMw6nC6cFHOhY7wuYunhHh3g\nWm4Fs34YHFrsNpVXz2LPP01h27bb8l9BMGm2+hEiUlnlYTFF+zF1re5gVkQc\n3cDG\r\n=xR1K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ccbc9ce9b0bfd89a7b5d57d3e0d6bc2ae297f66c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.598fcccc8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.598fcccc8.0_1623447937888_0.36747366489496613","host":"s3://npm-registry-packages"}},"12.0.0-canary.5d0605188.0":{"name":"@material/dom","version":"12.0.0-canary.5d0605188.0","license":"MIT","_id":"@material/dom@12.0.0-canary.5d0605188.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"318969bd7fa28287627f9bd0d5137329cfc8a978","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.5d0605188.0.tgz","fileCount":29,"integrity":"sha512-yA3/8VSK1KGdfg/9fPP+uuV0FRln6fbd5kJp0f1FbJrL9txsUGO+Wn7Y+RPvKorFDVh1yhpM+ZjPDZKjgvUhnA==","signatures":[{"sig":"MEQCIFDTAAGMQeq1zXBVa4TaTGq2YSgwgr2ygi2CVs45NIxsAiBuBQmyq4aXLF0KRLVJ+IwVZNddFDyj0d460pHa12cNiw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgx5QMCRA9TVsSAnZWagAAZnIQAKEsJA1VggqAu+q8oe/O\n0hL42ic9u2aGktR/ZwO2mqZ5gNa4lsD+WcXRNtIEE3h3qTuBZB71Ow+oPIjK\nlb7LbDP+aFiwYBcLsIP4NxUBcyfVu4/7XjLF1+rpMAOZnh28yp4ppYl4WVOV\nMnJzKNfKfYJWh/wxaBlZiOB7O8MgerI+cCc/U8BCfg49zGlY39VcvbZsBKDv\ntpEjrKQgIkIJPtX1iARrBmg4bCo2oJoKl0i6rO0AdCte/H4PPIGF1nYj8nZk\nJ8laqN4o/rcDHXb/j569JY80Vk13fZ5N2bnM/faS+8R/rYwmHRRMru5CfLB8\nCQPkzrtsBSQChK0vbsc70xSKZamPttf8QVBVh3pFsx2kyv+o27xlKJLmfHdf\nJvgikxNpiSlS78Hj+VhfbspK20N4WI/f849yt5gToEPG4gi1wGlgo4jNQMgl\n1L2f+SjisNLT06dzAVPSBPh4+DOyPssr6OH3JPQaRQoHo5E28OMcHiNHEnvX\nF66nMIy209xcZ4d3Rm8VDbqGOgKyHo2lNiQJUDEOYVbucAFPppoLaZIoA03h\niMwTNitIntK63Joryw1Bu59on5iqyAHrK/YKyIjKabt1bibMfzHagINNpOPK\nfb5p+QS9OdxqfYi3RZ9jS50x6VPcTTrNthKhuiWcbXFZIbubssBEZkfpvYRA\n8pSb\r\n=//bo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0ecd220c6043621c1d471242f32f317475b671f4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.5d0605188.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.5d0605188.0_1623692300535_0.9815911545495373","host":"s3://npm-registry-packages"}},"12.0.0-canary.f147a2271.0":{"name":"@material/dom","version":"12.0.0-canary.f147a2271.0","license":"MIT","_id":"@material/dom@12.0.0-canary.f147a2271.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4eb4baa18d6abccfb60e34eb5afe6da030274908","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.f147a2271.0.tgz","fileCount":29,"integrity":"sha512-HdN7zwhaBpsnv6Ec+JOX6ECnyRn6CGDDB+E7NF51adXTVTaoga1a1GHHI3IzADmY+DmPRjCWm/XaKN4+Ncv0Sg==","signatures":[{"sig":"MEUCIQDCbjSPlaFUa1k0A8Jmp5rGoEfXGXIVbTISUFv/aDr+fgIgWW+hOaKZmWj5xvb4ybFdPHsOMdhpGGoPQnFG5goMLQg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgx6s8CRA9TVsSAnZWagAAYvQQAII3wDZ4/I/hEUFLbTtf\nRcDM9HE9C2bFOOJ6YVRIYlc+FDnMJJF+mYuoq8fgYe6A1B7XZ2zY/0BPRi7w\nPaAjM1qma1dH9ReytJ9O5+sfe3nw/SBTPTU9oFhkqGxkBgAa61yWsUAVeK6J\nTFN16aUfA5Ou1pDDW0hEhrEdPg6IKT/DHe91g9Gxq+i7V3zZkJM3k62yiigh\nF0xzmBna3cXmIy6I0R7MiloFultHASPHjCy6JO/1hUHSKQpu+VUhWqA/O+Ou\n2S4Qj41z37vmACgUA+SyqAP3mU4gZ7SiposO1bf2OtJF+y5bA89+J9Qekw1n\nph3VaFwdpigV7YtsGBna3Q7FWGjM+/jhk4MsK5Li/oGvprSPQEAc56B6FGaU\nQf9bLT0PpX77dRVmJj/2EvkMhhw96ToOee5M09OmkS/RZEC1rnaAMuOLCol6\nBhd+CWbMCbGU7CxQ5+nkgM/TXYAKrCTXpiYcmAOjbn3Y+OJJntWfEY4Iydtq\n4lx7UNkjdaHxJOpWODJrGFcz0E6vKeg0V9ThbVQcDV7yJb/76ZlPgoKSRsrB\nYIDMVjOnllZ5MH8oycypgt8I/BiGNbtQHaXhLvhi5gMIcSBPJN5+ycX5R9L0\nCInBEt1f3pLN9QUw91GPB4bt62AKtEnBzZelVXDQcTqgfbl5ZPu39qMIQlm9\nSKtn\r\n=2fxk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"70b871f06c34302277b9eb3064110dd70afb181b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.f147a2271.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.f147a2271.0_1623698235929_0.19427579963659136","host":"s3://npm-registry-packages"}},"12.0.0-canary.33579e00b.0":{"name":"@material/dom","version":"12.0.0-canary.33579e00b.0","license":"MIT","_id":"@material/dom@12.0.0-canary.33579e00b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"25c7f3cd90cf0db5756759f526c0ac0c02fbd8ca","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.33579e00b.0.tgz","fileCount":29,"integrity":"sha512-0if40jMZJ24VKAgQtKH/F2RibSAjaEfGjwqM5Tnn/7O3bcNEu7zSZt5lEi+A20E5Fqx354qcXTrYyjhuGByC+w==","signatures":[{"sig":"MEUCIQDjgBYxscy1vgIHje7SE2u1/R/pluDnLLFajpE/ZMxXpAIgIvTodjjcXKwf18ZMxGYxQcfmb4GtCRqDy/dN8WcbULE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgx/JyCRA9TVsSAnZWagAAmmIQAJpM2Ufbrsn/wEiHu8Ub\ngyTMZSxdBWu6x+RtaPScvLPmsLUZn/9DA+VznMgvvTEHuRJoBeV3DdBo4QEt\npK0jyT5iw5ifKURJ0ElJFgZlKbU26MDB86eqjKHAHgSyVLJauj5nGMCBJVqx\nxbZ5LE68uPBSLcdb9dTHea5mTEoXVB+hsmoYtTKzMZY3yUrVfafkCiYYvAbm\nhzP6Va2FmvtEwDa744lNrOAKzIgdBBsOBMNPbjAbCbe9gQIuYpD4/fExnXdA\nXvuDOwQicrHqVOUKmAjuZlezS3HvOuZB+w+5LpCdGHtzjqT9K28FKiExMz4m\nM3ihf+jIzbHrmnWBh3vNGiEHFtDJ60TgIMjl+PzC1pFRwtkDsnJFQZFeEeiZ\n0iy24T9DVEMI3xd/HCDRCvNTyI1hYPP3Oqjqzy/V2t1Nd36fkrcCmB6BoTF4\nhzo8WwUw7UV10fxyhnIc1EyM7F7sN4Qr9mVEdq7NFjH2bBRlo/t0/6k7/Rpx\n5OYJnluqdzlPJK3XLJw13aNqrDXjCG0xhG0l8e7/jwsIq9XvmNkVGZuHKvqc\n9UkbT6lrliPMyXq5hxlxsWuH7YRLF99e6JYZQW9B8YvZJGTye1gmYNYuuBtj\nuHoFs1Jb7KxcTbdiTQpBnKIKB6OITr8bCUsa+FdiNyzAaf5t1tgA8grwG0E/\nFF7e\r\n=ZbaJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"13a815cd8b945d23ba7ba2ebd6730088fa195237","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.33579e00b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.33579e00b.0_1623716466101_0.05696687090955388","host":"s3://npm-registry-packages"}},"12.0.0-canary.a6909c0e6.0":{"name":"@material/dom","version":"12.0.0-canary.a6909c0e6.0","license":"MIT","_id":"@material/dom@12.0.0-canary.a6909c0e6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bd33fd5d83399cc65d05e98c725c24c886492e56","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.a6909c0e6.0.tgz","fileCount":29,"integrity":"sha512-1sAS02TluDWdoXJlLQ+RTVoPTx3zLQ+LHb9xDryFYX0exOp4dc1tVLLDhBtat3YaDna7IbWPNKueeuaHuBa3BQ==","signatures":[{"sig":"MEQCIDyS9Gur/GRVzKl+TbRtotLdWhC3eqD3lhHbfXOlxGL/AiBqIP2bVAMi2QGY8cn93XE5PvqR3KJLA8D3hGCOyaowGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyPGACRA9TVsSAnZWagAAyY0P/j3HEdUyT+KQb6eO9DYF\n9oN3KhG5hob1ZlD/I4eqwHFdhn5Xg+5qS1vVlbTViCNwEHHlt5vTec8BqQ0A\nwXh9+wk1pM7pembLVw+aDTR45BttLYBpekHJvuh/hMGP/pfzhkHxysF21Q5Q\n02XEP7HbWqucM3gf9IIGlk/NrvNKfMEYU6H+v4ptSMQbAH4Jtroq+x1Q3Vuf\n8c6UN//b+ZxtJQ94F6kPlmChj00NGWhs5yZOySQzPTAms59n5SbU22ETyItj\nbXHAyg6aMXeCwSPv9+/0XtuThjjd69jdRU8X/noK9k8iv0Cbu04nyytJG40G\n6WuyQI4mJIMkHUg/cgN/adEM056f/63BABT5GzKDLTKl5SNi2OegAJ6PgQD4\n0dVAxqupd0m8CtCaudHeS1Hy5AMgA/F2iRSlfpyw6EYZjGj1lYO+FUpIHZfR\nvZcpLNYCkDFA3ZdEH+K/tJxhW4OwMdA2qa/lfSqvrpazS9qdEiCbSwESYMeb\nOGEL7MG6KntC2tb/WKXH3tt1OFrBWypUcsTygPErbF0HK/dxefSykH6spoY6\nRcVl/qnYSjdRs/DngEySLdMYO1wWYgk1eciOD2keVDsloxEMelPuorvAgCZ3\nihpfxiPkbzyzy1cXflygyuelZbuoqU2f/mL1MXQwHtbZIAwvzPvOgDxBLx4m\n8Efj\r\n=98fY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f4852598d008bc1750e5e9d2a0e828aa8804f87f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.a6909c0e6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.a6909c0e6.0_1623781760620_0.9028056155352011","host":"s3://npm-registry-packages"}},"12.0.0-canary.c18b5925b.0":{"name":"@material/dom","version":"12.0.0-canary.c18b5925b.0","license":"MIT","_id":"@material/dom@12.0.0-canary.c18b5925b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ce6a8a80dc8064f875b9b88d89ac115bb5473b84","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.c18b5925b.0.tgz","fileCount":29,"integrity":"sha512-zcePyUdmd5spHufaQqTKV85m38IblZYyevYN0kFXamzRScP4NoGxWlCa8Auo0k+jlSultZV8iuIyihG55WGwEA==","signatures":[{"sig":"MEUCIDs3pMcpJOal5YqMZ/il39iKj29YEkZzUKurG7a7KW3aAiEAlgx9PIkwa17KMYX7FsQqIYWCr2rVu9Hjjzq/OsK6QY0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyRVzCRA9TVsSAnZWagAA2psP/iL0vAJPZQRBz/0K/mDo\nBvNrWmNiFFWN2PFpsD76znCvk7LEmdrA8uBSKYRmUF9RcV4O4HarKlqQ5f03\n5e7LINNVUmv9OJ0I+OaGmKHGBoTOV7G+tGaYIAX0FFwB6cgSYIMrDyTOuUcC\nVYVclAJj+90m9SYEaLESxs7DR/qAsfj3Dfsk19BvkXHKYNFc48uOoqORHauN\nmllcoPhISiGWGJDrS2W+e/EbW5RSzA4qkTxxcxdf8vjVoB3+Vw5OVygYGOs0\n6oOybfDBqVjPLZuONLnrkVpPEiSlzTpGMXml8UfocxQScAVhEAI1zk/hCKY0\nMfRZuDFu1yaNYfHehUIPHEZhJKCM5uNtAtqVmvVpECSwWvPMoCBo/v2FKdnN\npqpU4nnM4HslrYCABO/inNSdwiACIgviK/jsqHlN+yNwki222lk9aOuTLavc\nTcWN7PsDEgkAbTCW6sGMejFlEaYou+yXtvujMMYDxTaRt4VaF0V7hsTX0Inz\niK1u68uPR1MOtJ2SDNSyNJRp8n+vLidP+DfUkzGu5hXs4nnxCZHWkOhNL6/C\nKEbWs5ieXQH4Z3AeKgdpI0+KqxjfquhpGvxV6iBiVdt4qOSM9kcPZLnWI6mW\no/5Vqqh/R0nwR+aG8myv5QjHXke5oowqJ17EW75Ijo0aqL9mvVH743Rk6Khz\np1of\r\n=pzGb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bc767c077b93ce415f2505e54f329042c80b0d3c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.c18b5925b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.c18b5925b.0_1623790963067_0.7799086271599929","host":"s3://npm-registry-packages"}},"12.0.0-canary.7ea2e830d.0":{"name":"@material/dom","version":"12.0.0-canary.7ea2e830d.0","license":"MIT","_id":"@material/dom@12.0.0-canary.7ea2e830d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5b9a46189ea93de88c013c0fc3c0413c65211b17","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.7ea2e830d.0.tgz","fileCount":29,"integrity":"sha512-ZLdqoe2OG36UFc1vsJplFDNtanmp6ImPXfWmy2QhnKJhk3UWKmOFGQniU84aKETDZgpQOsb4Ch4xxifzjKpxGQ==","signatures":[{"sig":"MEUCIBucyYsQ1wxNJsDSpbBs8UxPRRDUtsfUL5detvA7djRaAiEAqVI5QmTnwhOw8vTvMNRDkePoKS6aNzmXKIskDHFPepA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyS6SCRA9TVsSAnZWagAArzUP/3dJD2vNpiXpdYYlx6Ay\nzyKF/hwLQ2KoS9XuZeMJDxrZ8cE4cfBRg1YT2QT75IyDmdBTyorBA24j2685\ntY5jiSCL2mBI56S/5Yg8h6ZH7W35JElqMNsqQpRc3MLV5VWiQYtyNSTj0vhv\nsdOJe/NDqRq+IVdmlBcRS1P/GKT9hyloQzwG9inhg0BrFRYRcb4AutHxm7e3\nFKA17hY/89RVtkfllRzP6OlGCGkA1ol9Cik3wXXJW+B9Sx0U6RA0Mi6pzzN8\n2lfj0hl91Tjx4rMCCMDjtLlZs8bf9dvySnDFgunt0i8PFdiR4p9ZiOEH0oz4\n8ZvaymsTeQoTuE9wVyTOVF2/ELh5I/Zw+xK3GsJV5FqPWOMhsVr/f7AYjoh8\ngshHmfV5Jhvq0tbBDYT8w83YcahRt3ZXFEas1sqietaDg6Dq5XqsDNZQTRCh\nrQDzN6omuNAZaR9otFOBlnAPdVuZGTKsd00Nt7oVEk2zk7jiveWg3VkpSjff\nQQ6Pcn0G59T9afg86yN1rEZmb1krn8ORgCgXIMmGquXPoanH1EFGwW7cK1FW\n6B6YU97K+bs5ZxnZ9SO7Ma4ny7aXnlGwckWTrue2jV4UDhlJYuOwD1TCjR7R\nfOmibnKVb8lsLonNV9bBcS10RdTFgtff7Ch67JPlXHIvxGv5WdFH5yVcF4V5\nirT6\r\n=UqT5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e1f3cd5692e7f4572664681a049ec1ea1548eb15","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.7ea2e830d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.7ea2e830d.0_1623797394014_0.9336917025569813","host":"s3://npm-registry-packages"}},"12.0.0-canary.271fff902.0":{"name":"@material/dom","version":"12.0.0-canary.271fff902.0","license":"MIT","_id":"@material/dom@12.0.0-canary.271fff902.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a34735e81bc7c99a7f56e0f4d2e6d6c53a34463c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.271fff902.0.tgz","fileCount":29,"integrity":"sha512-8s7j5hUcKLjHlOD27Dw1N0bg5iyeRHTGptbMjXVDTszJ9e5lnP2bzJG+YW6YKPwpIMN3TNxzJ0aqho0SEb5/xw==","signatures":[{"sig":"MEYCIQC2qvqHV90ScMJIoMX96iNpHrL2EU+8st/zQ5p8iWQynQIhAN9GE5VUBwcs5UZrabqsfAmtd18OhxmTA3SG7LmP0sRW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyS6pCRA9TVsSAnZWagAAu7wQAJ6Qp5nkBDj3VjK2vAbV\nR9tN3hVjFzCdakxPJadHm/aqaOgZw483W3z0hyKDUQSce0NDT6RMdYrZ57kk\ngABOZKaJ/ZMgtfF+EF3/gtBb+0uZh4B5I3Aw/EYomjkA6tpUHpJQ4OzdiLIz\nyagENJ9NwX0Tlyaq4t0Ib0lKxC1Sabjcd8tet4OAlh4mnbdg+oY3lGkum57S\nHCyLITYJvsNRStI0J7P802qcEHUO4AYo+bn+Jum6nNd0bbOqELr3mwesVw1X\nyCJiF31czJgbPbAkV9vDBb+zaF/zgM1uDRuwXe92mfGtrk9VjMxO7cPSgeK5\nDjAlXW2pepNMoFs4cpTlE/Y205/ISeLklpja0DW4g1QN+ecngr26oJCmVEec\nA2tZ8WLhu8i6gKc0JUUaA2J3nFDtlkGo/6kkN2T6mid16IYSLE0yZC58NCPh\nsIb9uW9gsoVEaKPAIfTBy+PO818LRnaOBjDyoWlfKiqcXGdBxonFx0HMNSyG\nic1lnOgQobIDGZuSm1D1ZluCxi3Kr7XAXd2wxZZALPhPS6dSsMm5aZjgU4/K\nqsBUC7Af/624X9Te5c+bA954Aoen2GK8h1IMCUHgltF/Rh6H5ohZhU4W7/kz\nnweA107G8ID/P+U2iMTOueK3Bcz7ez5OvS3fFbzGP6TDGqhWzV0LmOuIVlrF\nXgd3\r\n=u8S0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4306227bc7e5f014c5e961178b436b394f0dee6b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.271fff902.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.271fff902.0_1623797417206_0.37111346100117126","host":"s3://npm-registry-packages"}},"12.0.0-canary.d96f0a1e0.0":{"name":"@material/dom","version":"12.0.0-canary.d96f0a1e0.0","license":"MIT","_id":"@material/dom@12.0.0-canary.d96f0a1e0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2bc476747e3108642005000c4f48637d9c0767a5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.d96f0a1e0.0.tgz","fileCount":29,"integrity":"sha512-kYvfCkfplGUGjCGJOXJ6EveAAZ1P1y6ox30XAhFuaBIaLVns6EFL6mI+pP+VxgfMgYHu5LqU3FYV3Azkabp/hg==","signatures":[{"sig":"MEUCICBQfiPFnd2EsK2mapxU9BHNxQf6n60GIg0zoS+QbX61AiEAjahX1qMkle4XOdO9T1RMTvA8aaVTM57smRrRdmmJrD4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgymeMCRA9TVsSAnZWagAA0ckP/2XQ2gKjOa4kEvAiTkNi\n175hR6k/dzS84RiXzM4GW4FzIMlpa7Phlu6PwcOY0NFhgy70pg6FP+EV1F0Q\n+hBi6CFS+cMNTxg6kzpx1H9lKrhDOjihO7L4U075qWFidtip+W3qnvPATvAW\nkxSqRd5/4l6LtLsPO0jrIQ00VkJ47GKlgdZkpNOQTk+CI3PPZXis4TKFA7Cn\nQ855ZL2RHky7Ca+67ZZCebkYwxgTp0zPRTbNuQr7QnIFDxLKzW7nEGX2ZkXi\ni5FgXl2WmaUF+8YB3Mc7xHAVvdRp3TVxcZmXdYmLwhlCt6ayrH1fxf9J+0QX\nOXb/dB4j0AUntspIs6xvLkhMdTbfXtxDx8pKb00FEIbl7Yzs1/SufekZmBQD\nxMcoYCzmiSGNWUfx9xST5W0V6ELNTXa+T6amdfOQhEnP9VL27+rzCsJJakoe\nRxTB+p8H5d6UKbxAsOcIDgRmeH47kq9BbFGloV4mg/mgM928o90CNHjSYEPC\nitNzIi/Xd/OGl+0iRULmw63FltLubIYLOd00T5aefQcOZfCNoSeHQACwDSri\nygA8GdohkXllxViUOInOA2qUnbag5/xZVyOUaHbtwlu8B+EKiFda+4Y5wE2M\n4V0KEU8kGqhm83np/EnCtG3DiqmuXWCsuetnzGyyCKOie1RMd+LlAiXJEEiS\na1bw\r\n=Rgef\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"32470ff9121448fb2599b2985e276f51563ed4f5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.d96f0a1e0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.d96f0a1e0.0_1623877516339_0.7463257322734047","host":"s3://npm-registry-packages"}},"12.0.0-canary.a6183801a.0":{"name":"@material/dom","version":"12.0.0-canary.a6183801a.0","license":"MIT","_id":"@material/dom@12.0.0-canary.a6183801a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"397d0f1ddb856699619bb6efcb7d4b09e766fc1f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.a6183801a.0.tgz","fileCount":29,"integrity":"sha512-AJfXxxH/rUeD75wrd/2QlDw0IzDiRrT/y/Wk7A1RAbntIQCynpvDKjZbnyZkxkukmQWHghIPu4QdbYEkix9EPg==","signatures":[{"sig":"MEUCIQCUmpe8Bo7qE5wDha6W1KQQZgdQLqYfmtqviRe/dPFZjgIgF8XScBb6bGb6ZTNXG3GH+z/XAHemAcRe1b2Sar4hlIQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgynVwCRA9TVsSAnZWagAANwMP/1QCHdYh1ajYkXPyE31T\nDLUn5wpRQqDYWQjO8CDIm8EQ12dmJjvpgxB9LUavrRB/DAwqzNjzAfjTbPSo\nv3NdEb3dN5wfaY9JydOI6u5kjWZmPSwYdE5fHUvdtx3u+3OG9LOe1YoJOGOy\nnOi+LoPBJlh+XW/g/7ZN57ojGKQXUN8FSzKrcraKtT8Hp+vpgIbpFnYziiSb\nXYo09KNxwlKMgeYPAvOPoB9UqSsgddnAbf3138S7419au550n+pYAySlVk0b\nAuR51sP+Cl5gLvZjHtoDE+xAo3+cQmLFLiy2hY3jqaoJCfu69yQSD1y63aZe\nU5JsbgiEX+aqvBfAEByAzRldh+OKbUlTpBmwavOjUJheQxeC3FNGOiAltDBa\nxSJ7q6j4Rj5HLq1t8Ar4Kkn+QMel4fHX7QCzyNsBZ59OYrsz8NLEpmb063mJ\nWgeltIYGNwo587IESTuGnhwxw9craG7/fRfc0yMGAuTavAtf14YxGonDqlSJ\n4opTHg1af5CG0Eid79iXciiU7CFEK7b74KAKv11aikkz6hzfJ1TTNcUPYv0i\nqA94e1ayoUBSciIFIhhhYypXUFLzlE4LY9vUasnNYfvs/O9fkUidBLxJowji\n4FKUBVUZqlVbYxKf70EGMUsFrtZE5fStvT4m++xoVFISS0oVoD/Mp9pWfkaX\nW7uC\r\n=gJPa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b5eb42f66e2a670e1f9573b4feb1a600a95b49b7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.a6183801a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.a6183801a.0_1623881072464_0.5048311263737335","host":"s3://npm-registry-packages"}},"12.0.0-canary.940550232.0":{"name":"@material/dom","version":"12.0.0-canary.940550232.0","license":"MIT","_id":"@material/dom@12.0.0-canary.940550232.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"21f3e9310d239676ba3650a45d7be00bbdc29129","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.940550232.0.tgz","fileCount":29,"integrity":"sha512-yE8XXefFKcDoing5oeXXdJK1aKIajA+27PxUd7QzigH8ron3fs3zlC9NY9PTWoR9GZylDNop+00xK3Pw7PMtlQ==","signatures":[{"sig":"MEQCIGfX0oQKEKPkSP/1sUeQflhXlgbsfRlDitE5sjyj0d5mAiBHJW6KCsZB2xuDqDi/GrXtQQxDci6yZFf2ZVqtKuyA3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgy6TjCRA9TVsSAnZWagAAn5AP/jgWH4RqvAkCoOQ2aW01\nUDYW7jDe6+ZR81IjgkCQyS4aK7RsdYd/KRpeC1SXrsukbJ0K7KgAwuHO5EU2\nLtWx90KwkqZVHsN9mZenU//ch3nykufzzyOGc7+8l+WGAL+TOb+qi3AuF8OU\nV7sT2DIuwUifJ31MbVcMXxO4hZPYf7a2urk/ajLi6ATTs5FkmJpqcx31/84G\nfb2visJnE1935+eoYeskCoHZaARBoJMfSHwefu3vutgTdnXP4Zaon9k/TpRl\n9kz5U5VwMrKveUabEkn8eMVbjCeWJ2yReC9qCJ+WvlhiGwX+2S2b7Mgj2sNA\nWN+t057lEogmFi8Gl4aYrk1tnH1N1k/H8aAhxbWbDw0x7sQusI/S/U3YfNiR\nVotHhhyPKuaU1rBJWuMDVkQc9p1Tq28yEtKIFCGEFBxypJ3zTrcdchm1hhRu\nsSC5n8PrGN3WT5BaTb4uywGeiGz26JE0In2rgkkkC0fwRI3hr1ie6MQO5AyY\nyI9gD/UfvSBArX8p8J49RN8Nh2/HkDFv0+Xt0oxwK4R20KotERt5PiwPNc3r\nTafDuX0nUyWM8gUSOosnKsjzPjaiGUczzTX44d2epE6RJDsAfvIns+5Wmy8h\ngNC6WNF+M0okco6+8xPqayXQsNkLJvj2mN2FbkxOIOn+Whofnn7n1O89/zdL\n2NTA\r\n=RFXy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1d6560428828a2c7ac90d050a744265e63c8563e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.940550232.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.940550232.0_1623958754962_0.07503304571258251","host":"s3://npm-registry-packages"}},"12.0.0-canary.f705e8048.0":{"name":"@material/dom","version":"12.0.0-canary.f705e8048.0","license":"MIT","_id":"@material/dom@12.0.0-canary.f705e8048.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c99a0f2757140a60b3f09521a0afeb3c67a065bf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.f705e8048.0.tgz","fileCount":29,"integrity":"sha512-4Rnvzg9lvB/VAzHjd3V10F8FZjpEK4AKav9Z/Or6QbJ5NmqKjsVnL3fmgUIPMN0Qw/n8eBBjtOQA559r4dicpA==","signatures":[{"sig":"MEUCICOmTUqMtyGUWg3ZdDd/BU17Lc6k2XNNfKU0R6DTWZUDAiEA8BjgVVI5ktsMyCTDqDJWTsrN8TAk7Jkx3rIRd/2ToMo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzLp3CRA9TVsSAnZWagAA4AoQAIhc4TFdvxn+wj+SA10K\nQPxZUJDws8nVRTRt5JzrFg0ObfHn2wKOVW85l+vNa5vYGgoXpk7cTvSGV9Rl\nEDbr/S8Uc3NORzcGiMoQBdhpxTW12uhFYwC2dz2mbw4S6JgDL//27nsGq3Zi\nfkBNmoL5X7yHBhPpg9KWmtN6+rDYfD+lbJFeV4b29QD2d+S61c9Mwblc6Wlv\nbHfm+R627kxeQqdh8Aj0lN1VeBBjGBG5EiO1OCvwR35kqpXnSxVbtm8zr0RT\nUcpFR63ev/joBEZEAHh45PyJcyp6s6FfO/wf/BoH0NaVvwRGdwSSxkT9A+Tm\n+fAzRf7ZLx7AXsHE6YGUGJEgaB+0425WxZU4YPt900r7eiykmtzeHi7Lpsfz\n4HjeSOnuR4wHkKq9WadGfE3HnF6BTm+p2TArr070wIsv0jvLGPhUYa51vMqW\nbfL6Tzsp0PQKqy5koj99h1yR8XAYaPGx5WDvngA1Ri/iNPMhq2M10lfbCJfy\nrM9hXwpfMrB1hzIdBPgp4Ir0OyCOgxsjhOg8OMk27th34z9UWWn2f2WYrxsl\nSpa63TPFL33NKLVblKPJqEwvNb6XNUnw2Xb0Wdp0f38W/JAzYWKmNAguPwe2\ndTdT2SKrbM4v7++MfX2Nv8WLRhj2pXc09dnS0x7qKu4zpVqPw/dFV9Q/CDiQ\n5uNm\r\n=8Thx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"65fc1ee152f3abef35713b70962e3d5b848a5e78","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.f705e8048.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.f705e8048.0_1624029814692_0.7035818503547475","host":"s3://npm-registry-packages"}},"12.0.0-canary.08d791f37.0":{"name":"@material/dom","version":"12.0.0-canary.08d791f37.0","license":"MIT","_id":"@material/dom@12.0.0-canary.08d791f37.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"da99eb7daa325e736d75ca899bf3d502f44709ae","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.08d791f37.0.tgz","fileCount":29,"integrity":"sha512-ZDfOuDZGzKVxqPQVunYW2e+VCGvaFj0fW4SQfH5qSqR+mAZA1/4Lvndm3IToShf9cR/S1vYouNF9ksmVIruoGQ==","signatures":[{"sig":"MEUCIQCRg4jp44xneC7LoZgj5eoLPqrBTVcnoErjEZdci3VErQIgN3ZQ0pbZfNOfkAJZBaMrx2bd0sMN0EVbrJqRzS9vcV4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzQvaCRA9TVsSAnZWagAAMMsP/1UitQcVjKuu+BBYb3/j\nC5EiNZ4qzlYbuBLl0mT0RUzJJzEj9hjIIeH1QzN87OwJ5+BAZ9qDSQiIpTuq\n1l22kwQVNycJhhg+Gx6DYREXgoZOw/o95AVjZLtVvep+i4Z6pM0ACS38Onlk\nRpPsaUAHQ4TsH8XpbaOj1Cf0ZY68ER4iI+aXXL8deMXv5HsD+YOjtUawEuof\n3V5OFgn8/CaYY/q0XcrYKc13SHHxCHZQ81jDDM6MwMlivgsJvzm4PgD9voAx\n1QSlprZxdngLliqTyGiQnosj/nEYmAoSztcpDJx345QqEjWOzlqj161aMOQg\n+AHsyQDIjd8VPlD44Wz3EDxoEia1jRxeugrhpIVInCxL9wOCqH33CS8oP9tg\nx87e/dl/THxbBlFmVqXHn4bbqG0DCR15E2S4hfissPCpFpwu9TfHBLYHUCyK\nSiFUiURk8nsNGrMA89wIRt396OKQCuE7+brf+fBqvNGge4kARTgH9T3zHnXw\nkVZhjQWiiX9NMfN7pcmzZJ/sT4F+5mI6/UsdjACXhlovfL2F1Cx4cHxYmRrd\nSZ1ldneEJDeWLnnSHO+7BqtrZvatmaiuzXtpM1jhw76TSlI52v3lsx3V7Eao\nNaIBR7vCzXGkXNz9hBcXQZ1PFvCvs/fdtffqQ9Bmd2JtfgQqBvQMjStNZ88w\nHbyO\r\n=qFNT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"854f301ec7183c3cbd2e62f9ab541f21aa6a459f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.08d791f37.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.08d791f37.0_1624050650018_0.29372683561856716","host":"s3://npm-registry-packages"}},"12.0.0-canary.e38d7440f.0":{"name":"@material/dom","version":"12.0.0-canary.e38d7440f.0","license":"MIT","_id":"@material/dom@12.0.0-canary.e38d7440f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1833e729b0af6e93f94cf01b4b1d81d720176cb2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.e38d7440f.0.tgz","fileCount":29,"integrity":"sha512-QV2N7XREg+h1pf+H22zevOSD5kKhI7EZBWzQjf2Nrxll8JJJ544EiOiAqmmY8hVrwMzQsnni7yDUrHhcRjToVA==","signatures":[{"sig":"MEYCIQDwbOYmp4GYrf90sYg4Qwrp1jGadK7ZWIUJzxKPh+f/ugIhAMSIQX91oSYLLJhHg8tVrRiSwnhJ7QVBmSAJgU0ngjN9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0M7VCRA9TVsSAnZWagAANGUP+gMG2X7NrEgQciliOM8S\njbAHBwme01w9IgGCgQ3uv5dwkOlMTkIfhVZsXQJ+DqD5+3wDTazo6+lS7aU7\n3E9VE4SYU41RY2PCDefgsQCsIydT8W7EdeMONubMUEHulRbZiJmocwl9CfCu\n7A8E4VboFr34Q2hQry7Y2UTZJ1QikW4XO75fzopPaxpLmLZf2X4r3GDQmyPk\n8a3mvzRIwhTBfKbwYZmedaWqOYmJ3bpgrs3+sCJLWF6oedaBXasiLOrFfxRj\nkAhYlJ3MIzwnEBAqMqr0st12UObHBCCeb4jF1tOnENlBjGRutN5igP887NOA\nSf9tcRhh387EBUVqvbAkik3vvN6dQbMUk4RFpFpZ0eh8TkjUoVTeY6zFt/Rb\nrw6y78YqSAfPr+jy/dH4ldwwKKmKfi5paQrRdzMUhCW76FURSUT55AxJ2m4z\n46iJkp8Vo1NYoXOr0eJGKp+RE8DzEILnonrAGhaAzrSrz3OtGJYXI9hogLsR\ncUJcOtQDf/kmftBhKDLCDh3/Zj6fJRBbHRzcaM9+Ztahru00f63k8wjFxZLQ\nJTCt76zePlPArJxbmm9+t0Fk3kWSBrVI3JSO6vQeARbrUbP6I3rOoO+GNSoU\nwj+0lQlNKkinZI70iJ2tKi0Nx1mG4u2C7k6OXuueiebmUeHRsQgdw6MFwtGm\n5YWz\r\n=9GZ/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1d46835e968c827eb3b359624ebb85f8e3ccf528","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.e38d7440f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.e38d7440f.0_1624297172928_0.6832936323268033","host":"s3://npm-registry-packages"}},"12.0.0-canary.75900a5a9.0":{"name":"@material/dom","version":"12.0.0-canary.75900a5a9.0","license":"MIT","_id":"@material/dom@12.0.0-canary.75900a5a9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"41660f57527d01dfda69e5665475904a03f84778","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.75900a5a9.0.tgz","fileCount":29,"integrity":"sha512-Gf3RDIvvfhV3uPkMW8rlxhlVx9ADUa4nH4ygJ0C0xqaK00wNrAQkfUWQF8M+TOZSQEMyjiapj6wgDvl4fwoyGw==","signatures":[{"sig":"MEYCIQD8g2FgovziAZpMnuFa7CVDFAKWk+xCsrmFUdRVrHTPWQIhAKI8nOCvbOqGuCk6zagmM+vZ7E3Xp11HVppDRUnI6ImI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0NwHCRA9TVsSAnZWagAA8x8QAJVOPWHznYxLmPzPRYOZ\nyCO44rjwMplkpfQxJgL1Q7f1hTbvz0DnsNk8yMKpvmD7DoSyVCcGWjRY6sUy\nv0m8UG9QG4boyiFTOjf5htTPoST6NQ900dNhAI1jub7LZvCBDIMD+igHL/sz\nbQ8TIQ1H9sgilKuAuAPmJXpkUGuZa+rovZRQCrZFZUkXmczyjmg1ePa6Iofo\nR6iow6VqdE0gGjoXf/CjE3p9nY4p//q+3Dl0BcyrEfUuNZv01Hk9mL2YiFJX\nvG2LCBVT3bfG8Zqebz+tKLlRxazYeHnodQQHC2LXCNsJkVhFeDUG/T4acqWv\nocVudZmtnQg2njDUG7gGM1a5g82AR4Vk8vpLzkm7PGbG2lDy1u59kb7KuhYz\nRI3HDVAyeIvK4W8hvzyu4CjNft6dGMjsGzT/9voC+NzexMppaovWNcZa4maR\nVrX0F9BlvurQuLfwy397sZv1xEScxzLdP7E4QIvQRgNXd4KrWmLv2yHUgBDP\n2LM8W7cBlQ7uGOMCriks5d9nqswQ3u86snX3cH66B8BY+FFuvWws1PDg8P4w\nP7tg7xnJl8tnP7vtSr+GpI3vUBhTT999mNFEYiY7Qt4G0kCet/iQTZY627wQ\niKQtE7MBKcmPgoYc1Vtijo1L4Su4v70z1x1rBnpvunOXvCExPLbAYdsArcB4\nqQCI\r\n=uhJw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f08daf05a41f44cbb5e5c07039e1e165d123c405","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.75900a5a9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.75900a5a9.0_1624300550915_0.9116032875855642","host":"s3://npm-registry-packages"}},"12.0.0-canary.33e6f50e9.0":{"name":"@material/dom","version":"12.0.0-canary.33e6f50e9.0","license":"MIT","_id":"@material/dom@12.0.0-canary.33e6f50e9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d6f6567fb4661ed953e266ddc25d625d61107061","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.33e6f50e9.0.tgz","fileCount":29,"integrity":"sha512-z6gnOzup3YgxCVgva/q/F1gxAt/DBphjPga5Bre3V6ulXo9JoSYqMevFevMoo9AWdSQh6/JvcmQniVfk8qnwvQ==","signatures":[{"sig":"MEYCIQDAffAJT4wPbv4ln6eWGExYrkvL+QEsMbG+xQ1W+kZ/7gIhAP3grhpd7bPp2qHYGySEPW8XMGXYFHM6Sx0C3FP7EvsB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0nwaCRA9TVsSAnZWagAARngQAIoITs7BQWrdDoEki/NB\nYtxV+2IBL3f/RyTrBm3nuLDYJf8rJh/hepYbrvTo+0xmGFgqRQFflhpTWKSq\nqo7yZ9CnGgd+7aWQ8gHsrVCzEQ/rh2EPNtO0rFOExi3oHRMcIwaVAplnOVcG\nJxbmKrj4k/Xqptb3CAEoe8PjpRaKuAicOav7/tCFref8yZMkWMQriR8dqYeI\nLwkuST8jU2fVdQRdDKZGjnl5iUNntU0zJgbBifU5dTRWbYPF8vIzWPyx1E5y\nZnPW3QgKSjzOOUparICkHc3uyVReGqdXx1f7VpGwRvtQX1UcBO1TUJ/p7yHz\nYCS7peSGi49bIuyCjNZ28aeh5QNtWxcI8Tk6NzOAJ8Y9g6kSGd4hDJjYsXRb\nkl49lkfSFRtx5ED/v11eXaSiYJZi2ZU/l7/dUrHqtq+5kk20lOaHlhQx6+XT\nVUx7qkh9YzYRfpyCJL+Ux6zboPWdDR795G+KrAjRT2CR4l7hOsi609Pl+g/e\nmKc9g7Qkmzhue9jiQdJoSMhWXDNpnPtYmMyxzQwDEBODACL/rKF+TCExWCHg\nUKXHvaI+5TIm+omR56zurd7hlh7viLaEXTqp2/piTg2JD5XMTiegM8kef6TX\nWApSlw+vLWyLOlcAL5GXD7NNayZFFQmFMd3L5DD6Cr7TFNKC+MdSBD3isOTV\nwNS8\r\n=+Qg2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fb208c22fe558f863d851b5bda74038d5a3b09d6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.33e6f50e9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.33e6f50e9.0_1624407065830_0.8839933878394206","host":"s3://npm-registry-packages"}},"12.0.0-canary.8c685301d.0":{"name":"@material/dom","version":"12.0.0-canary.8c685301d.0","license":"MIT","_id":"@material/dom@12.0.0-canary.8c685301d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a59301673c55f776bc48520a2f282895b1953e98","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.8c685301d.0.tgz","fileCount":29,"integrity":"sha512-6oSF7l8xYbsIJ7T+KriyJpwKe163nePnwDrtY7eP2jDhP5cW010TQfavRKRW+mhDLwwJb1F1M4+Q0iD6Xn/H/w==","signatures":[{"sig":"MEUCIGeSKaJ+EcG1qs4XY6RvdcwdeYkWA4CQPcu15Vw3PFECAiEA2IzV9QPRnP6omDZX967lmwHH+fwGyDrx+fcUc3yc8t8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg03wwCRA9TVsSAnZWagAABa8P/iYWHNepR9X4FmE8ktdh\ntqKUF4USa/NHdgtK43zfI94liC6oQEu35NmLkm9YpQM4amoHkWKXrT/wkblB\nof6cAE8U+9PnfEiD/XmWMWkOBPJv/EhsC3lOscgqS4R1CjwrF74x76QoEj6r\ngUTjlf1YZgtWxN16caiWPwg0RNymmGsrCtO3SgZMdKaf1wBwITEidR45o5oG\nXcNgyBqv0w3ciWzFzyotbElzSkPQwbNOwvGT+bM+Xj56SaD3I82jG03AnRlu\nwseGgokpaYu7ucWFYHDMOxmWdTNIimSKbO7VK3tr8i0ltAWadKnoEFzkPX16\ny4DoNDs5th5MJ5qMQW1VXg9bjkRIja+FVpl+f7Zi0RBhFXOLmlSQqhovcUTS\nJgjjNY2O31jrU6UgLUx3RK5QDUZ/vpMUtugheOfZ2o0sAv1ggsimkuHpoR4B\nZR2Z3sya2ZEbGVznwDBgSOFn8PWaCGpnqKXmkgi7RQAnAir9Wkd9wGCIGgD/\nbZhtYg2FJxx3Ln2bEX6cHkE9RryHlgXwZcx86IUkf15LiU031UO27Mi+V67f\n2jNv0GIGeWTfI5NVSlMX+sPqEiVOutBZvGJAU18OlPk57t+XD44+NYcdsHSO\niHcBwejqEp9eSHxUk8Tl8dmiqmbXeOKpE6nvRz793UF8vuzn/yjzIHY4iDx+\nojle\r\n=bGPz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"43d0ab810254e565375b55ae118522d89b7e9254","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.8c685301d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.8c685301d.0_1624472623775_0.9684514637811643","host":"s3://npm-registry-packages"}},"12.0.0-canary.8c7d994ae.0":{"name":"@material/dom","version":"12.0.0-canary.8c7d994ae.0","license":"MIT","_id":"@material/dom@12.0.0-canary.8c7d994ae.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"16db4f45eda8bbfe5e19a0c20af507b69cf309df","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.8c7d994ae.0.tgz","fileCount":29,"integrity":"sha512-RXqGN6TI5Kvy7LpUP2Pu2hQlGCLg5mwxAQ9v96pte8ORsXPK16pjOj6BskCR+FmCmWU9nOLD25FJINSwCAJDDg==","signatures":[{"sig":"MEUCIQCcJXWKYOoekhyPcqv9Qjbs+zanfSwNL2dTozA/zK/kTQIgQghetjNLawf/obiOlDm9HYXhBPq17ira0ISHxP0vPTA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg04rsCRA9TVsSAnZWagAAfCoP/1k61OO3cCCYzRftOOXU\nY+2ubuAd2GJxCj8X+lruIClY6HUmpEqRm5pkU+gHXkLE6wNlZA0WLDDIvOHM\nc6WyAo8bv2HVvWVGD8/0v0KYmMQ0iZzisPnIWBNtzXcFae/sf1VnakGyvs0Z\nC2NPC4nOzhDHBX5Wn89+gXSIaEHGivN02QXVQsgQrWdFK4CPXSj8RqXtYNiB\npaQ8QMLN0HizRwe+Ov3KGCofxLhWrJFOxFRAQGtUctqyK0dCRx+Y+sHVcM4y\nAtLbzpSAhmvz1mRw5cmUkktBjKvi0lDew04mLbD4BFNu2TenvmFk17mYxepx\nPA7Qb24m38hjKOYInxMXU429H4fkKhMQD6z0tbKzWJcTBEMe4h08NZZgGY8n\nli6y6Wg5DHnM7H4pdpwhvMLVAVep0W9WuoiOq/K9V9QxqzAjVAWfhBn9f8SS\nvNaXEe6p1uBbiEH7heGfkD0I7BC4q/YXAsKb+jxGulT9yx9GfjMCxaMDRX1d\nx2ucrX+vG7R3gYxCLItMt/2zztjtTMOC4n0QY2bZiXEjbT+J2S5+zxHwsrhR\nE5SzWqXNp+gAU6KtJGDSG2dWHbqOpHUeCQ3GI7Ix1Uj9Oh8jjJ62kxcccE/W\npQ6M4ayG437+/k6+3cN4dvD+M7uI64kEftSykiHvB0vDHD9O125YTQSF+FQE\nbYcP\r\n=HM8i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"85693f86d68563f451e95113f3d03a29fedcf142","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.8c7d994ae.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.8c7d994ae.0_1624476395693_0.9645268216966636","host":"s3://npm-registry-packages"}},"12.0.0-canary.4ccd39bdd.0":{"name":"@material/dom","version":"12.0.0-canary.4ccd39bdd.0","license":"MIT","_id":"@material/dom@12.0.0-canary.4ccd39bdd.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"69bfb8e39ed7e894377429190a23cb27b3bd7b07","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.4ccd39bdd.0.tgz","fileCount":29,"integrity":"sha512-sXv5bFypLpyzqluPcn/8N8L6PsTZyQRbeAgv/QxYiXgPxqPegs+vQ7vZ+sI9ctG1l28ktMdK3XSK51aPlY1kMw==","signatures":[{"sig":"MEQCIFVmREP3Mz6KygZljnvyfG6MmqoYWJROni6CXJ+WQQZAAiAaHubf6DwOPyKxLZEuiibS9H7NWlO/+gwOPA1P+wsBxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1K9GCRA9TVsSAnZWagAAElcP/i/uv9mlpQBs8RgclGuC\n+vyo6LuOK75EAyU0XH/2tALMaChGiTLG3/JS/UQbxx9gV6oQLjcO/z9d3Gms\nmQ3dim876kHUuM1u48DOwvPjF9Z32g3bGd5Jpk0BRCdOhF05QPAwSr7PZN16\ndKLgCbzTnXSTgf3FmBX6ffgCZknVNz0i6Dj6bKUosNshsAxhKnc3lwih8IDc\nm5ivMYjgisIyV/wZpTcwoGIpNPZ8LWvBkJOhlXei5ij+KP7R/vZqVKgG5S4/\nHm1rLwWumnGvTYW2luf8JImNsqRC/oiOTUubbsYI12hApq3So7VdSxWiGHXb\nQOMUvVb/jGjwLed6h8fNBUTqdkLdBYtYKloepLfQtyjxbn1lYAyZQ8zGIbgy\nRyak6HRr6li6pjZPEkzqKPZKfX4cVlMDyX7TI8PEhIJF/jL5cL1mqZTRJMyz\nsJ5rJunRmj/LTngovbrhX0636i381v+qfCB2jtBLE9dNCnZiZnYnx8IOrcIN\nZFXb578L53+/tJ/PxQcWDDnuXfh+9M7AuuzYc/KzE/gOViL/RxaRRXtBct+0\nCk9mzNiUyHE/nQz1NnSL/jk7btVlAMVPfDJNg1NBGEr5NskiDfOcWFxWTrnn\nunxzs8NqZH9V1UGfs666aP76i6DDANKWH6f5xSgPdmXOreKH9IPvpEvRL+V2\nx0/g\r\n=K1NS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0954a36f2cbd31614158e8425662a4969ce9c299","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.4ccd39bdd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.4ccd39bdd.0_1624551238373_0.8498728304860825","host":"s3://npm-registry-packages"}},"12.0.0-canary.17553e9f8.0":{"name":"@material/dom","version":"12.0.0-canary.17553e9f8.0","license":"MIT","_id":"@material/dom@12.0.0-canary.17553e9f8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e97854214c9142b9fb28577f776a415aaddf1a3a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.17553e9f8.0.tgz","fileCount":29,"integrity":"sha512-/waKQj8c0lC177Ocbj66VxO7WlcJccVUDKXMdiQxObbcYr1Cj/dxc1IYyMVZHAmHl8Xwu8nbZf/sCOvVNd7qFA==","signatures":[{"sig":"MEQCIDXI1fxV3m5FcosN1/raVrW99ye/IOhshmycMtkcTpfuAiA1nZJvheptOmPrwVl+CzbCN0bN6pKk3Fuhm4NMA6HVGw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2lJ4CRA9TVsSAnZWagAAr/sP/2nNpSNUkCYAYLwjI3fI\nhFRjGLdS7wwe3vlqQ/xUGLNGaIfgfvYMWWgbyW2wybxXPSmIxLgGbA1K16fS\nAaMMe3c50bL7LHZxrHJ7DuR/1kpm0LFO1F8TOQ39NDZqEFlPU99auEv1K0OL\nWgJ07waaGSEgcrd/8ZZ6awBdO1adcwBSRx/m1uGRUnOJFgB3E/iRozE/4ZsG\nZ9leNiurWCbz3f69aKOVjqevhnMfQFeHtdlapVDpjNQsLrvdrfktnLEk1mkh\n9QzCKeW+YIrdUSHu+iiHM6mkLM83s9DUcNqYWSxY/2Al7qcJVPkphdQDjsI/\nmTmCDUPKQ4K2igV+0OfVaqthy8jjBGiSAyOwm2HnxKYXAWlcItb3egG6FMYd\nEo93WH3qnuZr4MeHoQDYzpNnHznx3ANaF58u2oNftRlTuGKnCo1aEPfQjF3i\n9EAhYAmj59twUzILIj5J6mWDOmi2IWIjHw9kyC4imuFgVEJHz8omuNkmuqPC\nG8T0FCJpswq1h8o74ATKFfr+nQ29n4qALqB1H6VAkLh4t6QQPD/Mj423vBPd\nxdgbGywKtHAjHXN9Tj7mZgVRQfCPzcpLY4CSEhWV4Zuoq3wMr9JF/07PbWvq\nqkidyJWCmh+QQNxSpW+S7Mii3lBx9HgMIaZKPuCsFb26jSIqdW7ugxlhNrJz\nNBbO\r\n=P0SD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bbd7dc5fbee09c82081517ffc14264d4834209ba","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.17553e9f8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.17553e9f8.0_1624920696260_0.57688024295936","host":"s3://npm-registry-packages"}},"12.0.0-canary.4c80072fd.0":{"name":"@material/dom","version":"12.0.0-canary.4c80072fd.0","license":"MIT","_id":"@material/dom@12.0.0-canary.4c80072fd.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9c0e08097c432988b1e65a49f9c447cae2d128ba","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.4c80072fd.0.tgz","fileCount":29,"integrity":"sha512-nLffJJz8A2YQP4XfPFjQtNAHN17r46hi4UxbxDnU0f/idbHSuutJX477f0nYClqj3XmdxPVeyR272i0naSQyHw==","signatures":[{"sig":"MEUCIQD6siCTPyX/+BYKzWd/1RAFXRFzbd9SfTHtYj5LkUcFywIgIAWuxTwdvLN86zYbWevRwdrXDMzqp/i/malxZsRKUm4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg22kCCRA9TVsSAnZWagAAeygP/jn2RJwIv6aXCYu2gLyI\nuSbv0sJ8VsQIZgJL/5/UxGVX0kqSzgArUPHVLF416NNxPczNvrU/q2/jHZqD\nJffmRJa9+DgxuyLFI/SdbwR+cc7RLrJEcM51fyPUEgtCErJ7U8BFaZ7LFEth\ncTEFwHK6kTwS2PvgNpYt/EwYS717UAtaNf110CCN8E4Xf7d0rDgnqORkvfHU\nVW1BljoE5FN5OWnoJm72S8hfHwWbtvGWo94dE4ECxrwfdx044W6Js2Wq+uHH\naAWYCjiLwpl+zx9tEOt6vteMIh2ClG4jCVDE4KDoaO/AC2e0qPl/dOrJhUDw\nCT74pbu8+yhgovYxnBmAvENi4qwEYxFYEuElGsvbmknDA9MwrtpsYDkFXEte\nfH19s0zfmfqKeqHpbIKpmi0j6jOKiJa6NdTu30lbpqW1O6Niy1jVN58epNPt\nRZhqfIUe8u6bqDeIs+832OFExZBMpUF6Qjs0Rs+7Ql/3stvLwzEJcjtGFImO\nfUIfNonQYyXqNFJ+9veIk6lQzrUBgHl29fFuLlrygFu0zqYCgaiKZ3UEiK3/\ncFQPMsvBH0y56Pd86Nbw7/dC0tYiWTY/0MGvG2ecRLCVYQfsiAThswXcogv+\nIeE+5D3llYrknzmoxl4fLrOxnfvauXlonidHOGvq5JmWD+npBwGY9iCZTWQt\n3OJp\r\n=IN+6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9f6d10da43c6e0fbb1366c1e37fbca58ce00dc12","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.4c80072fd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.4c80072fd.0_1624992001774_0.14323949389587476","host":"s3://npm-registry-packages"}},"12.0.0-canary.796811db7.0":{"name":"@material/dom","version":"12.0.0-canary.796811db7.0","license":"MIT","_id":"@material/dom@12.0.0-canary.796811db7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"365112e349ac4948541c7b85cd367d7038da0103","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.796811db7.0.tgz","fileCount":29,"integrity":"sha512-FPQYLJBEFWzer5ZScmVzSal8FIaxkNlZ5sWKdItjlWHrFrNCKJy3FGxqaB24y9n/P/RjgOcRh4ZfY9IW6PMNaA==","signatures":[{"sig":"MEUCIQCGkfFnDoOAq0w7yNo+NFMDMvSxB00Lsb/yFTYcO1vr4AIgPOly0v3xvvQkaJ9hHFwtm9OUPUFuQNxkG5UL4gyUGms=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3QYaCRA9TVsSAnZWagAATRAP/jogam7HJLuppzawSUEV\nDCPY7mhR2ygDS7ItZYLfM4WxmdqdTEdZE6cZvn0GskH+DQsPaqX0Apn6TJQP\nRJvtjJuU9YYwQwxHJY7RNoL/HMj6Pi9X3kRTpoPmtf43Q8Fo6TS9RU0oJcCR\n2hi7w5BvgPhUTPwylZPPcinFpsNHUOUkfo8Q7SqvtKH84u7AnfE2B3pl/BX+\ncsOBb0nc00bYE6ZJ6mqhz1KDheCtTMA2x5N779H07LPzlUSheZZxmxt6rsex\nQF6xypJdiltRkZMJvnRx8LoPpM9OBO6HkbQyZ5RkZV0pKCpwMtWErx5TlFIH\nWCeBAXnOrCAcYQoVZHPCppGnYV5p2ajqij+rO7P4oEDy58/zaMo4cY02kfTH\n9zdiEVB2pXDlLDMQ1oFUvn+CyKoIW6Sn3J9cezSSgtfJDceby9nJJ2PJPsew\nE0XKWzH19yYBp9tjh7tsDaCqeCfBPJFFr7OGpxb+NOGfxI/9MmRSYoKZ4SmB\nlOZY+pr9laGngCYNmxUOiUSV5hS5TbfQZNIu+cCLhSwGh6VAUNjvUjyQSmw6\n6OgJK199gVM3yaVyktcxRJlQVKRFuOXML7eA9QkIaBTLBAE6Ug0K+UxJcqUq\nWcg97gj5VmaNwjStAWeJHOxPvmkwCa2e5PAp3PapSPqf6D5IdB2BtbDB54cW\nAHC6\r\n=u0B2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b02de77dcf32bdce7d23406dd395390b35e386e0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.796811db7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.796811db7.0_1625097754533_0.6934434358302779","host":"s3://npm-registry-packages"}},"12.0.0-canary.70e1efdca.0":{"name":"@material/dom","version":"12.0.0-canary.70e1efdca.0","license":"MIT","_id":"@material/dom@12.0.0-canary.70e1efdca.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"515606a5b3af5efa360a04fbbaea4b02c23b2bdf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.70e1efdca.0.tgz","fileCount":29,"integrity":"sha512-qYqYshSyz7LWf0QQ7VMDr5IV9nlcmJVEJ/14Krl8gPcLetzte5ZQQ+6wAqvqcWiLYC1VmyyT2j0iCTK1dsnQvg==","signatures":[{"sig":"MEUCIQD965tT3IfQuC4iz8YvZk/c5zfZDbakQPElyIDkBfJE8wIgSXzOx5ATLD/aOVX8gReVJDzllpBPI756reWZfEC5+Tk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3fXeCRA9TVsSAnZWagAAcDsP/jPnzMqmuNEpnky1r8Cs\nkkHCHAakg+M7j8orcOeeckH/A8rnSE5FKi0E3FnLHJxlufa3/bw6Od7eajJP\n8YuxDPGKC6CrVE/xBhwdGgXOnsIUM2QJ6WL+unILZQSxOJgeI6VlGleGi/GO\nsTRSmVAOECR6l5xj/EHXT8mPjdcUQQREirjYzd1sGMpm1p93VIUKbNLLGRfy\nDqfVtKsQYTDqmG8uzzE/I565lKBB4xXS5MtjLCStHjFZ38ZicRhHe2Vjlmzu\nzJah/wUgaN01fsQ72W9aAlhpR5U51g/2Xgj+OO/fM9Wg2ZNrYW/NDX98ZhfE\nCgHZUvFC3uvI5E3zlGR6/ywLKnRO+eZvHlQdScoLj0L+0h5Oth3SjqVgbhlk\nuefCKbVCHoo35n4tiB1oxTrAoIGnQvnyg9HjUSgVK+9kDmVpk3+JGV36RL+c\npIhqOWoaVPhVNo10MpJB7D+wcV/wJkNImEpC/KYTT9rbzqzQUhjVAeiY5JnY\nOUZB8pd+WVdTevO3N34gJbjq4pDwM3n4TaAHxWV/6DIg/KOKc82uDzpFHnAv\n0T9lvZVkIEQhLYeDAKLPHtH0uZ/TNYigR92gdck0GSV/CpU4euEEiRDqRqgw\n/ZuB3yrJFsbswPDA5EJ1MIcAWxLZQ7jZQsZC4bZc4M7ErRMUjPQCVRUIfvJz\nceVW\r\n=XD5N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ab5924ae38bb3ce40d3b1c303e1ae6d175b844ce","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.70e1efdca.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.70e1efdca.0_1625159134434_0.16156481599508177","host":"s3://npm-registry-packages"}},"12.0.0-canary.435866d32.0":{"name":"@material/dom","version":"12.0.0-canary.435866d32.0","license":"MIT","_id":"@material/dom@12.0.0-canary.435866d32.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f79f3f6fa7169c677f1d3dd390726b1080046845","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.435866d32.0.tgz","fileCount":29,"integrity":"sha512-mkgGNsQ49dB9wXH+U0M1YiwS47Xc2Rp8zhqJ1OKm2H2LzCTCS/OPAcOZdAA6kGk2I06hJaGwtJqLMnIeN7Es/w==","signatures":[{"sig":"MEYCIQDrA5Lk/KcC/3rZQTnV0JX5pP6hTVuFuaNrwd4hczJfYwIhAOOCrgaUyVG71RBeSxED94u8J4+K/JwactWq6QmxD2Y3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg31jnCRA9TVsSAnZWagAA8hUP/2mNECUW9DwLrBUF8R19\n6iSp2owWSmXxiXfOzhgTNXU/jA73ucXjymnsRj2GxkaYoVSUpv2csKESVWSN\nH9krioZgqrT7/J5wlMWe4rCak6RlTXhKjdN4761zmwJnSVxXcUIzkzoHR9Tp\n8z6LMe6cLZ2D6jx86UfKCp4rIWAO/YIDtyRNP8dN5BUlPzrvmG4CNFvEqcfL\n1tczs29hf4MzTBCxJi2YAMcj8iadB2y5bWmirNHYAJmJ/mK9fOHGinLCwZ6b\nnj9y95a993Fvp3cEAvjGIAd9ImXEuoOIUb1zLFkihPN1CBUdHQ7Ih5yxo2OO\nB9k6khDVBtT1YQtcx0O8O7HuJHNRJq4yLYh5EK14vSDUPWPGxodNqr9kXDXd\n0Ny0IZUWiMqC/1sO/k7ObSeUom8aBlfKxulacDm1IL0sAVD/CgUN+GzvR5Ua\nbnb/2bsrcC0Fswa/aJiUMv3sRCTJISfBSfm3wFtQ4nf/LkFKuB8u62GFMIvc\nHo2GKQ7Pwj4ingeqlyXrj6DOpn0x3dqD9uFr/rIBv4GU0GrukWvLJfMD69x0\n7O7m4v5rijU89X8M6o8PRSvIosGcW+JLHxzb7/JfoCOuxjWfsXsvlSsIrPYI\nnIPCV2Q40Qpy7b0LCsoHGzwchCWDSgat3gF42sSyCW1Z6tDdWD0GWRmT0Bz8\nTP4M\r\n=Koqy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ecf68c368bd1ea5571aa4da569d6fe6c4b8b8caf","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.435866d32.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.435866d32.0_1625250023493_0.16739133934046513","host":"s3://npm-registry-packages"}},"12.0.0-canary.d0f9f3f2e.0":{"name":"@material/dom","version":"12.0.0-canary.d0f9f3f2e.0","license":"MIT","_id":"@material/dom@12.0.0-canary.d0f9f3f2e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"08a8411e424e2852dafd0bd824017b49cc9828b3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.d0f9f3f2e.0.tgz","fileCount":29,"integrity":"sha512-5orrd31xlNowHklGlXDGaK4WYm+9uoJGdZtoEIEw5UF7e07yT6u9Pw5wNE7LdsaWw6Pb59TJJ22DvocLcat2rA==","signatures":[{"sig":"MEUCIQC8REECltXbng4qli1BaLs+p9p5SZZ1H382cVwV9Z35XgIgZlSz8pwVdZ294X6cPZGReTHwYnqB4i4UnelzuyGmpXM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg36hPCRA9TVsSAnZWagAATHUP/2zd9ihNd6U7ZgsGdhVM\n5szvLbnXaTSq6a+JKb2VCoHXCuamPno47GWEVHy5NzM9fCk9Ztr4k6noqdIP\nLpcCyQKESgeI24t9OemX/f8rW3bZgr3HpUbkL4oyuAJ21lgMUS5T9QjTcYdR\n8CUmYyLIIcOV6H9pRZyuLZ2um3GMkGO6k0uQp4nHlQ7POyiw/KtSy1+2ADIt\nUrTY6uETryZPLVH9MZvxwzoligqCM/M7qPg2dhzJ10W1U7m/sOUjFQ+uszzg\nesWDG8nr/PFO7WbZw9V37PHrU2pA6159YdhUrvSEF0taN9os+OVeu6K4CJqG\neDp/7seVvvO6BcuR0vecYyGM7VvbaYRQm0MdnKVjEf09gv5N9OElvc6B4aEi\nYdewHe4p4Hjvd2Zv/a/4NCzsWFzErSnuyvYQ3pDlp3G9PTEWgfpkZ9ryBr+V\npRAAQgUfyBm1+teN3mOEiiPRKPg2ZgCcUECBnuftQWDL7GWnHli33xH+Vax8\nsROGeWgCYY/9wY3xgbH9DzK3Sn89exEVYKe3Tp5jM4W5Q2Fh2yzNtPxvWyEw\nZLehYG5P2EX3m1rebrCzEvoWwKlAc1O9CaTrpGCUwNQm5K7idvl0zTFHFMJn\nTzvcsl/Nu2YESsaLq/X2AdkY0man+dlwqwGtzpt4Ns9n0nIytEiPYGaG9+I/\niduC\r\n=cVfq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ed31c78c6a84cb24353ffd1d406693496f090e29","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.d0f9f3f2e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.d0f9f3f2e.0_1625270350756_0.7819116585296899","host":"s3://npm-registry-packages"}},"12.0.0-canary.adeac0549.0":{"name":"@material/dom","version":"12.0.0-canary.adeac0549.0","license":"MIT","_id":"@material/dom@12.0.0-canary.adeac0549.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e958445b652dc7b94abcaad957f81da6c40e5042","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.adeac0549.0.tgz","fileCount":29,"integrity":"sha512-SX8f3ImQZwwa2Ub4Fw0Up/hZI+AT1FoVatvMlpFuPvohMudtg5jCQRSF2Onjhs25/oFvi2nxbmsJ16PpO2ooHA==","signatures":[{"sig":"MEQCIAnrgVkwWhOSvtze5wtlQdsISesgZeJyyeN5zGdd9G6PAiB2L5fyn/qDJOmT4U9hq4IilWAQPZmB2TRqygkIjPsQyA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5xTkCRA9TVsSAnZWagAAQpQQAJM4uM/o0m4cy1sGycfr\nqyyQ31X7W0edS/oKRX3DZQUAygfEC4U7mUh96NDydTr+5X9F1vWN8XRMMZMW\nardGVQh4F3zdnU4yuSovnMCXgfJRddOFhz0P6WLIQefhgd1Bx523nh/S9EQ5\np6rt8H0/5R7i10kf0faSw3RetDINnowFZUIhi0hqzTaGEmzqn91OKOieFcyC\nM/rilTn7e7YAx7vrHVxKntFeO6nW8Po005EfEm6Ar+gyKQLw9npUfu23Kez5\nLNXy3V5SxkOSLymTsXp16a7selvflBNKaUJPDDsiTs1NzRHRhNcvjoLXbMjq\n2O2vLFLIR966nLUI14+7MCUYlqXpmcoF5MO7QZ17abXSwgM8Gil67eDOVc2i\nJvvyJHmg7YQGmtSmy9JgMPc37KZ54nuIwnLrslVw5Iu6Zyq80HmOTmhFDMQP\nd29jX3XZBh9UviD9lsoO1xYaiwx1qL73YveNZ/eFBGxfjjQhB/Es3AUHRPH3\ntEZwdmZEs0XJwljtrCpelcLbH2ze818myda7cJbqxj59Spb+bhy7CUDqvsUl\nJ1lbzkdnZOhdwU9V8sIdOiLHRCJReogwI50Pa9uBBGDJu1U/i2KUsuGxMuG8\nUL7Ixen5A+FVM1jmlcN3OXmkD/d7LndG8bpn3Kz4nTdleW4a4Mw21vVVguRc\nVwFX\r\n=gb3d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a189bfd7e13b17660ad97870e074af0ee245e36d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.adeac0549.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.adeac0549.0_1625756900336_0.3424202303175454","host":"s3://npm-registry-packages"}},"12.0.0-canary.068fd5028.0":{"name":"@material/dom","version":"12.0.0-canary.068fd5028.0","license":"MIT","_id":"@material/dom@12.0.0-canary.068fd5028.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"14434c785fcd5df5f623ad0a44a351d98a4750cc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.068fd5028.0.tgz","fileCount":29,"integrity":"sha512-a6HezkFgp0Vtdv0GYipKxO5IDR+Y2DsPwKZyxPtniSHgCge1h9/8JOoKejkxpmFic1iVq9GzBB3d4CzPB2TnaA==","signatures":[{"sig":"MEYCIQCdUtHHIb8J2+l1DhBslp4yrjNvDQo69sYeUjLg9/78VAIhAJywZVpfoU/BVYfTRApL5fBxgE/6PbREuq7qeEA4wN8U","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg50vTCRA9TVsSAnZWagAA9IEP/2yaaMAeCUwfSD7GYah9\nyaLL4MwgswaPILK59hUGcawwks+w0FylNUJZuc82m7WP7ARPsOi3c/Uoww24\nEuEH8RqPq2SM0zVqtl189DNUedNCjZZzR/IUufh0hKKLKdXGWJYmhIu+OEqv\nfgOXX5VcA6CgRzIClpthOwznAldyLzddbyf/Sl35BqbOmzNIpcphB53qKaAD\nxKIX/zsuCTD7CgL2N1ZyIu30Z62z/SeJSGnQPR74OSZWinhfHTajLQYuP3EI\nMpKG3p/hQd46AMAfeGTTE/VC9jNYjm2AHV+oMqEUmyglHB13gXbtulmqPlWz\nateJaaFY6wK7cxFLcz7yZD3ZdbU9scAgSJgXWlFNOMwa4YR6T59QV4zqKorG\nKuA2UkplSvxrWNGO2zdgwX3LEhScaAecQmq4TJzoOV7rAx0jhwXYF7g33JIK\nSvDn4IIlcGpXwROMP7Cq4UFf+kAcJqjcNrSQRwl2sXjN8FZMsIuP3QxyL7ap\nkoHshN3/AqmlM9lZ0aTmqEVUbIQH9dhOAbmOR3VBCvC/W/+ICrFJM+8SazEk\nQG3sWJSu2tQPAOK/Ozmg0T2Ht8rdYwprQUiU+fk9mwQZIRWgTyVEc4QqGtEc\nl4JzHEI/C9PGJ7sVe3+GOZWvh4Sbsf7e8xwYqHx0Y2F/WShY8y2cKIeXKEZD\nlWGK\r\n=M/oE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"daf6a798ec3c54ddba492f33c939c41a8d88655f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.068fd5028.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.068fd5028.0_1625770963496_0.6892234994180755","host":"s3://npm-registry-packages"}},"12.0.0-canary.5dfec7a14.0":{"name":"@material/dom","version":"12.0.0-canary.5dfec7a14.0","license":"MIT","_id":"@material/dom@12.0.0-canary.5dfec7a14.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a389711f0cb35db0126597e69936516e85e96140","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.5dfec7a14.0.tgz","fileCount":29,"integrity":"sha512-w1ktidUyBxkP6iw9ZpwwyyN+PGx1TvLAqbQf1B3GSwFC2Vnfeq6Sd3OeFn5ZS6hlX3eq9o/v9BaBN5HoSpVkBA==","signatures":[{"sig":"MEQCIG93oQjoarrV1w1xdX8VjThuvrA2TTY5wzcQHOWGu7/JAiAtr6LF64/yu2epOLONgETHqB3dIyWRtT3mzjWgE5drjg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7KALCRA9TVsSAnZWagAAFq0QAKSFzaApOrJg+TrxodkN\nH4V5SXFny/5EOJV4OqS5cKYQ5etegOu7qb1q6mv71xSB5r4rOzDYZ+aLbkHy\nlGpu/rkdEUuAlCwDuxYGKc5ovlHLtKkgCbis7oWEwmGwyS//4q+wI2251EZP\n8yKs4kbMwBdXdklz37WWtlLq09eEti/cdZMMLh5ZavAzN82j9LAuTnTQgCXf\nTBXWf0X+50HAC8GyXaFCQslmzYCoHtZY8Y261il08k8Fh4Dd0p4a2IudRYEw\n8Ne6jPHuFAzdwyc3DwPfXIqHmom5NCtS96d8Iv4tPYyVRhjJDf9sLIX3XwkB\n4FTtYoj89ftlUTkF2ZKg99VzqqVh45vKLswWGVLSjxn62iap4qcKjDzntg+y\na2Tg1OJHL3rdrKMlou5y8/rcXcROqNnZqhsDP2aPshom54mA6FZdAWmkRuRa\nn4CklZcXAFc/FFtYWYarCXOMbJZBOyM7dPmsqWpEVsN7KLwR7maY0InWqph1\n63alSw53vOHf0jkI3JJiaVXgeOyEp4CbIVXmcjqParaD34PMSoLjOx+t5qn5\nzg3gHA93Y/1+S3mIoTESQRwInt361Ch8GV5unwKWiYI3m802kAQl1P49t2C0\nGRV2YO9yf0Yvyh25ZT3g12gENR6AX1rV+n+5DgXiJ5e6Iy89A+A5+/Tqvq9X\nPuen\r\n=VLhl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7295656b25be2c03cf7ca7ca800e7dbec4d9b531","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.5dfec7a14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.5dfec7a14.0_1626120202912_0.24251253787842697","host":"s3://npm-registry-packages"}},"12.0.0-canary.07a73750c.0":{"name":"@material/dom","version":"12.0.0-canary.07a73750c.0","license":"MIT","_id":"@material/dom@12.0.0-canary.07a73750c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3a039188147e67078cf26338b5c943d1383acb74","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.07a73750c.0.tgz","fileCount":29,"integrity":"sha512-szkxCARKOU1fQuxNdl/qK+YXPBLSHHdsqp3rCE8GitpkWGEpSmzAcXp0/WwsIykwtjwGeztsH9yOPwThZRLuRA==","signatures":[{"sig":"MEYCIQCqJ9sQf0yjWs5vvjaZu9j01o5PImAu1vN3SwvmEqv3UAIhANy7bdkQz/yxeZr3B4Dezrcf9NZ1LRlTsFNgHEASYvRT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7KUECRA9TVsSAnZWagAAgWYP/iyIFFaGn5waxDppLEXs\nPeBsXySKSdpT/97NbXqAGG+7C/PInFzBv7iog/9Bft6U8MBU4lw7B3x85pLp\nDg0x9lChshW2Ij4CBCbYxXdwRzB8QwEZJtXhz1Iw4IOgCC6a1O082ua3+DjP\nTuyY/PAqQSns5HYbB4mP+OhDK3xCLNmakySDuQ5OFejg9TnTzohGazz7yt6W\nbsGbMDE13NFesppbm4Rz044ns6xE4qeblQByl1SEkydbHoBRNwSaf59Ptov6\n8Rt19hqQSkYW1Vdxwnp9r6Ny3sE44Tcn7dBXGKkOwnNsYMjpM3SyknNeoiXX\nKImxLEFAiONwPF1bxU3GP+YwCeEz6WW1qyBW/q+shUt8nlPkkc0GXV1sGnzC\nhOp06svhjjmGCNxSmV9WNrC2fM2LBSAo3LiN98W5laJJehC2+zlWN8YXaNRF\nmLWz2AvrJqX+v6ud+v2vb6GHS014O6cc3St6+dvzTE0FEU84mDe6hS1/0kgM\n7db3UWK8XY6Y1R8SJ3takW6Ew+Tr1s2eJ/B8z6yEiTaOyr1g90cfiGl3Kv3P\nK7xEAPJWgMmRoeBDfmULAUS8O0tdh5Eo21bEALbcHleGYLNw9jP7K3xWDB/e\nbGgSnDDcA7Qw/LZiGYUu07hTDP8INwvKfcjB6r1so77T48LmVe20tAieKcGq\n9Ncx\r\n=MRob\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3534c8199752b92a52696d2065e73b8e4a997195","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.07a73750c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.07a73750c.0_1626121475987_0.11164187833663619","host":"s3://npm-registry-packages"}},"12.0.0-canary.3e4c6dca1.0":{"name":"@material/dom","version":"12.0.0-canary.3e4c6dca1.0","license":"MIT","_id":"@material/dom@12.0.0-canary.3e4c6dca1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"94040d749a855b433fde826abea8d7a7d9e42882","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.3e4c6dca1.0.tgz","fileCount":29,"integrity":"sha512-cD7YOabB85zhj2UndlUOhOHMKDGaGeQNzyZsXisCoPqXU2LbhSqiZw3wTa+7kJbDpBhijnte6too/2B/7bfxpA==","signatures":[{"sig":"MEQCIHrylY+mkEEGoBF8/B6Md9qwcHisZIl4eYCAPnb2dtI3AiA6WuRRV8tWNZegJwhjsoSk5kvETZHGv4N7FuYAST/c+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7PFaCRA9TVsSAnZWagAAvb8P/REmRoQ2hX/x48ZPIp81\nOcByWcsVG76pZUWakZl593DpRuqFEPxUjN8qcS6WYSeNCxps6zswSMty2zlh\nB6IzW8sqCrJAV/xQeZibQ62qMHqlp7WDYNytxGPGjj7f0u1/hAV95AY9vPeJ\n3ctXDGdxSeY3kn30aNCLayUE09SNYYsgDIwvxt003F2b077eSrNaoOD89Vgc\n0bO8Na5AsZRZCbDbDQLlAe3hlP1R9rK1+RhbsMRXfpNglCgUF7ChbRAhG8aD\nQNIKaHEqBsk7U899G6t1l3B//DLZjrsajiGITHl8oJ95Sx5h6j/19zqF4h2r\nU+MR6qcOEu4W0Lke4PL71D77KYj5nDh7rS3l/+oX6Ozy+sigeLgNhng4d2iy\nKjpA3iymfgTo9uvpXvm7NmvcwhNoNi5stzw4so7WXrviitzOF9TpJJhIv0W/\nu5hJIbmGYmaUcTcs7R0FT0eewxnO5LpBm3fKYzLAwXNejla8WUgPa4Hof6D6\nYIyruKJj2NOz5hNCW9nf43JnlmioaS/YdcFKi8fIIlX8+l0RfZtQN9sW/iCY\nfstaFDWsHOt3Gx46wxlSW0QLP9QrWBg+GCxQMOSuTB6BmgzfX+meHmkHr7m3\n2rYlCX9M/3dkFTl0FYOdVKf6AXi34Yf59JXYek5jpGo6koTjCdCrJB1VVM4X\n7Skl\r\n=9doo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1a6a8bc529062b0303c0df830b36d3110a389f4d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.3e4c6dca1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.3e4c6dca1.0_1626141018371_0.15156549883785297","host":"s3://npm-registry-packages"}},"12.0.0-canary.ea77795b1.0":{"name":"@material/dom","version":"12.0.0-canary.ea77795b1.0","license":"MIT","_id":"@material/dom@12.0.0-canary.ea77795b1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"deb87ac668d2276b1921679369e19b8eda3e165e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.ea77795b1.0.tgz","fileCount":29,"integrity":"sha512-Gn+Mw9t0Awo5DMYkrl+IAlYZ7GeN8himf1OqhsSEb+k4DGftTI/YepuuiP0g6uN6Tnnwnr//wxnFlcLMPOLglQ==","signatures":[{"sig":"MEUCIBz23v8jYv3phmHAS203xvkdXUFhSv5fZAjzGBirQzhPAiEAsmqMGo8SqzDGa5M/mpnQjkYfd3dvCv4Aziz3z1aLYOs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7bXDCRA9TVsSAnZWagAAbI0P/RWJXtcpsFpAsZdaAQkL\njmFWuvxA5EBqp+SFRjN6I6HZPhNgLDA+F7M5awIycEW3mVKkwCT1JFIauWnU\nl3WhgQBA0k3eJQOb4p73UPScI8ZM/b8kMqyPEVhZww8lAcAzm8b4WsVKSKtG\nflFRfNpYfEHbX8zgyuFfGEHlzfejqdr1IDWmb67HqoFRMDMDaWtQsn7euMTn\n9n95jyxSXhf1cjIp3InKcH9wWGxwu+iQOzgy2xN6cCifjuQj5Eo//w0l6gD3\nMkMIBOyd2yvz7lBLEwgzgW6QUo0b38STDdlnQ8jzsz6NTt1jGgkiSRmydzxt\n4FZC/PZCRKS5+7NAH8w0GKpIkJEfs3ezwjkAaaepdnWTUuCXvQYh3vNTBlbq\nOmE/q7prEww5rFOtsP2SxWX6MJ6P3Qd1nDiuZfCtW+fVWkkcTMHtG+bVHWOf\nTz3rmUhxKG3SnK78K7GdP9VPdeFM3QAp00Vgrbrm7k1UTwu8w3G55ZnbcXuQ\nVzWUTL43cNTXi8cfosYsd5r7mZJxFgLbHZaJDs0GPKFv6Flsp1pPp1we+dLC\nSadBX49g15hlVeZ5Hr6YzRTEAJWVU+qR8YUUcaZK8IX0XVaW4OwctkKjjC2R\ne8ZNg+drTvVkpKBI3V3aLSVR1XNqCc2ZJfNXHtatO3jcvrNL0fmQZtp25SDZ\nkS6D\r\n=FgpM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"830444e6567decdb85bd9b22a92d5f85b103f107","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.ea77795b1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.ea77795b1.0_1626191299244_0.9026433385001458","host":"s3://npm-registry-packages"}},"12.0.0-canary.15a179fad.0":{"name":"@material/dom","version":"12.0.0-canary.15a179fad.0","license":"MIT","_id":"@material/dom@12.0.0-canary.15a179fad.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c70bd25ebae1fe98601eface3e4368c085928305","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.15a179fad.0.tgz","fileCount":29,"integrity":"sha512-fQRZOG/hVaHZSEyMemg3hy42XUKRRBD+HL5DWsooK/1DTyjCB4Pr9xE5RRg/i1U1wPRCoc5BBqhOmP/0ej31pQ==","signatures":[{"sig":"MEQCIBUTOYuzDl6nI/ONcAARXP9n01q2CU8bT71kbzqfHIcFAiAWpi0akAg+J/RktycXjcfYqIherpK0vIg4BkYZE9aZBg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7daWCRA9TVsSAnZWagAABdIP/jpDnUqMV/Vv/dXYl7FN\nv/eT0UVlZ68+ob6nad4fZa328XgAD6AVeH69cENy/F4GAAeGS+fv4TNdmQyp\nSJpkUeGqXf3/d9kwBl2HR5bW0M2CihDmyHzalYzQkBlCJsy8N4+Ain9tqu7p\nJzOG6xoWB+65YjJKtmmMN0glP4IRDqEMMZm4k3C9WBMUB4udGLw3jtgUGojz\nJq2TShUwOZ0KaL2OcSVqad3iD8dKff56Rq/9GbNiXc+IIEh2u/QfTS8w3jwx\nv+0NouOY6sQCYCFQcnj9Gs91rnpR+irDJjMsKOIsZp4jN/U5TXIMSkvX3xlE\niJxCRQ6d3EO25UsPyXKjk4/RQ+N2nq+r8imGh2EmK31ChGoDtfViVkDCk2AD\nQ1c8SCL+Ehqa1gEkqf8Jg+KhFovlLkzsONB68uHMd16GyLhOcMqDekg0Fhrh\nPxOSihO1zXqTsZHcDTdIAq8L/DyWbrFG30iDfiyLqBMDaqYkBsQOVuGDWWa8\n/BNh1FNFvJRsLU3bPVl0TNQTZoBG/nKXkx8mn5AsN4QHt7JWiRQvoa8wNCgx\n6Z9BqDPKMJXkH2R5xBRJI3OoTL/I3nnSSnxUW8W5V+U0vZqWlCpisEQ4Tt0S\ni1I21rJOE/K6DL5cAySrq3MFZYhl0dHNA2dc3rtu7HjMQVjF7QBT3vud0Q6c\nOGFo\r\n=0eFh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"eb659691c3a77be825ea082c434c0b24c53cd610","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.15a179fad.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.15a179fad.0_1626199702326_0.05020123202819571","host":"s3://npm-registry-packages"}},"12.0.0-canary.c73142a1b.0":{"name":"@material/dom","version":"12.0.0-canary.c73142a1b.0","license":"MIT","_id":"@material/dom@12.0.0-canary.c73142a1b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"aa78480140578004ccd4aaa8182bfa5eb7088282","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.c73142a1b.0.tgz","fileCount":29,"integrity":"sha512-cJ5CWCToN9s1N/WBxxurTBJurlPDjiQttMiocc4CZUQCx14GZm6YlpLE90yMhmrLwrdjdRUruwQ5ggJmSXZcYg==","signatures":[{"sig":"MEUCIQDwSFF/OzZVOTu7EN2wCVQLv8N3MJ6Y+nWvqtl0Ow/EhQIgbDHW/D+wf2TKMc98VIN1n8F74KCLKQxV/3qc6sEeJ90=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7d7LCRA9TVsSAnZWagAAg7MP/i11SKYKyphulE7pp/93\nrwGshCbsZz7eudq2Co4IiO4tvT5F0FujPDGPHQKNCS9xjgiMEYLaKczDdgcY\n7woYb6bQYMwFx3Ql6rJTge3ovitTihEYlvF3WOOF0vset56KFShrhrBeN4ZE\nlTA18uzejHDC+9l2eSCMeiT1mlfXLGhKeyxm1Gk6hGTf9QGB4Tqm+VSTKThJ\nxTiQWrbZKbBCy6Ox0chWaCNJTfzPLk6EcSJ7edzWxA99uBTFp8gnOQzYzBnX\nlWNvaNqXciSkTudeBzgw8JFyT81YXhotxplAdLykQVC8JncXbHOJ8JvwNoUk\nwMID0x1Z3B9YIyyl+c+8AVzaWik5sNCg1i8ax4ariCHqT+Dy9Su3E2VSnDPO\nRbN7gicyse3Lt2lQXQl5LyUioGMahipr26py1XvqGkfJ5lvnRnF6epQ/0NK9\nc3pIiMHJLx3qB6fi2oRPQl3cQYxR/5au6N+bUvRNgJQ3VsihZ5gTdwb8xF41\n1mZwzhkCqS+2CODxRvTKcoiToFYLJJR7lzz4oXSHSROW60KxPpvmnHBan5K+\nMySISqIk/Ls3lx47UYf2o9my9DBORE9HfA6fD+p8NwOX+n4J7cdHpOxPmnsn\nVItybpbTjGLKHBLFLvZ4Or68b/jVQ+BuZChtXL36EviKQLOtZzrrc8ZCki92\nOu35\r\n=LhxA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"037ccc3828bb7b7c6f3375754059c10c231a6b60","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.c73142a1b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.c73142a1b.0_1626201802575_0.39508601873723426","host":"s3://npm-registry-packages"}},"12.0.0-canary.d923db73a.0":{"name":"@material/dom","version":"12.0.0-canary.d923db73a.0","license":"MIT","_id":"@material/dom@12.0.0-canary.d923db73a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"370f368b5517660e5782c8aa980240421b94fccc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.d923db73a.0.tgz","fileCount":29,"integrity":"sha512-sQiPSSmDzCKFWLl6Z9jxHhqYjXbNI0DGdg6d0dysIh/W4U4TKuTqMfOayDlSEqoVzZAR8vIQuW0gDmmcw1qXwg==","signatures":[{"sig":"MEYCIQC/0HuZlQbFVZltIezPLXvsKC1QUSzVg3brpxaPs7UC6QIhALwcRPXPHC6tw8sN5hhnkjZJ5B6DsATHPS3eW5O3uuPz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7f0xCRA9TVsSAnZWagAAdzgP/RKC+CSg6DGCEwNS+XzG\nP5vThTdFCeXhQV9OeUt2OM0XTny7VsklziKTbF+jl77/pOHvG6fmPOYRUbnN\nbgY88xzWqPRoRpPQzrqfzm8WbE27QkBVkm6o+6i11cm4OZ4yTgvU2kWUTzMd\ncLPRvEz8jaKy0vGrc2aRgqyPLV70piK1iiJcHXjz6Ho+FNnX03tP94PInlbd\nAncOOnXWL+MuOCs1/H+cPsJg3wCqdrPekJGCUyioKRmfd/AMr6nwu5m/2Crp\nmvhERywRiOzSCcF5UUpQdvtiso64hNresnn+KIVfIamlAxCGFbn1sOaLSyRQ\ndMC3hU+KTCietECL9D83VwnVOY5XeHT9/X4sX4tEnC05TAyxVauN0TzA6FBb\n3kJuUd2VWbq537tRFOjZCbNXCvCt+ybLTZI/wccW4sMtp/9hhfhEyjIOLQw9\n4d2EW0XqhxHEcBemtKDCdxHbAwY+Kh+PhnRo3GvSo0IqLnIqUhZTPH4/7Z19\nTw8Wra8PedwgsN8b9+4qTCBSpQyNM1Q/5g2cqcNXa0w4KkXAOQRfHI8kT51t\nj7nWjyqK7ZrIsKwt+f/nnGk4+hMBR/CWtZ//N9xQ0gwiuAJ6pdHZONBIzbgr\nsq3vVtOzn2eNhaPB2K8jGlBzFAQZj1LFY55QwJelopeBUxoh7+6Z5JYgVh7s\nQnQX\r\n=npgn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ae010eec116ad324d7e442d7ffac5c8ddcb9edf6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.d923db73a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.d923db73a.0_1626209585582_0.6533753911633775","host":"s3://npm-registry-packages"}},"12.0.0-canary.22d29cbb4.0":{"name":"@material/dom","version":"12.0.0-canary.22d29cbb4.0","license":"MIT","_id":"@material/dom@12.0.0-canary.22d29cbb4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c9926d9fbeb5c165142dcadee934e228726412b1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.22d29cbb4.0.tgz","fileCount":29,"integrity":"sha512-9XvFE2OuOZizYXF3ptyMcJuN/JHZA4vKq5lPLrIbcTXnd4DzJ7L4JrMcMb75xfjugxj8uaXjdfI62gwHfzP/aw==","signatures":[{"sig":"MEUCIDWBG8HdK0LXcd+Fsrz1UexSfwFyENSH2F8HFht0qYU/AiEA5saM/8bjr7VvkAVAOvzNXJg8+IRRtTw2JMPERP+zXLI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7hiBCRA9TVsSAnZWagAAt78P/i+SnFHYJ5mGmi9ci4Qh\nr0/7ZCi27/dUjT/s8XWN0njUJTOAY8uZJjxdgu3EWwiF+LN9uJtrPDup6cZY\nDr1SLlx9iD6BAG2gyieuktLbBWiTENY4RDP/VnRSgZCSrHyIRKbvGlvUxWH9\nx2udmGhrv9Tj9IudBr2aNBVYnOdgG4kC3qSuFQH0geU/Fbi07dIJ+uxBmYcf\nT64Z293RlBonbZioicd+qUQEM+SoH0o2yA2JDQtxMK60l2hMz8JG/xuNPojr\n/IeE9nXAciP9ZaI/BnUSuWUyR+CJf9eptcWwh9l9XS1pOZL1r/sbvEak6Kaz\n0yw1L1sudHAer/da7GEdhNjbhwr59uPc1kuMgYdN4EK1g3/Vst6eUS53DFSq\ndWcN7C21b+F7cXhb5cy53Q1YcmZ7/WpzMtGu0fOGFM8MLNOyojM7RUxX2YVM\nYzTPdCfd+XnOYDcpyU+26kcl+CDFw1iq8bWlLOAZ2jMhe9B4fJY2NHV5JqCi\nvwb8JzSZlpQkMGyyvveOZsa0AOxqHracTdAn7Oke4qSa0ya6mW147vTLfskV\nB0IHfYV22XvOKaHpMHUtZlpjTN+hhl+TfpoqZvyoqfQLeBMkOlsCHpssRzLd\nct+qr1e6OBSvtT55oZwIFcj1Om50bNCgsLnvdA/rIUedEbrI969KHwYk447+\nbs8T\r\n=3X6k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b37054450964af349924b81bae43ec6b3beb2808","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.22d29cbb4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.22d29cbb4.0_1626216576548_0.17890999939497965","host":"s3://npm-registry-packages"}},"12.0.0-canary.2749604bc.0":{"name":"@material/dom","version":"12.0.0-canary.2749604bc.0","license":"MIT","_id":"@material/dom@12.0.0-canary.2749604bc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bb3bead27a8d18729651f4affee318c042b2ed15","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.2749604bc.0.tgz","fileCount":29,"integrity":"sha512-Cv/eA02umzhnC1l9FPLldA1DOdY3ABhboOa1wFFij32o4rBJx2TrVetj5VWt32BHczRqiQYj0DD6H3xJ3FYKIg==","signatures":[{"sig":"MEUCIG5/M/z4JokkBdDjDZ7kr8Qb371MDZjxY6rpeuvm5Tb2AiEAzp0GvUWKJDbmz+BL+j1iolN/2YXRK+rka8hJ44YYt0Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7w8FCRA9TVsSAnZWagAALhUP/A+Jn1A8i/c7G3JJOLFW\ndog1mI0vrkkYpmDdWAU2SA0hJ8foqZzNlCMrVOOXsu/cyX02FyufmsfV9Fvn\nYN2axLJk1c3j0lc+jIlsosI7cW+UQX/An1BK00NNcbG+9PxI/o4Lfo1DVnSk\nsIxohO9mQNIgs7PdvZ2Ir8rNCMyYhedDPhVNyqNCm+QrrQOO7xAvb0SSjH8x\nOlLFtekwuImzJsgcnwFjg4c54vfJgLevwUJisEcBbEG9j8vAu3NmrkMVCrVS\nBX11jsZ7Dy/8O/8YykEkPgJElLOHeh5J+ZOTMkKbpnvZanm/2C6HqVVitkcQ\nkujyrg5Y/B36Suey9NY7WnR2mSyl97USMMO7/uH9QLrzCnc3To+0+/E79OBR\n9/AzlRSbUe/oJgD5qJoRI+3WtK2s3BAUHqaoMfzMlAPKMssG+ag+/RwzY4Yq\nBDlLgy4GYfbALr+OFFeiKCExKhguHTP/JxiE5pyPN2j5NavQjngcB//SCPbI\n02HBA5NMTMPlGnNpr/A3dPqbv2SUYYHrGeu3NymDslhrcOkjoojme+GNGBXG\naUx6MrADbe2mz3NyCR8bpDA0qx7812bu0acC/nCyvyNvFO/38GIKN6Oo/E5y\n37hyvKMWrgPIAlIF2XSjGGoEztqLfSNVPlJsPkhHwIA9TFrRX4PVleF3R+nr\nZMKV\r\n=r4Bj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"58ae4287239fcccbe4c5dd9259164a0660c76f85","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.2749604bc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.2749604bc.0_1626279684997_0.4821697429427185","host":"s3://npm-registry-packages"}},"12.0.0-canary.e1703bed9.0":{"name":"@material/dom","version":"12.0.0-canary.e1703bed9.0","license":"MIT","_id":"@material/dom@12.0.0-canary.e1703bed9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"46fddbf9a0171409f144d5df618a4fc3887cc432","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.e1703bed9.0.tgz","fileCount":29,"integrity":"sha512-7liyFS71FnCeBVcZbNlZWjZkSi1URjDefyoQ7WFCpY0NUN5cVESwO+AE6u6z6I8fT3aT9xq+rYENbdAqNgOEPw==","signatures":[{"sig":"MEUCIQClCw5ibZCIALx2uGYtUL0fuHrirBvYbQd7g6/ssS0k9AIgLSioshn0usTlkW9D+EVeMDYPR6BRZSJfqTnxpGsWM4c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg71tfCRA9TVsSAnZWagAAaqMP/A2U4UpmKwfRxQeTgCN/\nM+Qu4cQOqmAHb1Eu/OukSUfNXaNkNlPEhmzVAl99PO38dOOqoXjIgUoYt/7Q\n5OOh1wk2wQe/C31K2tIJoZkPimiLphw0Z2okuFDcQj7QeGN/kB84l4prY6dS\njdUbps2JhClpusSkEQOHI+gzWJzb+XgBfYmsHNyBNzIdcREu6CGuvrCv9NA3\nSkwcfJIwdxc/Tj9Mil9rHeD3KADD7W5Pb1nAS1CTbDwnOa2ZoC553Bo8Qx+e\nD7ciLLxqGjfHV1b9FAzJMSvUs4ztKL56uRiu4hKh7I1J9S30NgKCGtxTeAeg\nKDgeR0h85heZiG0Bc7ecYl4eXZbrJnNfjTCeategZCCYSP2ZPBKOcgFbZEsP\nORnpNUPpee9n26mmy4acy5oqDF4/FYJD+fWBy+ZdSO6CTLCTNeA2wXynKM/Y\nbQSbXmLE5Tj0IUwrb4fcS/9lvhQddLm+vFWL6UMgEfmyXksBT+nCVUiUNvCp\nAWul4s2NguUN5exS76rmmT7n6++uc/W3p0h/lRAajbxcrK9lxkefWrg/yOgJ\nrqC3QP+46tjwXxe732XPFk49qVoCwRMjoanWjNpn9MPdEuyqYWuopCMqYmYz\nSC3rvdMPGSUFwgR2EsHuCwyNHSX9ax+UImkeyrKRvQEAF7k286Ss1ru4zFB/\n8n0l\r\n=0J17\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ca9075f939dcacc82290fe2b01214639958bde93","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.e1703bed9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.e1703bed9.0_1626299230865_0.21145482840940222","host":"s3://npm-registry-packages"}},"12.0.0-canary.de48eff0d.0":{"name":"@material/dom","version":"12.0.0-canary.de48eff0d.0","license":"MIT","_id":"@material/dom@12.0.0-canary.de48eff0d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"22d2becda46960a0d1134d2d1068161667f4dec1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.de48eff0d.0.tgz","fileCount":29,"integrity":"sha512-heqT1NQWDeL9mSJruGx3/RIRn1LYFgJZzD/0loywHDzBw+pQAwDj9xC0JJpMijkh7wg0FW20M45lo2X1dmDpJA==","signatures":[{"sig":"MEYCIQCuTGaRKdroY0iU71jRp4ZSF4wmXLMOcTYVpyLXqJBKtwIhAKCA8VD9xqpQf73VOIzofgX+x0ZfGea1n8hX9mUfGFLk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8GtBCRA9TVsSAnZWagAAJ9oP/1hOWQVQkyewcy1DA3sX\n/m4PNKMqy3GxSpV7eXbuFMjZvDaEm056LskBdKzGbG0MFEnsrR77ZvFm2Ue2\niD+Y6RKz9z/M6Sq1VOX0EPSW88NMQDsGvJ6itrp832QKvGyrqJj9o9wTa9vv\nM2VMA+aDaq8vPnXhgaNVt3sm2lNcLypvAcmG3yEjaahH2P0woq1c3X+tx9IO\n7CZeJhXkSZU8huBFGP96uq+mHOal9K7qyPDop8HupynS2NIZw5qrfrCA94g3\nwDO1p0heu1MT4GGvJzeXEI48fdD7I50TwkdXvKs4A2E3KBJ0VBu0l2D7pOY0\nrY4cBoi7YG1SpZdf0XK1RDVZmSa7s19EvlmLnD5QiMQMECi+wR+ym1LpU0ng\nlDwOHBNerQUzy6vF8Rggm+Hv7uwhi+NYHvyVxq0Pe/tEuM1qMGCsluzAdefM\n3r5s/O84n7TkBauiOVPyE/+a+ZGRokHwAc/acBPQS0rvH5C3N3lHoyKVEHfK\nKMYJDKYBaSwZ1bHpkdnSEO+3GHttPEespyeshdAzcQ/n646hOe1Bs0WEu9jm\ndZG29zX871kdkRnVDeXI/CizrCEdk5iH2gV1DQAFGN4zfiYNJLUjuh6GgX8d\nphy9zFtVKmWOty6q6KYi2slZvJVpw0leH38RZu/RmhQJCmnoKP+w9TvFKENw\nwUJK\r\n=9rJe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"121530dfc073c7b24dc1cb75732a0d4c0e6a3f28","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.de48eff0d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.de48eff0d.0_1626368833783_0.632193175789989","host":"s3://npm-registry-packages"}},"12.0.0-canary.4f060adc5.0":{"name":"@material/dom","version":"12.0.0-canary.4f060adc5.0","license":"MIT","_id":"@material/dom@12.0.0-canary.4f060adc5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9f8cc1e7afb22e7ca12489d45ef5de35762983d4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.4f060adc5.0.tgz","fileCount":29,"integrity":"sha512-N5ZJQK7BBBBDVtFf6lqT6SiYqu4ilECyxBhifTY8y6sWhdPz+YY+9kBkFnl/boJfcWbkTwzPVk6h1Gu0kDwj5g==","signatures":[{"sig":"MEYCIQChQaYEpCl23b+FvB8VBYzGFFNIcLhsm2ps6ZxOkgg9EwIhALhyDq+EdG2mm9qLG6rljNG/QOiALXrUde6Hv3yKOlUn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8IqjCRA9TVsSAnZWagAAA0MP/A91IbEh9WSCpBvz7HAb\ndNtlaLq6GUfDZw4AgV4sM+h33K5VarMEsmyCNvkYPMLbRzu/Szbgbb+yzaez\nBtM6/6lXPAYuUq7Nw5zT8YBqGpCaH9lvQFz5+jfELwvH+k46m4YgIc8tO36z\nYb1npxdv5b39aATBf8uJFvSCiPqlSX7FVFxaXoeICu20bInukm3xiVwSjkQg\n6WP5lZL6x3eAUOryA7bJdCAsPMwmf/bq5kwEnxM04WNr7EiY142j3DtuW5/o\nBmjY96yuVQhD6H7x9KJkgtyKOZfkv9L4set2wkg4pS1GCw97vM+h//YqrFZe\nbTf3cboER5xPG2+obQuyL8j0ynMYn9TGv7T6XtMNrtZ+c8Nbb7af1AfkdN2+\nGiZKLLnRNASnVnDiqD4VSgL2s0yWeLQHxuqQOAp5ob7zCjKs/G52JiwWkBIv\nFR8MCjCis+IN/X1a31WzIktrv8lNt10Sp6iTBnSd+XCGNriqFFC81mKY0ZMp\neWjGYlRYWxo4Wd8lGTyE8XQOdGBhqGnzOrFfntDZRmGmSeCuonRBcVIcfvBA\nZXD/o0dzktGzwC/QfHh4TP9nM+geYprJh3sgYkMaDY5DBn3uFty+FpzqeDPH\nlvvjnFkzPriNvZjkRG8FL6VR9++symhW1XXsd0jERQ9hIlHGALVSFzT6KGB0\nFGvk\r\n=elOo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2e70b8cd653f195a01f93c3e9928feabf39fa87e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.4f060adc5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.4f060adc5.0_1626376867520_0.9690149742848884","host":"s3://npm-registry-packages"}},"12.0.0-canary.bd25779b2.0":{"name":"@material/dom","version":"12.0.0-canary.bd25779b2.0","license":"MIT","_id":"@material/dom@12.0.0-canary.bd25779b2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"28dff4f3e6e2534c039bcc0ffa0518297cead1da","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.bd25779b2.0.tgz","fileCount":29,"integrity":"sha512-v3vM29QCEQ0K/lR7tG64km5qTP+SOVTL4yoirJ/X83onq/nAhd9C0tey3bZzp6jj030S0uPqm7ZDSEpwLY3ouQ==","signatures":[{"sig":"MEUCIQDHpX1r0fiAJhWj5fPVs5o2qyX1J/4kPoSjwtWiOnfYBQIgUR/mEcdbJxZP1FvKMOkpuMbSENfjbXTJt67XjyErZiQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8J13CRA9TVsSAnZWagAAnBkP/j6lyai67gpdBBNCeOxj\necloCSHFQcjDxgZoXvVtd9TfU0lcjQsft2ZsCpVj/BvMwsJeQ7F+9MAutGoI\nNpOVpQhKphDr3J/ZlQTLcSBOgWo4G8DBYJkhYv+OQrks3CaypPLZNfnH3qRC\neLIlDmPbvZQAFZSoakWCR7KxTaxRiu5ligMAl7nB+9rLQlveifefShmh3+jo\nf9Z+ZsKWzP3Z3SEuXpq3W8im7h6YbC3sKwsdNk7i7EpYnycOZJAPW+LnJ26c\n4OmcMsdqk8VwMwneBncYVuaNNA+FHdBSoEwVGJlobtw4W/trSWTLu9MqMMvn\nmD+ZzySdvo4cA6aF4BBptIBxIo/rVVt1PXw64y+UCuiYECg654xc+N4ofjup\n/1xsaqTZm4ANCrchxZWGFHDmzwZi8KBPO00wqLbWsAXLuBbTZkrGB7X3oPuX\np5FqWkoQO/eKkds12ppSPKEt8EcHrebmna6JStao3e97uPHnqlIvor0NhKzs\nXlx0tn/cNfLvzjHhIpgKKvUFcQ1ByuX/dXku0FT9o+gae98Qc8tU6ceoFvrv\nBoXqdZz8l/FX750RrXyMOz/rr1tD6ksrqF+o4akmAXxlbkBH5JMQ0s2fy3SM\nsXmeuy77Te6xpvAQDmKdGg+u9Tosrm0gUN2aEXsk1WgrttyZAQqN2RvZogrD\nMYSy\r\n=6Po+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3ea8422325f9bc5f9a356842191da47e282aa4dd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.bd25779b2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.bd25779b2.0_1626381687714_0.7781709283829805","host":"s3://npm-registry-packages"}},"12.0.0-canary.9f68a932e.0":{"name":"@material/dom","version":"12.0.0-canary.9f68a932e.0","license":"MIT","_id":"@material/dom@12.0.0-canary.9f68a932e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e9baf1e7622cad75689245a703165e7d3c3eb16b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.9f68a932e.0.tgz","fileCount":29,"integrity":"sha512-4olLgODHUoN2HFiP/UaD/hqcxw5ITjg7Vq9iLzwb0GLSfkBDUcNVXV1L5h+QSmvwQCrO3Ai/zg2md0UKzeJnqg==","signatures":[{"sig":"MEUCIFg0Rd9t7y2GHAPpoSMMJ0APh/iH94J2v/vHJ9sC1sNBAiEAyrVCPUL3/p40SWWiolg5KErvnb9Cpoddj+ESs27z/uE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8LFXCRA9TVsSAnZWagAAEE0P+gM72ZBkRyNyMjuIZTdo\n54jlcomnutPrJPiR6mCJKwA+YwXgZimbzuyfxwqu3Ol4xiH8KuvYFilbl5Qa\nicvorgbdWOSlvqG1A1DvPbe3nktxVfdz8i6euZO0l3E3u5cf68pUxzn++Ooe\net1m3NPnXl61uMcUN3FlYNUWXSp5roRS9LglRrPuu4FIC2aZYlqexRQEzXqf\nYXxO1CKxc2FXBd4QLrEldjrIBAWXRU25DO2LrkbhftGLEclZ94xvxSPP21i4\nUt7N5sRx2YqGrBxsBmSN7ZRKRI+zrpoE36QZ4NqeN13wbQCQ37FFQ3DZAxKN\nYl1IVMfJI+wa/8WBZnNCvj/r/qIrXu+Zr04qI9Wl7BYrlOdojCaJPtgZ0vK0\nsG2lYXfTjXmmYACurB4jfTBFCB4IO5lyxLQ98em/Fre3yPq/8PyNx48MaKja\n67G/TjfThKIsS8GGOJVcetcfRjfAHlDSrh7JcqtHlnnKss+CGUVmNm7weTm4\no1YkoKFWkdDA2jEvNo26vdYmtgiPiWakjpi2X2NE6RWps80XRILHNn+ImL4q\nOT999229LRvPLymtbLlcVQJaOathI4t/gJyKniRGr6/N3UT7u7O0uvgHJzGi\nHMpD6drH0/i/kSuVYWfHilkBZDikqVpSFV0+rKU57ONst/vU2LZuAwNiNY9x\nPgRt\r\n=iz1l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"34b4e5801eaff79707e9f2c769df2c1a34bbdb11","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.9f68a932e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.9f68a932e.0_1626386775368_0.7706412864036454","host":"s3://npm-registry-packages"}},"12.0.0-canary.4eecdeaf0.0":{"name":"@material/dom","version":"12.0.0-canary.4eecdeaf0.0","license":"MIT","_id":"@material/dom@12.0.0-canary.4eecdeaf0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"074e87f48b0c29d62c772e645628a8d27b61dcaf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.4eecdeaf0.0.tgz","fileCount":29,"integrity":"sha512-jVotzWsHdnPEr2lQmsCt2JDSxwzd2Sdg4t/LfgDTmLnV/K5gBRaCEZegUTKA9OmI87trr6TTt/F9jgzCsH4MpA==","signatures":[{"sig":"MEQCIH+X0X/pZuPg89xbyrNnLGv07dy4GG5S92zspLElNSWGAiAZXhl7emHN8Irwhouq1ldSOFqI4UAkyCGH24cqTi1zPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8Z48CRA9TVsSAnZWagAAQx4QAJaIe7+CvE4dx7kkjOsQ\nKeOUGbBQQ13FDaajIzPDUGrP3gYb3sLOq7CT+tCYocKB4adawzbtoMzoCR9B\nR2nHxcu4mqWBWHVzJgObaX2PEmTKYdspuXzsfKqC24V4wH3lfmToO4T+t+Rd\nDzl+EZYTYc+I36/Hx7FcsBM3tRic3udLrElTt4lBsf3DGrLrUeI4J+Do+lR3\nsVYqadvcLkjiI2axZt2T64uoNXYaj1dJpmvAupzkXAvNU0WMzr4/AEmj0uv6\nQNX8v1lVEBqA6/lWfTEaZ53aFpGlWThqQ0zJje/rf4rCKazZkzydLhrYO10z\nQgcdg1h6PpNn15wWL1JsuLlsGhCHipRLP+ZvmHjwf1420y9i0Ig3ikz5O/zX\nNvWLmVO9EAwcaOTzETNOn2B2SSSwmsaEhTrO7GeYWAxZ8hsSODlfqHY/yade\nGKe1iswQmA0fxWFqSZ8ILtm6tkq9RbJr45/GR4eIgP0ZfJk6IzfJBbztFX3f\nHI9eKNyiShAI+8Cidt7iBEXW2fCDxgsF4tU3KV2oVNXFKq3Ju0+Ng3uodowE\nGHDH0h0bDdFRg8KUMjzPq189omeyob4xfUwLfiHyWdGS0ZBCDcs8LHK/2ESq\nMJhN/OSdqe4NIhVbiBFSnqp2M0thL4d5tqwCTPr5s99auaI8rWVqYTlFC0vR\nTwwV\r\n=7emI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"89a3faf78d32cadbed38135c9ae10ab1f3c8e9a6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.4eecdeaf0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.4eecdeaf0.0_1626447420290_0.6536863532487212","host":"s3://npm-registry-packages"}},"12.0.0-canary.7239684d4.0":{"name":"@material/dom","version":"12.0.0-canary.7239684d4.0","license":"MIT","_id":"@material/dom@12.0.0-canary.7239684d4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6b0b7536f09f56554b778c352a7ceed5bd59417b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.7239684d4.0.tgz","fileCount":29,"integrity":"sha512-wQMsPJl7hgW4HWTGh2Gc8tGq+PUnUlFVhG7my0HXQdIHWI6IpErtl4sKi6ac5vgmR/vcE6DtYC4jgcrxEI8GVA==","signatures":[{"sig":"MEYCIQCrG7/X0cOpOYi0Ow7XjzSrCg8pzxeFO9nEwM+8+bRLewIhAIF6OYGle0M4cbTYtJag4X7rRbzS/3wyVtScN5NHZbCS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8ayVCRA9TVsSAnZWagAANz0P/iwVEcjw84hf3ax0bfJz\nLMD+nNZMFmsVvFZyuZ6slDQvBT3eCZMRBw2kDAqWNq9SYNfiU1otIq2LLzxl\n7/SHDxlbRcUutPAV0VZ70PlfTpAMon/U8ZVMm3Hzt8irtN21Z2siIxJ2QIUp\n4bi/Drb2XRBfVm9ZVvq9O3tnhS5xCAXLl7r+Dn0qylF1h24x5aiWae3cmbbW\n4f17umX4pyeZ5mdoGBULbij8BqwmpMv2RLsGCX894FbM5q+hl+C5GBRwK0hX\nyZT7TExvio2rnUMLarp21v0TPg6GjRUGiqc/b/Zs4Z5KsZTqlJAeqKzHzK5S\nrMjAAWDY7mPx1YPCBpcoJTp5wonONHZDQ9ixy2tLr5LF5sFNernovomT7cyr\ndOv+Bxn/dEhnmZwJqUTpUzj+wTh81KhANNDPTCKddP/e3wHQ34B1CXVww4cZ\nL8eJMjGIMJVJWqcNZyzs02MMqKpFpw7xJ6/vV0N4t1ZP2NnnkSXtHYRNYpn7\nyt8MgoCsDHDCsIFhly36O973d1Xwt34TiKzk0Sb2CJc2cHLj3qv4JFFAaDkD\nWGD2gFZCaVZiN0NkkV6GzEGMbBk4MtOT1ums3biNoo+29tqzOsVsVDKPFHRn\nSq7EKQJI7u32Q0YZyNlUbSGp75z8oYAEhJ71nb0pZoYBAslpCK7J8XQeeVky\nGDZG\r\n=sXCF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4b35543a488bb22a0855f6f0d00b047fa76bd623","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.7239684d4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.7239684d4.0_1626451093373_0.4369508460903111","host":"s3://npm-registry-packages"}},"12.0.0-canary.d5f1f7c72.0":{"name":"@material/dom","version":"12.0.0-canary.d5f1f7c72.0","license":"MIT","_id":"@material/dom@12.0.0-canary.d5f1f7c72.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3bbdfa893187321c57b3e504220b47b9f5c07a98","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.d5f1f7c72.0.tgz","fileCount":29,"integrity":"sha512-BR5i39iG09X82djYbryFKCRSIPsDxwJtMAEYPf9PP948NUAv4BKSHcOdJo8zvSdhvOQsit/C8ey8ByCyF3GSOw==","signatures":[{"sig":"MEYCIQCjPDbeM8L5tC65RL3juif3ER2ZPP92PR31GVHrVbNsNgIhAN0+O3g2JCChIad1V349Y5OBeqNkJuqq+ADcbqA9KE0y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8bAUCRA9TVsSAnZWagAAw5kP/2awHWgjMwvj3fvTbxxk\nKl5BozCDq5o5e5AoNq2r3TZCpbpRz6BcLNIyOJ0z04JE3eefEry3p0VQtCU2\ngec+r//1a1g48sbDZ7DAWOYAoXE0uh9gQbOmvJfcfhCWl6qcU8X2yvZivQax\nSCu/za3qEpLhRcELH2t6royJNigp2yJnXYABvVU1xdVixAn4IHpZRurA4t8C\nokuw5pwbmoFDcvKhJNg34Vy5PW6qzcAMGmjOBRpARmesR9wIIJ5ubk4tGLvD\nFceVZb6CCh9tlDnVTXFde67GKce0lKWShEM1rkBScRDCEjG7/5taFfJyl4AF\n1ORjyN1UTK0EkIwgA+j2oW1Vho5z8yafIw5Ck/DuX4SPTQUZQEBof6+1V5/u\nH2o+F2APirQYXLc7h7bkI5ohRuwxbHm2iQ5tQbYaxfH8jt8JQpdIbsn7UPKE\nNrO0kbN+awN61HZJzYC/QuBoMxvmhAsHiRYoIDRHV42WxCoxWowJ8TaTOlpl\n8C81RofvWs6/2GqZMOm3y0VGO7ZjI0x24Tuu6eA2x9m6F4sUZoxsHjsK5gPV\nRn2+u6wSeEuklzzKdWfshtnKJIZwE9Gugcf/oAgz9/G57SfTLiEGiQZTDZxw\ngT8yxwAGmFJwiEKwDRqMybEsH5nKERxDwI3QdtaMZWXFrq0OV5VnKXwEtyRs\nkfrU\r\n=dhh3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ef327d93f5a591e88ce5af94a2bb181d97b58472","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.d5f1f7c72.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.d5f1f7c72.0_1626451988559_0.9833830029808339","host":"s3://npm-registry-packages"}},"12.0.0-canary.4d95812f9.0":{"name":"@material/dom","version":"12.0.0-canary.4d95812f9.0","license":"MIT","_id":"@material/dom@12.0.0-canary.4d95812f9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b09117c52d8b0d5e5c98a2ba246822b89dff2ad7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.4d95812f9.0.tgz","fileCount":29,"integrity":"sha512-UYevy1bAaeaJ6uRDcYSdnl514keaKXHvFrKFI9BG7SGi93oAd35XIeQVozAbrn40O3wyP7MnXf8RHAUGAwQ5fw==","signatures":[{"sig":"MEUCIHXIY2crQDVO+BITtSl3spEVeVckBkEnnAGuQ3XpNyEBAiEA626pbrC2LwgYY3zVwAl6xKhLdEiA9INejGbFDNCPvzI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8eEdCRA9TVsSAnZWagAA/mgP/jluSejD4M/DfmS3Xj5h\nKbyuIPDaD55Be54w3HA2MVI1Xq+P3NA2fXSUNbWHkp8E9pBUa9eV1ZwrWFVL\nPeYC2MHMmcQHMNo9J5w+eMbYMPskcte6Ubx/NJ4dM4BhU9sg3+tZf/jEt3Y4\nLoV1VxHQkYuBJ0HrtVa2z57ffZFQGeUKJVstWSADmN7pW1HqYJtPSNmlwkvQ\nprZimEGBQyz0KeNQQ09HvdWO7ZcfQHNNX8knGiHeiAzr6vuh6Di9+rGohse9\n4azdd2uT/nzpgzk3T2oFkrqjbtzFZWSmVTJIV3HJZinNe/Bo1f4C4dxTejMd\naKy+bp183sESKuvID8Cl92P/IbJD5B4YKA9XgZhPdmrOQh5alFObK2DLgX62\nbCP4XTmxlHAWKxDVzfsiuDUHG3QLdHsEU42cl9PflnE45VvqRiLcSbTAFWDJ\ncdThYhil12gps5SuCzIo3iu+P+o/vVou8dqhXTDWbr/UHg6SHUQXfNhjD1Xt\nSSL1h81xITpIdLSGzkj+/aEGey5qI3ti2xaOvweckEA/5FZ77fpyFalEjV6c\n15uZVlmk1qebFv86gVds9uIRF6+prTCbCHscVUbWZ3De+Veq7a/52RSnANcT\nrTsXmwmrl5T2Iz2bTm9UUz/IcfGllbEmw+N32lN+/4ccJZ/K6ZcsQyDPKp8c\nSNPc\r\n=gW3R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"34bd44726ccda77331fa29afdc1d5ab7ff0879af","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.4d95812f9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.4d95812f9.0_1626464540814_0.8164379768043364","host":"s3://npm-registry-packages"}},"12.0.0-canary.38d1846cc.0":{"name":"@material/dom","version":"12.0.0-canary.38d1846cc.0","license":"MIT","_id":"@material/dom@12.0.0-canary.38d1846cc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b2c00c8352f70d6df223ab95cd5bf33bad00b275","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.38d1846cc.0.tgz","fileCount":29,"integrity":"sha512-2IDw7JcupFmaRvsFiY8/fFgx9vloOVE34L81t+uvfTRwxnuN6SoUFSHEyGz+sTGvj+VlZDdSOu6PZUytBUXdyg==","signatures":[{"sig":"MEYCIQDD8kwV8Grx868XKlXc/Fy96ffJ/kEm4PcG4sJpAgsoKAIhAPOcE+JOt3BnxiFKz2kvooncJbSNtr1iff99rrWSHq8w","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9cc+CRA9TVsSAnZWagAAWp0P/0BATPGHC0wR3Ope6vV9\nDRKUg6ekKINPKOgiUmsL3Nh1AQrUSF5lEcZrnxVIQ2u5pJ5uYNCyiwKSQFgR\nTYiHbMRhOzKCwTLMM/Edvce8UBCCWmFBkUDaLxX93RZCZB5HfIMOdAuLoyXD\n+Ku/0M/xNYd/OTotLd2xH/Sq4RgFuaXWontUxuMPebCpdqZ68kxENWdfoWO8\nd1yD/JeWW4ST0fp/74FCUJ3EIs+6imp8Kx/5sKxrTTAIZeKSf8jKDqB00w3L\nC9T36bzUCxTP6fxmmAl3uetWtVW6K+d7ODu++8xGDgTW3KC21MCqmgMA8hr7\n5eebDX7q6f/gmh+exx8aKCsWcs2vAZYf1QtQa+1S3PQ+5fRmnhqJRylpzZK/\nOaYuj/eTTZ99xyReYvjRioJYtjns5kdL5XludJd2Ogg1jnG0ijBOs+Iks/TH\nTORGQnLH3SSK9lBBgqFE996V9LM/3bd0i2CPr0Uec1tDYw/nOVaa00HqoINm\namZeGt8qW+s5ctE/LwliV6jGxVnyBhUcK9lKtgksKffn5ClrN1r+tx5BkYz3\nNg9KEUxozFtxEnUk9GHbhQqrsFJpGww1s25dd93YTkVGsT6n/WtEPkfxZtJw\nHjpyuOt/SppRvaZ3A+n5TTu+K7qfSRq2nPc+vP8hKSu2FnrJxMsSLy15rchh\nIbo2\r\n=wPyY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"77a8b2af56ebd184dae02df9198e75b16f4db385","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.38d1846cc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.38d1846cc.0_1626720062659_0.37171653642089564","host":"s3://npm-registry-packages"}},"12.0.0-canary.3f691eccf.0":{"name":"@material/dom","version":"12.0.0-canary.3f691eccf.0","license":"MIT","_id":"@material/dom@12.0.0-canary.3f691eccf.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d28107768e397339996ee54799048e1b2dc7a5ec","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.3f691eccf.0.tgz","fileCount":29,"integrity":"sha512-qUwoF1QnhrWOc3HHh5+gb1YwSTRNaglmOZ/kjI7joY3Gy3dIDp47k23T+8L9/K8TiqLyBVZxbaoGLmEltsGXvg==","signatures":[{"sig":"MEUCIQDN0sF0ZqI9TWzl+l1J4ZE6GMJEshU7H9qo08a6H6o6/gIgKYt/Tt/45PSp8QuBR2a/0OVMvngFefLRSMF3fxSpEBM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9vTaCRA9TVsSAnZWagAA8JoQAJCoeOVES9TQTJNd6+eo\ncR7uSeZSuDA6Rk4miJX9UoPdCbJ3GydiV8nwrB6xTkH6xPcK6nsl7aOwmsto\nonyGHl7n44eEM+NMi4lrcMCYkcdfyx1T0dVWi7LqtzkQ0Dpys9gYM6xj5teg\nD9S02tptplOlPevmIAPhUOB3HwakUY/Hpa/gmXtdmeqCqgv9sqpTpoNPtE/k\ndB+rZd7W3ShouD0SD4UCp5zU4f3c2vflz1bzwR7tFkN6T1UKYvrjzP+LFbc7\nlyNHCHduWVfU7PBYvldsBwKzWuMsVM9MGQuT5TQbnFqRPH2Kiw/LSYsVKdq+\nOgaFuyUuf0h+f5aMZnje7oRiovjDJ6t4pUrdK9kFQYKWR9JZhsVkaWnoj5ei\nKfIgcfIFFKSr36zFyweVoipgwmULc0+lauYU7D2eTYRoY7xlHd8PLcLMiIcS\n/33SXCW47LXe62s+PzfyoLwZRKAoSS49Sj42+iyDsJbH53KTqgUrps3OQr03\nrybvpJaIA7zIwcLHdZ2gEXsIStcprRInQ6FlkCPjaIr9c0GAIxhkU7MFW1ej\nm+Kz4JbdBjGcKQWf7H3uZLKh18feYMVF1VDJtbU+mK8bgwJYObNYmep3/0Og\nKXOAT3ioaDRFP5KlVzGUqOtLM3xmg2ikTh2lUnXDpzPUpG8WsxbJ5TsKUnvy\nK7Ph\r\n=ghvB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"58271219b83ef8db16c68153037e69345831b4cf","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.3f691eccf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.3f691eccf.0_1626797274185_0.31911770020371555","host":"s3://npm-registry-packages"}},"12.0.0-canary.ebb5c73bb.0":{"name":"@material/dom","version":"12.0.0-canary.ebb5c73bb.0","license":"MIT","_id":"@material/dom@12.0.0-canary.ebb5c73bb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4d7f5d33342e0f7ad0faccda2e89810ee16a1f5e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.ebb5c73bb.0.tgz","fileCount":29,"integrity":"sha512-AaBwDzQv3wtfpNCtERAsQnpY9bjg5911LlgqIYMva4oqRuXB35EtpeTt3d5+AZ0t/wiTUGqNrPGZlnIO2pQNsA==","signatures":[{"sig":"MEQCIDfOXD12rU4DH2CkKA4OvxO5ipMmq3F+/Iptr07DSSmVAiAJS9m9fWJvXgxd74jMojS5/3ZwQG/8fVnm6U/4bymMiw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9wAgCRA9TVsSAnZWagAAJjMQAJ2CC41tJfHhjwGeGU0S\n+CueWwi1eIqOowqRLpEQM7d8CF6MdKlCwLbIHRW0VG+N4pzY3JZayjTbuSqj\niS/BNB9uefx1mHvq/SnoSCDQH05Vy7QKayTzcZsmqdj8K8Lzmbuq8meLBx/R\nOQNytJ+oJ2xvnefzIbGYNbPAVT4cNJUWLzDUpxp3G3jufaJUw0dDEPkqK9cD\n5AIqqWDYp64rgLqLUY6ROvG0xTLyadrQnuciT69k5blUdYwfeRqlRmc6JMnB\nu/p9B0NwXKEPRjkxHe8lP9FgGD8Du2lqN5N95IdF9I/1wfXbofTkRYF4xeoL\n7/38dGLJ7+RKvjXBoCz+Hhkfew1PG4tT8j1E6e/ZhOhaeKaVfEdsA4sIAh3W\nSHO4siVMM0qbiKeIG7J2mjDqH+nhRVuXil0O+Rm/zV1H/WmyjxBYHMJpg1xp\n4zpyQABGxvcMUWN5qEiPVkh0J+MtZXO+wzZEYGnaGb7Zj5ujJv8bS0bXbOf4\ntADPtAdwL2S1wGTlPWIShIYF2LrB8kl3QHMSyqELOtDocRkK59nQgWkFQofp\n9DcKMmb/Ti9nh5QWmTdz16lnGe2pEagXkCL97aKEJ+3Ar9Gk6iNxd1pDKhWo\nH5+0BlJkaVNrRJ8Nd+ng16GlYYEFK6HHSu0ZWybsvZhZWUqf7wbKQLW0HihH\nNB9C\r\n=DlIl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b37a38f7ce62c0d87ebbb4bafa0f1fb02aedb050","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.ebb5c73bb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.ebb5c73bb.0_1626800160204_0.008530995766679261","host":"s3://npm-registry-packages"}},"12.0.0-nightly.778a0e8a.0":{"name":"@material/dom","version":"12.0.0-nightly.778a0e8a.0","license":"MIT","_id":"@material/dom@12.0.0-nightly.778a0e8a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f7f4ee26e53cb0143466713bc0007f2d159d2cfb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-nightly.778a0e8a.0.tgz","fileCount":29,"integrity":"sha512-rcBmNcRNA8jSLATlpDhqPQcY7qDqNTcCPSLImHyTV7nMcpc5+rCd5rHBw8YUkD3wAcGXldXWKr+TJk9I4RS6dQ==","signatures":[{"sig":"MEYCIQDZ4kLs0VjO4MHrNXysuYzxqhm9jE6xlYlQTQRAEX/OwwIhAPEtNAjfdNpzPilRohZRT1KcamEZf0jcSHdq/Y001deg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116465,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9zpsCRA9TVsSAnZWagAABisP/jjDus1nuDP08jP/o4gI\ngDTIz7FcqXkwSH60b7fmNS5ics4QHAihNxKFNzBgWc+fubn391eIC1XzmvZO\nv3TFuY4WyJGb3+dbYg1zrZdjl82q8JsWG3q92dZRMbzUqVRVkWxkSP7SR0Mh\nzA0zKeOdvkfj9dgBODHGsO8af2zQ9hf57c5u57tbntdcMMEcFfDWTM3Wo4tJ\nlyzEN/MbJm8D20wcYYj8febClSsC7s0jjb1RghrlCtODTx9c1wJZETZC1wQU\nEJ3wUDG7ipHqgDt3uSPY/22KUXpIhmyM8Q2+8C0xX+jOGG9JEyyacRWlXL8h\ncqGtVcyc7Z5bUydH7iOBpdKMYIBMaTl1O+l9dwJtdyc106PVc/Xkq+Znm9Zk\n1cqQr+3fevMK2wKT+Hv7WJlY2qXiSXi4Mce9muZdiFi3splz7f9Kzss5B8Zj\nhwxUP9GJ98ozjZm1J0PXKW+ENuWIdJHOXpI93qsIa0fjmrx2I9ohF/C2ejOf\n/nb88GGqKLEIl0quQYFFA845+t1aDC9KeFDQvPwVCM2mQ2P+lV2ylomxGBJR\nBjh3TS6d0hQlDNQMZIZPKkH/BWE+XTji9OOhJLi6s/Hn3bhNTz+jHRe73DgR\ndBVvUl5OInbrM1WL8BgfcnbX3neUQFAiy463hU4tSMWoffiJXzD8BgnZXKGp\nD/1D\r\n=GvMZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d86234d661f09ad766ffa2f82c69582e585a8fdd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-nightly.778a0e8a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-nightly.778a0e8a.0_1626815084109_0.6273720312345965","host":"s3://npm-registry-packages"}},"12.0.0-canary.791311bba.0":{"name":"@material/dom","version":"12.0.0-canary.791311bba.0","license":"MIT","_id":"@material/dom@12.0.0-canary.791311bba.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"16abee432501e54c0cc89262cbebc87845b75eda","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.791311bba.0.tgz","fileCount":29,"integrity":"sha512-XyRyXO76yn4CR+drpSfz3bnYqoFAk/sqkovK03L57zS9so5wrzI7Tmv802cLEqgkewoI82ltDsSl6iZ7OlOCSg==","signatures":[{"sig":"MEUCIQCdZDWQWR8Q4FMbznKpHIwAmfiqO7yHyIdKWdi5qMrB9QIgPHOtbvSYleulRVvJ4EB56wNGb70HxnxH2ObBnVjkKOQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg90jyCRA9TVsSAnZWagAAv1MP/3ma2HqBJcmaLM3hcOT7\nG8IHIJKdj7e/+RGNtt81EgI9Lvc+yfANgNf/clwKfBovl5QI9UVCSjrk9+mS\noaEgGtsEtznKmLKKfW4nXFKNo4qLg7vrs/jn3Y/IAJBNP/+1tIhJu35Ik1Hn\nDpt/jBTzCrnrMXuz7XotjBMwfuaRqN2PAZbFeNGEoCEuIGHOSV+vNYU2TGGJ\n5FZlcaza2iMHsDAsOwMeQ0Fyuh3H2oURonS0rRGgXMAnlks7CyYn3vXXQhBj\nbkO9frJWVN8JceNTHVFg548g2GXxPK5tgisu18r/RKG5S8LcEIiTGPaOHdD6\nAkxbDPB9eSvsP+i7fpKU6Q2aSdDx4ln9K45n+cYcPKvafKAEcQPgTXhcQvqx\n5jJC5VxIFcP8/LYXvffKcyxng8pVUL00Yf52Jmq4dLDyOw6inMALDRoViVPO\nsjLPQaMdol7G9v9gwCWitd0BHY4wyyPurt9ektqhK6iv1ZZRoGPTYlKC2WBZ\n1F3rwPI2mjrEHCBJIEKy4WjQCinUy3GNyWuQJxddnfhaXh1nrG93vXIwiWfF\nqkLmnT8XcLvO/kRs0NquKH/w4PjmQeqvqfPi/7hknkAKVM1WAMKGBz+vA6r6\ncFeG1PqfD7YyYZiTBgENgqBFZNb28b2XeOn6twY/zjo+HKblToPkrm74ThOW\nTSeI\r\n=y8fT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b915b82632a30b60ae4dca5d12fc23d5a5df4d4a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.791311bba.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.791311bba.0_1626818802788_0.9766852864496323","host":"s3://npm-registry-packages"}},"12.0.0-canary.85e9a6ac3.0":{"name":"@material/dom","version":"12.0.0-canary.85e9a6ac3.0","license":"MIT","_id":"@material/dom@12.0.0-canary.85e9a6ac3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b1d41746df90c8b9b6fc99096ce617fbf3ee71e6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.85e9a6ac3.0.tgz","fileCount":29,"integrity":"sha512-rpY/k3RE213rW6mkILdYx6DyAgFl8SINIQPsBNiGNnGNgC3ZSjY9pGnM/tYaPOjauuveaYhmmi3rNWrl2mkC+Q==","signatures":[{"sig":"MEUCIQD+mMQ7qy7S9neheoUk0+z5HUptDGuqEi/TMA1q/WEOjwIgUIa9T8rJI/cK1y5On8Q7IFTmsDnZhqGCNArH9K/7bdI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+D6sCRA9TVsSAnZWagAA0mcP/itCUtx3Y1kzGQEGqTL7\nuciU1vbmOECwQ8dcIzJogYUmctUG/bks2GDfewoExzsNcqIxYJvWdHl3R2Jn\nzbF2IiN/g06i+GGPYxbi7bbr7xuIrpwZLNX5s/iC9qLeLpZpoklUsRLzO5I8\nSsV70WeUfUADtInP7m/y4GMwSqMr0ANX2mOP70Sxp0bAjdMoZEmTXxCgnhDR\nn1QhFfT1ex9FpshiwB59ftpKT9Vt6Q2aoLWozxobCt3EdQtZgpZtrRz41jgP\n13nHupMsOd6xLPf4SoWEc7iSxGT8zeC4td/x2imGokNKJddLv9S2PUSQcisH\nRrxfpMpBR+G84vf+1YjRvEDRfjGj02nqFWjHmgu24XoM4+pHEU6cKju1vkvt\n1KPk8M6EO0i2sBOVDayaD2/TMLBuXB1901Onogl489gX+HKBw3R8wC6bx0zy\nUJEDKaf9/LJhFblFYzoODYFm26DhubkPjRCtSvke6h1sacA6Hk3KSuNqmiiY\nV/uNVayZ4WBo4QuqeeVd6unpU1DBX3h2/erUcuZM7lEaSJXKnZ5cb2JR1rGP\nCIJh5wAS5ANX71I3lZjYghlo/kZ8NkM5Pfo9rY2yXHNO5VPTBsivsQojEVvl\nnh6FkdPpNeoj9ENBArBf3Gs5Wbh0Z5TqWm2PSkQYGymxkiQ5dP+QMZrHL9mi\nFtEQ\r\n=/rCd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"651354325ad21ac082f791ec2abb0aa32b3ba936","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.85e9a6ac3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.85e9a6ac3.0_1626881708198_0.3683948055644357","host":"s3://npm-registry-packages"}},"12.0.0-canary.6b0442278.0":{"name":"@material/dom","version":"12.0.0-canary.6b0442278.0","license":"MIT","_id":"@material/dom@12.0.0-canary.6b0442278.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ac876df89ce12a555117bb3f4673df52131cc82d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.6b0442278.0.tgz","fileCount":29,"integrity":"sha512-QBTYz25qNDmbLzZiHrLQYJsCh8qG+8Pd0MUsapgwx0xRiJBzOHOJur1rU/nn98XBYFjuW5pyWnceaEvOZpCiOg==","signatures":[{"sig":"MEQCIHXBsu0JqYOdtwn0yLvNQpbVw2g7kxUPl+FYOs6M3lIuAiBkUwxXl+mMrkUxyGF07/jxUD5pVAKFfjcs2FcnB8MpTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+GweCRA9TVsSAnZWagAAKDsQAJJgOC0FRNV4ORCgz2Zk\ncFBV1E3/Wpc7l2mVxK6UAAleRGZnFTYSVMM8OaJV7ntHyeTaQXCdPd9g56e7\nkT+9wSJTeXaIG5P3gABk1zkbIQozUaJ1GUDtHHwkSRG4A2T1P5/FZipX9dbA\n9lP8xPhzVltTc8+IPlLOzXty9kn3f+AVTX31dgKBoSTtd6LUlm9LuXojMoji\nU1JjZfP9ZfiPUntDpMcJVep9QUh3TFOKugXWCf6zYi6LBxB3EL82lGtUgy/n\n1jF7FFJ+4uvjW2QSS4sR+EsvOHdeIHSshZXcoql1rB94pGsJk9lZIrfQF2PX\nhk2+1/1RB0FgW85vxoo9Vq1fnA+JXR+UOmK29pKukIrt9b3g2ht2gs0raVQa\n3NgiRsh7fPlHV8gQTbByOpsI3jBdQJevQJxWzA9zk9Ipgh7HXRYyZ8s5xKBv\n+Plpuy6zK7muVD8r+otx8rg2Ki0J4cJuVJoH8PplwIXtGv766Jbo1dW9MX9u\nfM+04RMrXgFUM222O+lXJAynzGl8vUH765KCTVozwtUgQf/TEZOmc43neElq\n/PuDLvP5R2SP1PMbVjxbs6uZwstiEI4PsRYpo0u9tw6XzUU9yaO16HIXEIXM\n48a5g/0wXOAUbNVAcogOGDEIlgdmaghkUk8i92C6wL/rAs+2FjbSIrToawSa\nrGTC\r\n=Zyiq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fefa69e22f9083ed30aa4ea05114191682b45a14","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.6b0442278.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.6b0442278.0_1626893342210_0.989082175833389","host":"s3://npm-registry-packages"}},"12.0.0-canary.5f00e454a.0":{"name":"@material/dom","version":"12.0.0-canary.5f00e454a.0","license":"MIT","_id":"@material/dom@12.0.0-canary.5f00e454a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e98e038053328714ef3a0d88b7d671c71159e03c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.5f00e454a.0.tgz","fileCount":29,"integrity":"sha512-ns4ykc1V7A2+aBZAhT8S+badOEirF+yV7hLVBay8/90dYFOpQN6CQhsUVkjWMVdTIeFxBiADb8cywibOXD+f0A==","signatures":[{"sig":"MEUCIQC2yuMEl6OEHqG6xTHsZtmIGB7WG5FddTgbcmvz5/RvfAIgB/F5Jb7yph5lrUA5fQ+lTwkHSX+ixuVkjjQdfPiBd0A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+aVdCRA9TVsSAnZWagAAtTYP/ioes9Npdq8cIK+lHjbr\nV1yR76sxC55eoOUdE1LIev5zVwdPC0JscKTWE2sduPcm2UWCysB0VpCDruQv\nmTr+3lssyLfV6y5jltl/gLsDnbQEmgnlFPjZh9eBFGMc30bxR6gcMXf7ULDf\nn98tWgjFapfbz2s5T2Z9xazPTMU/fzFyAFQoglebdQ1IivPPfL4aGP8OttOt\nsBv85o43RpIXAvoIFkYO49PezLXOxiDeLJpnIiur/OvcC3DzmGAN4i3zaubl\nEfPsOki7qJAQbKLw72J9p1kVrMOl8cwyB1zUKluZDFbC0t4DgLjpvSP0aAyr\nVQKE0yBpgAEj6cBGjKW8/J21z/EkTGpT2qVodgI/dnEy/YqDiyzeRMyfvfCC\nC4yis/d5kGo5v7Nzt28zFdAb3HAXrblqka78EvZTBguF6jE8xBa29x7xLETo\nvKBgyqEbHXbWRBZWuL11aAuOyPKrBnHUAZq1QpKkc5l9dTnbLkYNQFo8OwLj\nmBUugP7UXBNdK2yfgIg7gTEusbo7V+SLi3dONoYXp4FgUsMPjff0ZIcUzhX2\neW7uGhHOz/nE9Qr67FmZY5+QaC6uOj4waI3owXE8hVVPPJ1gciO9+oAw/QYk\n8hva+LWiUCygNUuAEVp5I5rnytwA9AruuTAwO717JnfeG6Cf2nTqiw7EO8GD\nU1cv\r\n=aIol\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b9c8a5899d6bb5475fc5fb2c76a300d4a28f0ffe","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.5f00e454a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.5f00e454a.0_1626973533421_0.8667814872325001","host":"s3://npm-registry-packages"}},"12.0.0-canary.90e08fc6b.0":{"name":"@material/dom","version":"12.0.0-canary.90e08fc6b.0","license":"MIT","_id":"@material/dom@12.0.0-canary.90e08fc6b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3a54dc32426017ffe1758c6876c683e7f8c7d845","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.90e08fc6b.0.tgz","fileCount":29,"integrity":"sha512-ACDYCTutksUm0ie5GhhMTJq2w4b5yKAds/qGp/1w0jJEdVQTpyzBY2ow/i+lSLUJyHpBTgMncbXlLuis/hxH6g==","signatures":[{"sig":"MEQCICVECvYNxKmrcjNCR+N3fHJUqb703dRZa7AWggueSP47AiBg5jMpeaY6ki/wG1OF5P+E5lifv2pc9KdK8+E0uOG+0A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+gE7CRA9TVsSAnZWagAA9esP/14Vm/4O0au8eOI0X7fD\nIA+SUP1c9iumOZ1j04vJ5Vj7TMRhhhewA3qY67IW42TqFboUJq1MVJv1N3nZ\nwwGOyaQVDRwzF3oAiD7pU/4pbXMwrx52DsyGmurn/IrerjgwQiM3CUdIcSHM\noPSMdH+weNl6iNbX2Lam8dQV8StVZDezprMrXGUF+qnlfq6BLbO2n53EIhgJ\nvu9X0dEdEZv2SIdiVVWBjLGvebaqT6eTjCq7bWEaqld2c2HMv82im/B82il/\n7XE6Eqc/inn5jAx1G2k37Dw/q8PTJ3C/1pQfu7q3TV7tER7lS1aHjCkBA3hg\naCo5rforWPDfoDr9UdlRD522hV7pxleBRelCQNMQTHo3HEb5KjIQpIlfMmXJ\nIaworHBxVafFVRvZS6Tb7S8iXuBZUFs7OqL1h+gNh0nVXNgBFPNznPdDWbS3\nzrWmkv+kE0MLQDWqD/68cgIb9+njRHZzNhXsRNWskigcMGa6ZEuDVaBATgfI\nmRa1j6VjnDHphexvvxuvudebAGlJ8bGWrdle4VOx3JZCCvRTd5llBki0ZJx1\nd88f9vFRVmaMGHsAecyBFtzRvYviAzzZDXEE6EDKw5AqDJBM/VJw/Lwda1Nl\nbNVgYOrwzEZWSQAeouc9rgZ3Wpcw+USKrhdYR48WVWTt7jK4FiCQ9zRxxIeS\nrG5e\r\n=LxwV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"267e307e557cdce4bda13e55c34cb0d1aa0d0b8f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.90e08fc6b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.90e08fc6b.0_1626997051827_0.9908141253265534","host":"s3://npm-registry-packages"}},"12.0.0-canary.cf5b9eb86.0":{"name":"@material/dom","version":"12.0.0-canary.cf5b9eb86.0","license":"MIT","_id":"@material/dom@12.0.0-canary.cf5b9eb86.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6d077fe9c894a328a712cfad8b97dab3b0ab2289","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.cf5b9eb86.0.tgz","fileCount":29,"integrity":"sha512-BPum9lGp8YhlvO3BGsU1lLYP6Ia9zA9/Q+Dg7UZblvbCSbagxCTJjiXGCZwVBWBWZKmglb+pMlvlA5hW0ZEqcA==","signatures":[{"sig":"MEUCICFUkzZ2wQsR3m8uo3ZdHqt2c4+cDhnQW7G+2illQB6NAiEAuftxnBizVfKwLkOKIyW0MtEtwJ661d1fak8Dp3hQk3A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+wZOCRA9TVsSAnZWagAAOdcP/2bNVPLjV98EEYptg7Ta\n6XAwM0VIWdcPqpNsUsggxlKkSBuGWzR+kdURp8KR0wKt1+SgBdph1480GmIk\nbyGuGBJHj6M7rhIFKsw4O/gz+pb0u+7oiUgzkXBRWUCBNn5NyRZn/Oy4fis0\nmiGp8/SvKYs5hooaLbbwvfcG34sJYX0El2VF1npHJRCbo2Nv/X6/s5zMo7LR\n4uos7pv/BptoQaxG2E03JjSgV9vqoLA8B8md8rtLMBN16fRCUmwVkNp7ITsT\nwfO3nGYff4/Ku+79riTC0RrInsNeF4/32dsYs2+iEPwAcsDbrACk/apjJOcZ\nfwJCXArkBtt9UoU6c7h5m+aiv40VMwiiYB6muFE8gXdVE7H+0glwcB6QNEM0\n+bM0O7wx86C9I3A+3dKV2zmVD//1sKnjgVp/GFRcLx1jg0YV6Rx+sb0PP2Dy\n/XBRbnFcp1gpUAfYmWP/h9/394CTLmxXpcIxp2XfTmSQpIrfVFGNaDG/QOjX\nlVNar4gY5q0E3HPl2hIhd/4x+dzSH2kRsG+Q8TiNRm7AXK2hG2SVn610lmHG\nq9hYUJnHz0lP3SpKRsQgg0Vbjvpk5iT1zRweW4+Z5bezs5iSMlOVehbpObdc\nN/lY9+cwr9vTn9YQ82z3+xNGOdINnj0J2VEyMy8Z3v8XttGxHSCjgKffPp9p\noGyl\r\n=5OBU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8447b42cdc88335a4d5a37bb048f5babc1c5bc82","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.cf5b9eb86.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.cf5b9eb86.0_1627063886282_0.12448966287108743","host":"s3://npm-registry-packages"}},"12.0.0-canary.3f36ac75c.0":{"name":"@material/dom","version":"12.0.0-canary.3f36ac75c.0","license":"MIT","_id":"@material/dom@12.0.0-canary.3f36ac75c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c50451fbab17b8611c85060444ad1fe69de8aec1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.3f36ac75c.0.tgz","fileCount":29,"integrity":"sha512-2fWmWtRNu4p/NaukKtqlvDm83EMvJP0rZBHHL0JDtLEXreJMJZI4gvn2uAopJv7oXAb82lhDw6N6undZxAGVBw==","signatures":[{"sig":"MEUCIQD7Sihjd+9IuOpLodK2Hhf8oby5rzev7ofwng7VYAYJWgIgezo3YdOkEyskVFtIdHVRfEcSIlNdX3koI6pUM4vQZBo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+wsACRA9TVsSAnZWagAANL0P/3LFr/vXnUSOGcLwpFty\nCAEOLBOEQCCeMN2JQqfODHvv135OMSiJplzJj5Qd9X2XzPiUZY+leHqgkDCU\nkCzdgLUpVifbSKqYm4Vdy5v4+oOav1hF2YkKF5bt+pJGDwD+UVYlIdo9X5jk\n1Si6wR5Qn1T5C4ORZ9LCQkmx9d1tAfB3enRMs+NuHRRf0lF0Lxx9WTv8p9Vs\ns3Bhww77MsIWxfmUnDZeEt02kGo6U2Qu3gANs6gBaIoh51OuDHu3o1WUzZR5\nvIn70QY6vWvkdoPxhM24MFdYyF+reGAc6stUZyFZDuTfKgxQQUsaS9Enj96a\nP3lllZjKLJf5If9ba+J3NNYL2tqVBXpSG86BlN7Rft2GWq+EYUAqIW4JY6YX\nDmLZJaNV54WIs8fXw04pYzKhh/i9UCdT8DeAHU62eKehTYk111F2p2csj5TQ\nRE9udCtEr/nBgIy7MhMyjGpEFP1SMsiFcFagdwcp4XomkuAupnEW2+wVzpmK\nzpQjAUBP/BFMIorFXQGwDDgO20f+OaSse1zGuVgiJNJuZTKu/DkVjukXCsly\nXrtLDDRoMEy//bvEgFoSl3LdV7QJgFYkfZV+lS1FSDtCAm/vTITRypELQ80u\ngipi41MeUpv7uova40rQccLH3JYbC6/sZ3FkHF+RipwKwOh5ZwF3Ont+yz37\nCbSu\r\n=le7s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b0f70c5fff2a6f188b24beae7ecdf708b5bbdcb4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.3f36ac75c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.3f36ac75c.0_1627065088526_0.4797952219577444","host":"s3://npm-registry-packages"}},"12.0.0-canary.ea1e1b850.0":{"name":"@material/dom","version":"12.0.0-canary.ea1e1b850.0","license":"MIT","_id":"@material/dom@12.0.0-canary.ea1e1b850.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"56980c0e72aae490c3a3a5c9d7122aace8891071","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.ea1e1b850.0.tgz","fileCount":29,"integrity":"sha512-d+Tht5o251rIVdp5ejp5ZxjRBanY/n3JO8iKvhsVtWsQ9vjCkRgwa0igXXjfB57nediRZ/1fIBzEysf2qCn3cA==","signatures":[{"sig":"MEUCIGt5vcmusHKrXPoXC6b5hjenCP+Dgbb8csGBJ9FWHKbqAiEA5W0YhYOTEda5nuTd1FjB+jvPdV1/eBLHXLMyVG50nZg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/H4jCRA9TVsSAnZWagAA0twP/0IsR+rIumzCNpG8EGFW\nheFIdJSwVbSsK1knqUxhyijsChg1A6Fx9KV8v+ZuytiKsuiKjqpMftsUh1UL\nS2KKef9Utjd3twbGwTvMbqs3gTzWUv0ng8zcDCpRb3Go6qp/gB3eCyFbQ4Cb\nGhVKVDamrQsImcr0mdBVKrcVUydOBX1ca9dMRxWeVy2DYXskvRbPy4gUeGcJ\nAuiDSA0cBtOZqd2BRc7TETImCaMP6Y6iMBk6skp7SmbI3E9Bbd4u0zJbCA9P\n999m59axJr5q2FIxDbdhXEOpfmCiisExy07mfG6t1puSKTLyPQrNdkT0RF8C\nm7AxJKPvO6Mts3CSO0GFcMYx0l62lajayyPItzCtuppmI6yBpPycDKzJiv+9\n2b/kBA5Wu2CoosSCK8cm3Vbm2ZV5TUtfTcZwUcI44fiQt9E2L26zBaXQIltw\n/XnvM0w1jSp1diYII6lT0WqLrXrrcE10yyiEj58Rcc17SBdmFavIt0Teyd/L\naQkMYa0Gth4zjgG1LXU8MURPvakMESOX4CGMmJdaxjARezPNTVIXv8RLJeH1\nn/Cw86ORFoQeA3a4qx1KxLol7u86N6m8fYeTxA5nE7F/jKCUlIV8FYVC9r9c\nApJL6IDrwW6qaOa/a4nJa+TWhbeLGALLlMyYVz/e2X017VuW/mYbNn7pzul1\nLYYg\r\n=WWJP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7c296c6f9b2c20eb32b0501c98b6415bd193dc46","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.ea1e1b850.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.ea1e1b850.0_1627160099520_0.2044789968475209","host":"s3://npm-registry-packages"}},"12.0.0-canary.22f390c43.0":{"name":"@material/dom","version":"12.0.0-canary.22f390c43.0","license":"MIT","_id":"@material/dom@12.0.0-canary.22f390c43.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7f1be3a63e0ab9fb173098e59fdad5e3c84843a6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0-canary.22f390c43.0.tgz","fileCount":29,"integrity":"sha512-aXxgYj6VGPrhWdyFVsSflHmnvD6lhoSTj/pOZZKp5uChmRBTj02hgKau1J0YYtp+aoMrSAK9Avsu7inSkHIbOg==","signatures":[{"sig":"MEUCIAMY2tnndSS8KwR07s0qHRVdPlmbECJ9JMLu4wyaHFXKAiEAopeng8UCk9vhYXl4TmIC4pFdFWlwfFerSrVrKUgJLFo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAFd3CRA9TVsSAnZWagAAkJkQAIqS5Izi50ht5sASK/ca\n/fH2B22ht21v8watWSxHohsIaS9fbyQBWSS5+A9VgRN+/cKUCG8S98+zBPWW\n+VA2rZnnvR4dKiORj2cfDY8sjaMSEHU84rHaAMGtQlVWwDHne/1AoBDblIG4\nRvCwSR90MQ1DwicucG7BMnXoNtWdZZV5nBIKygNbhWXXXJ3K0izD/GqcCT/G\nLiM24NwnNKwFEvO6y7hl8S1/pe3IrvZ+A7zejWs/3cwCGCB8HBI8mvGZTZjw\nvRTJ8+nhOBJBSu5PNSc5i4nxv07GcgSaPEv2Ipt03Cg7V1PdFTV9OoMGHRvQ\nNpfCtCsckpMPioox6mR/N4a8mF8FbMGITy4iNzFvdgJgWrVePAodpp5mBPbC\nYSRk5zifpLzLHNs6UWVzHEkeD8pkLq/ngtEdH3OK1c78wnYnA0x7orn5vT9J\nSxYbN4IGavYmXvxL3a66NPqBK3rnjebwx+5gA0wBEblZ65YDUY1mP+AvPPtb\n6XxKozDgtlb+4iN5VJI9PDkOGZzcjEoDRa2GK7MdKLOE4KSyruthQxw21Id1\nlA2hMaOIIuDwDucsDBS4Z3ahAkRHwPxGB+BLSSgiHJgzSXdJ0W0qK+/PhCOX\nnHLgvqGBIQSg/BnSUZHLxOv/Lv3tvUxBQMrTeZzY9hYnsagBnENfE3vmpsBs\nc2u6\r\n=35pu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2eba31ea1c3ae3c0e3497f3dae6cde368675a496","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"12.0.0-canary.22f390c43.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0-canary.22f390c43.0_1627412343098_0.47649826657892946","host":"s3://npm-registry-packages"}},"12.0.0":{"name":"@material/dom","version":"12.0.0","license":"MIT","_id":"@material/dom@12.0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fd6c5e37384580af403ad5e37dcd9257e480205d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-12.0.0.tgz","fileCount":28,"integrity":"sha512-vaQi+bNMv3UMSG2wwMEYen36Or32XY/djGmes5KRi8TxDBzAH9HNuE9CxYBrZqYzYFrAIfvXyEIZhlhY+3WLlg==","signatures":[{"sig":"MEUCIFsQqdbujKr1Z/oTy5JgChpLuaGdKtkKGO8MDvZ71/B5AiEAub3E+OsgC/cJyqhMfAXNzN92PIVYqP+psBPSrSusS0c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116217,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAGMwCRA9TVsSAnZWagAAiKwP/0QT7Cxe/6LDlFe2Z3g8\nBVgOKKaqCVFPU9FYMAxXYkw2t0yAl4PoRHHXmu+9aGXePxKO5RGNL5Tiu2ot\nHCXIh08IVjd8Mza1EALMop+euKf+xPD+SkrrYqxfOYlS6lNF+qIuhuUzM9X3\nN1MDnuuO0s8HWQrtOVZ9PILMo9MOpqkQ5TJijQ3HZ2CUKyPb2DnudVH143ex\nKNV9N23OYwsV9HxLERLjXfTFJvAvGjqJEe+wHJFA6uYOs75ev3p0jRkcfWD+\n/6sXl4QT4pJTiesw/KjPaKSA43adIIyZsxqzbUCcnKEbfx9RwOkkCeOZqNvO\n8Gh3nShILhn2Z4UrfQAVfKUgM9m3en/hm2q6OjRGQLAxY1SOsNnGoKDKOCE+\nw+ZhbcdcUdgp2uvkJIqHYFALK/I30797zq3U3GNjNYOHk/VM7TaK8U8rV3Y0\nXXbddZ+tTh+97vN7uXqhlaJphNCKbN90jijj6Dp4hiavzl21vN0puzsKQhO9\nybo7x0uPS4rCkwhgdFFXRroKbsCGxT76w4C1GaCXM7GkA92NYAYbdIgIye1y\nQNBraSmRE5w+/jzcEpUA2i/QgxEHcguVElAhKQvk4pJRHhZA31wRvL7t1n4k\nt9/mULTXlZi39AgSHkN3EIQ7ih7s8IMA7dGaebRIZiiGOflpkXsVXcsXYTlb\n/ciq\r\n=Papw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","gitHead":"ae85f7eba0d72f4fa5f3e8669cd316336b3e6828","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"^12.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_12.0.0_1627415344144_0.8917641807439738","host":"s3://npm-registry-packages"}},"13.0.0-canary.ae85f7eba.0":{"name":"@material/dom","version":"13.0.0-canary.ae85f7eba.0","license":"MIT","_id":"@material/dom@13.0.0-canary.ae85f7eba.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bbecff5ed4fecfc753b5d905b2c47e864f2f7e92","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.ae85f7eba.0.tgz","fileCount":29,"integrity":"sha512-yTf3sFEhl+cJ2rP6TsEnPQ5pNW1vPKkXYRBfsJ3zgzPAlxANW0NoTEYNVoY8ycTfHk2wXzJW7zHL26W7i1HifQ==","signatures":[{"sig":"MEYCIQCMn7iBKOnZslCOX+Zb8NKd+DSRB19iChoA0WPYSJYMJAIhAI8KatBUx1psWJSdkrOPPolPYXOI1OPx7R78LQHAnLSM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAGOLCRA9TVsSAnZWagAAx5kP/RnE/pFQeL72Lo58ghSb\nVyqiBATruf66AqWH31sV4GiG077Auu9Sgop4A2Dq5vzyaPq+CzQdSkNreEZv\nVzfTHpBh68felCZ/n7lzFz2agVC6VlDYZZHnFdckeTaZrtRsveIkGKeFUU7I\ny9fSm6vAgdOwLxeVQ415Yyo953mkqbGMgciAZEkUVqCO7LW1kL6bKGywyMcg\nMVTNbagDkkfi12ovA2y0MBx+8ZDg41j+7tgD1hMVjenInnsZx2QqvyrGELVK\nSa9EKRXlwoSza9exaY/zfhOuZbcVl8GoUjfOPbL8+bELX/AM1y8cwcYn8KM6\noPf3QNqcCFutWnn6o0LY6o+JDjJer0r3S8mTCsKX4qg2oI/FBK5kTkIlOS0O\nVee8reQDzGpQYu2NM7BCzd3Ofh03AVLmlLkYPuyclt/SSPJg/WriTGjSLZBI\nv72uC9Y/1OVY95YIooQlB3RiMEITFhlRaOymxUiiRYv6oS63fYrjbNNkzc3+\nPTL7bzW4qdRiCB7/7eFdHYJbebXNSPLJgZyKBDS+Aos86pMHY75TMrEG9Zgz\n5Zw+uL+6YLSQLd8ciOzZemnPNgMNq0kNNjZzBlQ8l0l2uohKC8tUdn1R3E1L\nNSwLA4cNt+nP39trM2obKOVPWJDmCfZb+nHcG6lAnwFZxZUXMmWub6NZXkik\nKG2c\r\n=bHXY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"087c731cd84ebd8c578510bd4c8dfb5d11e8c574","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.ae85f7eba.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.ae85f7eba.0_1627415435743_0.6118046423501942","host":"s3://npm-registry-packages"}},"13.0.0-canary.5981207f7.0":{"name":"@material/dom","version":"13.0.0-canary.5981207f7.0","license":"MIT","_id":"@material/dom@13.0.0-canary.5981207f7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"05af9f520629ddf8db06a0dcd9ce6a8814117fc8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.5981207f7.0.tgz","fileCount":29,"integrity":"sha512-0fWDxVt2RQOpw+5XQUsCftUe520R1/P1kqfneUkFm535nYCpaaAJw86z/NvA9HBKVV+sWw325HKt55i6xwW9Dw==","signatures":[{"sig":"MEUCIADesjjse6Bev0qHGsgT7qvUACLep5Z20JehgpbQGmLbAiEA1gd5mh1oKYlt1KHrs8wz8JHvkNvs+X79EHfs1itDLJE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAJQCCRA9TVsSAnZWagAAxc0P/RA7EQT7nYfyzBol6omT\ni4pOEV43cLPCcKaLeOnDX25t1knTpGlGGa6CAvvGbT8Lo+nY3sVbZZDOZVmi\ni3vLRL3PD/Zqg2IBayfygUhlRtE/9lX0ybQeDOlAWMi1ENtoV9/thYDgXLcW\nXpBqeq3szVjgYgOZ7BUuriBknnpBa5t10OAuft/YcUlSRlIR2cwKZFlC5vM9\nqCBASgsHChql9lxmnuxlwZkY51O/HCZzUFXSV80FHJo/WtyIBcz0Y2hPVQe2\nmknGwCvkoSssI+e1KaZ+lsX289ZU7nT/B1G8XZ2GxxcojoDxNcXp5sEkJssQ\noGHAIW6F/sisks6T/wg/nYy3zN7ryQ2REvrfR/pBLSZ8TAPeiOkdv9kJqdeu\nwe8JRm+4pAOv8jey07Zsq28nsUK/KafQs+zd0Npa+nVjMqsFl3tbesBcXIxL\nZDOUf2KWm39pn0oJIP7E6OxBhv7hdgiAvlFxkSrVqWZ9rK1LYSRQ1bRnNDDt\nanS0Baju2XnnjIfdeDgOp0hTZEOeqn9vZXiJKGR+0jA+8R9bAJ3i7zSdrpBp\npS3XwPdg296uFh1SVGvVGemCvb3C64YCrG64wlGEsARwLmrLpXzzwfDNWlD+\n57GH4NW5sDHQwb4poti0pnXLo40RxPprS0gj4xgFJGXzqhqoPVlzhvkUYk8J\njVcH\r\n=rzeW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8a8b67c19b2a9f80923dd162098b373bbf34b58e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.5981207f7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.5981207f7.0_1627427842103_0.4237266336010661","host":"s3://npm-registry-packages"}},"13.0.0-canary.83bdd0222.0":{"name":"@material/dom","version":"13.0.0-canary.83bdd0222.0","license":"MIT","_id":"@material/dom@13.0.0-canary.83bdd0222.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"093daecaa22864d07380b5d16e806c704ed21a16","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.83bdd0222.0.tgz","fileCount":29,"integrity":"sha512-U90XLiQ1kd3zDfzJy+APSjjsG80VnLtjHtGNU7lDwsunm+vhFYKxTHfy4TsVkNgZ+aeVqSJZp/4zCwnXM1cd2Q==","signatures":[{"sig":"MEYCIQCoXrCE/9YXsBix9LiiXY8C24swtObcEtnEKqnQxOGZ2QIhAL2qEHlJL6qmr+nS4NNJGc30bOyrW+bgHUWSqBIlkOJo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAZLpCRA9TVsSAnZWagAAvyIQAICClznH49LnwBBwR/qg\n1HX4gPHqgUy2C7UNEKp2KlThlDHsGnWfuLFFu271nTUQTLz46lLa9Uqy4een\nD0ME0yuUAPptAU1I1YeTBDBihiVjoKsNhBsqgIeFieBba+FvPWDDrBBu4JuT\noMRslGgqhdjAsNtxiE+J8yV6Vw7Q9zLd89j/lQ0BP/A0wTi4Q1U2G7a4aD8G\n6I01JY3YncfN2VemwGnOCZAiDoGaM2TB+uTxifYEDoMur0b63anU4VREl8IO\niv1z2PtwmAUcdJLmSI5phHBeGidWK+Ii1cryMyYUVNK8tofYYSpnG9I0+M8n\n8nsNXLjqMS69NS81r92eS+D1h/boNPwfQWOEiEKWxYsWCp00kwTpTJRXYlUA\n+d+IB8oHAP6akSHtyC/Nabtjzp+axuDdfm5EGFr3K5ZHXraoKsJSj1tS+Frb\n/YssCGRPPSpbe2lQszoi5ech1xCGCXIMxJqc5KyhhP+pL/3YlLHWTk66VMek\novcuAlEjYzNz1qRoaSVka76eJxWVRPYRXGSS4XFhD7Kzr1d3N/1Hu3vaZWu7\nt/yjsJ+PShiBQVeTu3VhWhAWPg02u8DJok14Eid2m/aGX2l7MrGFUHtpqBEU\nZqERQ/2L2LHx82wCwiON5haPIWB50fxGX7r6BomygTEdAvQcv347s4fph6e2\nOp6a\r\n=Rb44\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1f2b23ad4bf20ade58cc1b10490e9ca3f9469405","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.83bdd0222.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.83bdd0222.0_1627493097556_0.8465515892945767","host":"s3://npm-registry-packages"}},"13.0.0-canary.28656298a.0":{"name":"@material/dom","version":"13.0.0-canary.28656298a.0","license":"MIT","_id":"@material/dom@13.0.0-canary.28656298a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4da0d86d0e8fc36c6989ea0495931265ab352f87","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.28656298a.0.tgz","fileCount":29,"integrity":"sha512-HGYhYp2rk8ZX8FT2/+4Niv/iZGy/Ja2K7Rhqt7GAD0NKmdJBSP+lOUnxXI3ufAa535b6szvUNnkFkipsn4vfug==","signatures":[{"sig":"MEQCICtYEIXKbq4RVdvIXCBOF9O8aKTS7c6xZV9ioMEoB8EvAiAVJFACTVRXJeItCXAdH0vaO6ksD5ewCW7h2oxRQN46WQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAu+BCRA9TVsSAnZWagAAPdgP/R9jqCdGHvEvAi5pjq/O\n2Rm3UhOjU3wpx9yKdc/T83pYKoyZB7hKym1U06nMCi1ewE2d+a6Rq1MoryWy\na8jlfxX0kUSpPiii3Gycif/K1W85hec3zWWKohmNHvE9VX5fIAV74svH55+E\n5BkSNoIDZSOzF+NxhPF6tSN8hRUUSg0PmOgT0INOKPFtm7vJuMYD+iw5sCfD\n90gE00Uhy0Sg6D5xRdGqzlAeotZfQe1oL44oN2VeeBbbvqayJGTVWmJIBh/E\nqbZgsrerFfexNgwE/Vzghbv17mUFm2kTfnzW2eWM86Y1kivrwWJi6iAPfRWt\nrnQWsdLb9Ee69XX32XxRF4CK1Wco7oW0z+IVl5Lyguy/mPaSG1Fei6TnM8ez\nb6EuQMFy8hHTvccPS+7+c8z1ePmR0Auvyta+56HIxEpWC9P1/sCs4RaUujE2\nVN6xEcxq8Q7S3CEy7ewsLkPoDz98v43lRpbO5NCM2/Aplx/4dAtw6tLcilhQ\nULtjLAxl7vQ7PLD7VFu2C2jACgQZCfMvodSRAuCkydzhxsNipEbisFSBRgTR\n0ietfwkgVZ0zA3vgg7P2LZZxVTe+4OhfB/u0wX2DmMxEI5CgTeLZPnnHCvUR\nVUhzkiu5assM5xfUsr8XM5btU5XvW7KtqqaKLN5Tci67nu7KhXq35Y57DGtL\nK2v2\r\n=b5Ka\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5fe3e7fec89669c56504c13aadf80a71a543df78","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.28656298a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.28656298a.0_1627582337605_0.8553071526662568","host":"s3://npm-registry-packages"}},"13.0.0-canary.9e797daaf.0":{"name":"@material/dom","version":"13.0.0-canary.9e797daaf.0","license":"MIT","_id":"@material/dom@13.0.0-canary.9e797daaf.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a79c2e9a66401946d85104cd32b2e13679a68ea2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.9e797daaf.0.tgz","fileCount":29,"integrity":"sha512-Dg9FLPuzfFmAkJ4lJobgDoKOtXDdQjJU6n6Zvo5EfM5tEHB+TLiCn5aj6UkvWxIymq+Nw3ZW0XAX0hulJAd7Bg==","signatures":[{"sig":"MEUCIQDhUj+r1dC4WOpDL9VzDDEkoazdNZ8gCJSxsEXIposRbAIgEQqKW+TT1wPEfOjyEKWg5ToX0/6qbVCUQe9Ck1Xj+hk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAvS5CRA9TVsSAnZWagAAkjUP/jG48XCWDuSLmCH0tBpr\nNtCIF/oKwLkNtnnG/rr5eettm19aMMerMaR7Hh4Xf5LPXY1xzvihqBlERIqE\n76LH4tV7YFDhpsfrN8I1vMSD25GZ83LJ0Hwt5nItqBU91G7wtpqbAtZv1L5o\n8leySUI/YVd+Kpkcn8CW+8NVG61u7Yf80q7PKTv3ntfSBgBukp5fotKDJBZR\nXRgZwI+Ge4R8CgTUDeNNGjuljT1baqKWHrCZAyWbIS0KaOkmWSEAEbYMJlNQ\niPA6SPtANJ+7CXdKe42zrZRXarIA9N48dKZFY8WpICYMZjyCaEf6Hd8OXl9/\nQH+UWcXy75C20zML9nTGr9P64b225g/9h8UFgBPuZZbVpc40ul2QDC6rROtd\nqYtcmjcaNOrBQdNp//gLw2m2y/RAyBAYk936KCvp5S9oCo2stIaR3VW9ULVO\nBJrb3w8DkGepOWXJaXNgrKJFuvtUj209qHFmHHZwM73YdaTqGsGRjS3ZbEw6\nmslC3wje37See98F6V3wJYbbAl7HcP1qrduEuEc1w0IASYOL2e3/CrEeSLxR\nz5jIV4DZSjMd8HbdDH8zD7OjMFoqJoSbfrJR/or6sV0ueFYJGE11MdfBaYIn\nhtUpWhgzQ7Sx4IqfzC9Uy3Tms//AAqvemm5q/GOBgcqGkD/HFnNOIyQ8bUlP\nHK4V\r\n=2fzG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cad664597e3cc10ce42dff721f26f40b986db48a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.9e797daaf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.9e797daaf.0_1627583673208_0.9375377087770058","host":"s3://npm-registry-packages"}},"13.0.0-canary.adb9f1ad8.0":{"name":"@material/dom","version":"13.0.0-canary.adb9f1ad8.0","license":"MIT","_id":"@material/dom@13.0.0-canary.adb9f1ad8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"83fc05179535935d2667cf8bd39833767eeb0a07","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.adb9f1ad8.0.tgz","fileCount":29,"integrity":"sha512-qXbqUemDKEO58s3cRMoFKMbWBn17qX/SySy1LjmVDirrXKjiBrwQC87EYyH966VY8OzOv3nKNZ9IVeyE5Dv0NQ==","signatures":[{"sig":"MEQCIBXWj52bW6lI040YLiaYohd246+FMwvM9dSEqy4Dy621AiB88aK88cpmeQYEUCjFYugth6JRHQUyYuBSqGsZYXf/Cw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBE0lCRA9TVsSAnZWagAA8M0QAKQ0GdeXyVv8KWBTTLun\n/cwzZ5UnrebIqok1M4q8D9JZdBTwwEsplrw5ALiURNFx+pEMCpTOOr8EUvcf\nRHrc0JL+OXuvaxEhfjtpA1ldeux0nqvGMMaOn9UXDbqW34EFfZcEeuxAR0Tz\n8EIYJLPtzQuO0fhdBNE4WKzAfMyWpizSbovEAL3Fd7fhU1AfYkGAihpFlnku\nBimWytUTnze2uCeaPHh1ZJXdzqkg8rqak9JbUc1HrtBkVYe0SUVlI5qBO8OK\nhjq6PRvukppp0qmAK1/N7r7dWXFllA6xbO8bfJeDf46h3deRKVQa0tq5gybF\ntZ0xqYwBJ0bgrLjhUzAtrkl8IgPARUstWnQH5lGbraiQfe6K0O5bv/1P3Mcy\n78h5zzXB8uy4PZsu462DqsUX73e6vEErWvzsWZ189d1DhpnUEj/+7fVm6uUs\nj+oGWjKkyvc0c7l1L4MM/UKVzyU3zgaRYhCcEujr/xlq3PJvvEllyQcUSHh2\nx85r2SeQqU6Mj7LQml5wdk/c9U1XJTBwzrcclp546br8fegJmMGcXgSsSSVH\nzBYicIvrdDyDNWoe/t52cOVaYLyQpVXAzO9YCMwVcGXONGLNDcoKigZgZbT/\nVQOsrL/YwjXRnGl2Tx2VkEd4x6DyjNwBOrjciFNW0bQyZbnXxtreO6JoQT54\nXKY/\r\n=Zq4w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"db010696805aae457c8d8c9da8b394efff28ee35","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.adb9f1ad8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.adb9f1ad8.0_1627671845367_0.9693154589279638","host":"s3://npm-registry-packages"}},"13.0.0-canary.cc5377458.0":{"name":"@material/dom","version":"13.0.0-canary.cc5377458.0","license":"MIT","_id":"@material/dom@13.0.0-canary.cc5377458.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8b2d36a7d5594a6298673b7497f932384694b72d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.cc5377458.0.tgz","fileCount":29,"integrity":"sha512-sOE50JGXW2Vgx3T6pFXIvqou8HNaKpZLkSZ4kejKIZAmQ7+CeVS5PGP9iU+L7078GUyz7iBDIl6phqR64J07DQ==","signatures":[{"sig":"MEUCIAuDp804IxC0TyPNJkpQnBxOVZR8Cy9CB09Dv5ov+ulUAiEAyazNIoxLAf5oVnImXaP5unHEP3xcXevoktvfFrcgArE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBG/3CRA9TVsSAnZWagAA1FQP/0jOisJ1aAFVww2vQnki\nLUnUoNHxlDVb5hZHaGL6psf0lbh9IKcrM9pF7JJcVppS5Ni6X+qssVaRAWAP\nof3HhGr3ic065gBGpsBtw05wWwGbaqrRd51Ruu4AYXDNnoijkadU4iOHVfMj\nMONn5yfuEoB3EiHwL1paE9kELA7cN6XYVZMu2Dbyh3Z2TUoxgE7juIqXRtG6\noA+v8njlU1dv5w/WFHpIRIhSgr/QZAHjacQRqAFjcP0Nq45DvYh1RlwXDaQ3\nRsVZsxCPV6pOu8RKZ8Pn5lEuGijete0ntqW2XwoEBm9ED+QMLNvmhFg683mo\n2WLCxrtnfajZIf7jaIyNeNVye28kmeuwyDJ3K7vfT1V3RpjdZxbT7wYAYEBK\nQ1CeN5sVm+1RiXp0ak2P4HP6VuL3FaUcOb6uqv6KvcR4sSCvr5fxLUNE1rf/\n+YAeIioLmPCb342JAFZSIa0d7pWN29YphRArOgnXjBoxZ1PG414vnSrwjLUO\n9k9CdVtEONL0yV5ckmMb8jbcvj/bwjIq7w9MiWYhnomuXBWBfqoSbWnAceUZ\n/XMB9C4zhSbCgf2uRVQV4ElPscrRr53fS4Qtbr75ijpW69Oq/U7UaNflwq+n\n4ER0SYSrDfGGYtv9Un0xOIBbOjbfgUppTSl87rQhqMpo8KQendXlQieqG0ts\nBeQ4\r\n=2yv3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f4f5852cfac85d68dbd83665da839943c29dd866","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.cc5377458.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.cc5377458.0_1627680759172_0.7164325807983447","host":"s3://npm-registry-packages"}},"13.0.0-canary.a395972cf.0":{"name":"@material/dom","version":"13.0.0-canary.a395972cf.0","license":"MIT","_id":"@material/dom@13.0.0-canary.a395972cf.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7282b79088a91c1ccd558d7935993c1f38813310","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.a395972cf.0.tgz","fileCount":29,"integrity":"sha512-wak1ZDPpZekKOSSvuIUmAB8hiey3obxA0LF6+3utAIHd43FwdwWowBtKwm3Ibdx/D0eUOrPepHS7FAHoEuTLNQ==","signatures":[{"sig":"MEQCIFpLcV21dLNguW5NWXtUOlUDPC+HzUtKGkKciHTXuf0HAiB3aHn562E79DmlH/B6pubDaZcfF2yY1gyvbLGG1iUl/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCbObCRA9TVsSAnZWagAAYNwP/2QFG9SFmBqmZiJss/K+\ndPAgLq8Y5c67GSRqDImd/g38DOuwQw00aq7hGV4P9sAFh3FBBvcwYGzPEJ25\nBbIMW/C6lJe6/jJisniKLvDanbRe6uZ8+Q9Mb/QDUvdqPf5e4szrsGDUDo9C\nDQncBCp81N7L+FEsypoBmYbyIPL1bfc6mVqlPO/hq/uJkbHQ60HmJcQ2lXlq\n7XuiSdnqzZpNPY14Sv/V7gYyMrk/CrVu+koEd7cWHTsErD9ui2NbZXg1kSdG\nVxr3a/cIFYK0oPnXqAzsHuhSCJZBI97uaybK4Fe2xhtxUf6vO03aJ0OfyeUx\nOr/mcju5BbjKyH0jaUkNvO7JDXlbnvfi4llFO3ra5CkUTqKjpAXZjKwpW55K\n+vMX2S7uL+7Kh0hthpN1Zs7fce2GVbK2K1n0UEVsrCChxhGYdqqbQodAQ9qF\nAlOuYJaV7OS58QAFSh59sF4SMLQVsAcI1DC8QENKFZkIxYuUnt8SUAdJCdZD\nm9+lsAFIUNSHFzxlzl6CvAEXRZamQPoLqMohq3sbLG/bj5RpwnASqeKKN8Cr\nbWhT7oxjf+1KB0IQZv9qfnv3F3cBXzRzLdgKKmHf6sPt3TdJe+2UG0nLQ41j\n5+WRmNi3Yqy2vliSkocpbCRYECvOe62jE4IkSPoOVeWkocskgTccSFpzaD9V\nwfnq\r\n=GjMI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"00a6b6110465620df99cf5f775d52a1054c91cef","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.a395972cf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.a395972cf.0_1628025754951_0.5507377347023537","host":"s3://npm-registry-packages"}},"13.0.0-canary.7c96e6b98.0":{"name":"@material/dom","version":"13.0.0-canary.7c96e6b98.0","license":"MIT","_id":"@material/dom@13.0.0-canary.7c96e6b98.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"55da5a5f7dfd21f556878ee527d6c47512b2c89c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.7c96e6b98.0.tgz","fileCount":29,"integrity":"sha512-G2P3KHMcv04fBOfM5agsjGTnZmyzycH+XbNxUc3kSVcDLigJ7wjCQopyT58UV+2A1ll42sO5b+fSMCja4rxgjg==","signatures":[{"sig":"MEUCICmbpgwMG9DUPmO3OiPvZ89qv22+HZafxJR6+m6pw1p8AiEA7iIydkVcuUecyx7m9UqD3xd/5QmERe12Lid3w06zUIU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCb9zCRA9TVsSAnZWagAAJaoQAIwDqbOOKL09WjV0j1Zc\nZpBPhX+cXOcmQBmO8iaajvWbEYlfn0k8ffNYxqF1JBI6SAShso44RZoQJj8V\nGfTovvBs2hlar7i1wJ89S/C4exFWqiHDCI1gmHqmsl2yJL3zNRUVSgPNfDl1\nUVytzuNnqlG5IeIrnvE5JqmeRffFdxUuvfTKyOkQd0OtQsvAJVesN1dVth3h\nswLszpXt+wiDfDVTgMFt7NEqtaTp8ELeqI3qoCkSaz65lThcVM431uF8QO7U\nyj5uMi8be1V7DACek81w89OFsdPQu3H7qLl2rfWlZUvh25AcctN/COAfdTcD\nRaVPph3Qox4y2lM+tejGFdqV/RRQkBRUX4eYW+4O1U6LFZMG3qGy2gvpwXrz\nIJQstD7r+tc0t9O8JN4Snn49nYQPcY9dpkYbxxS2F4/DPCC/l/gmtSFovDv0\n7hjsd+rnYMU8ROZhh8P6ZbjFy+XB6o6LBLFzDP6p7U105U1i/GN/3rvcsb4h\nFDD5Z6cnCrZRlvhNxeVz4RFcR1ssfv675LdaLvbEtzRl1wP5BgkZ2EH+e9ko\nB5Kc/4P7Sf+Ph1rn1kGOgQoMp6vFJcFxhfcCJ5IteNNfxdxgb1T7HPhwbO2p\nsKpIZtKaNVZug0xiTx+LnfXfwBHnCY+l/7cgE6IH6rlVhP5HoZBrcXFkSk96\n+F+K\r\n=QD8u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"38c48bd580ff0facb66c28bf9caeebbd2a6a4033","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.7c96e6b98.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.7c96e6b98.0_1628028787138_0.0697448068987474","host":"s3://npm-registry-packages"}},"13.0.0-canary.a80c8b2c2.0":{"name":"@material/dom","version":"13.0.0-canary.a80c8b2c2.0","license":"MIT","_id":"@material/dom@13.0.0-canary.a80c8b2c2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3e0974276a2832795a4e5c1b6a13c119705e1f92","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.a80c8b2c2.0.tgz","fileCount":29,"integrity":"sha512-gwXtak7r9pZAqEezGcItjAhZEP/f1TONhvPYavithbncKjAP2P2FehXrArZMk7+ZANroh1lNuJloeCXTMoNrGQ==","signatures":[{"sig":"MEQCIHfB7vvqUaoyrXzjNo08WlSFTew+/ygvQhdW0ILYYFfwAiAajl4OFP2HLDB577RzUmtOFPKtZ+CVGWguGFFg7b+p8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCynCCRA9TVsSAnZWagAAbdUP/A0kbWd3u8+koqT5tGK8\nXoQ9eMwIcsbgLws5DQDkzrtT7JxKlbeeWENWsAAAjTTmRI0Gg3VTRc7/48ei\nH8Bqn/uqucbEOOdnJK973wEuDreL/9+Qc7y216KGSvy7bED/ZGBIRUHrUCGa\nXw0iNt098r6ezM8BqM21lFnoXiYI7QuMnAV9o/3HVru4Tg3LSZvUAS5DxR7W\nGt9ith8E8VVgmZ+vWE3Zltw2CE8YxwQt0GNwe1MbxycP16rZGOfcpGvoyvmt\n8Pf2/Ei03xooyn/1LWa3G/p0fx8RpqzjeQ5WM4O9QXuXK/dCoY48h5bPoQ37\nczxNguRr985zAHTyvuWPTo32eOXnIw71k6buA+2ScK6aQy1W3n9qhuL/qhoI\nv6eackosbBfslvqlx3OHNqKi0BMsr+4Btqn0yHWQy8F/zf3rw3BOSrze+gJ+\nCUvMik0JBArA50/5jOHne0RH4WcnyFftlydZHtzKd0zUOGxM71m9F4RWRVac\neOb4SYCFYRtUXSICCpmgzMHUovDnFl56chW+7GgGeutLz664W3jxwnB8Z97v\nc6wRxJt4wUPlLNcWtLhuEjgVMrnjen9ERYeZ7BPyAvlsMgPg4UP8dlb2zxp6\n8Up5AlCUiy3wn9JKsyn1oRg2cZXvK8614CjUnO2uHncfTWFQYvosPaGpdzvf\niiOI\r\n=rf9A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cb4d3f1d1d37c50939ed5269748eebb96f798601","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.a80c8b2c2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.a80c8b2c2.0_1628121538067_0.6974362485386809","host":"s3://npm-registry-packages"}},"13.0.0-canary.3dd611091.0":{"name":"@material/dom","version":"13.0.0-canary.3dd611091.0","license":"MIT","_id":"@material/dom@13.0.0-canary.3dd611091.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ec4c28d9d406119adce65e5b21b19525f0037015","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.3dd611091.0.tgz","fileCount":29,"integrity":"sha512-vuPl+scNH/DO2bD64VIDjM7jM721w5h7zXZ5npRFAkySBcFUWMmJMyM7xUMHnkvKMihZWUdljW9e8naelFTXcA==","signatures":[{"sig":"MEQCIEnhWSqOcfxB+kqIw7cf7iCD8W8iFryMRzRfQrYetvvFAiAlhKF9jjDy60bQlty2UGMhwkpAX/IDwxYu1X6lUAQo/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC2E3CRA9TVsSAnZWagAAD5wP/32PsrPvOiBQ6BGcfoKs\nHjiwR4e+ibh+Lry+1cg3GYBvzcv3V4F0dYEwNiJuheJIsl0spTITqWd5ccjb\nCpusSrTa4EyZqUxre8PTJUW2juloXqm35wjcFvijpBeOUUenSJ93OXSMrMe+\n9B9q5LaL2N9xiiOt9XpLuL34VmyjV3yLebvhFo1f9y86R2CTztq5h6h5N/ZH\nzVRBjNbGBYqCXuVMxNj/1HroRjlbSWVVsAk+Vvs01So360M9Ubj+bGmcmmIL\nRDdtUs74PlYBe5OzgLL5sqXhwd0qPkREaioeOp6k0h19thEcr+Q0JqHfCk5v\nj3K0WQOXKCsmF/eYEL4X1ERjosTD9FxRre1FS5xbhktG/vmJumy0dDzkeQNP\nAif3WTb5qhUI+JQvErkTkydrrBxUHm4JEkrtlT4H0lzyc6i8ZQnnCViUOD1O\nVq4XE7qy9/eLdGNbEhSgFRFr43jQTN/dAKa2EZanK9N39PlfHiAWegmy/JhV\nxz+6nIaC+N0G0OIMS2jv6rSAmEyfugK0fA/zblsKYEBgb5iGk8Yy4g9nBFqg\n/LowijqGWVQA0E9T7IgU0VmlM1359tTORZpYKOpGP0q0Cg9k3hl4F2jmC62l\n4ZnCkqFYivZiaqpapXrWg0Cr37aZG+1UQ5tnQ7j9+saf/WTGzeQL3xVhr70b\ncKEj\r\n=4neW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fc6a6a59d9c86ac1f85efd94a4aa6a8e4c27c379","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.3dd611091.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.3dd611091.0_1628135735266_0.2724420469519353","host":"s3://npm-registry-packages"}},"13.0.0-canary.5dee37ff6.0":{"name":"@material/dom","version":"13.0.0-canary.5dee37ff6.0","license":"MIT","_id":"@material/dom@13.0.0-canary.5dee37ff6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"054200b824025a46187a334eab7365280693ea67","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.5dee37ff6.0.tgz","fileCount":29,"integrity":"sha512-t49FQdvIjzmf6E/Q3G1LyAjkmHtbR9PT4DCTItSs1Nwn7EM9tSWOz7b9vo1KeKJyZFZAD5uklo8j/BEJAYNBHg==","signatures":[{"sig":"MEUCIEpRzs9OZLI5eBjkZTJXLntU3Poo4RLmYdNAqtBwJfmTAiEA3evHdNmjsRSGhN34IjsX8iuqc6+HJFvSPF4tN6j09JA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDCLJCRA9TVsSAnZWagAAn0IP/R1xjz5TRuhD3z6JMovm\n3cBHBxltTkwJ8iOsJzXJnRzUh+YQ9MguiNHIjF6ArkT2s4EkaR/R8lEzGyyu\n02nHBOAO3ffOrBohoUoC/m0xaej94NitSFne+wjj35W0pOxsjvcbNv9Y3veH\nUzp/rIEACsBfzVitPNNQ3LmrNB8kRYAdWSURKyUfhONbFFAvpdUuy0jcGZi3\noQ7snjIZIkqUi0HEhJJ10EL0V68OxMbJimmx/38FbcM+22c7gl/nagP3qhk5\nnh5X51JQOTNKmCRkRdLdkUOIAcJ1ZnV/tAMY3ThCDDNzqJ5jcex12XlH55aW\ngDtk9GAYcFPgTE8A3U8k3CAH0YNe2/OLMpMTJqkEWoL857rER6FczECBmkeZ\nsc92Ja5ufqkkE9I7eAHn5jF+Bmt015drq5Wis4TI1xURfL25pcEdEV+daFdv\nNaZRo0gZy9ZfYTkNx1byoYQO/7cKL4sad2tQlKFnSX7Vo939uDLDU0kYjzzx\nYMBHRjqPNAsi685Z1RkqZN0QSRccWnaxmqvfUXFvBB3if3vjZXUpHVMp5VOo\ni2/EVZiJ8oJLFZJRaHFXhJXvmQyyzIo2O7+Wt9apau6JicH1CTlN3M7noOY/\nvJfVdihB/OJgosaFVcyeOJh0DBd/uYugUKDxnP5GTXch9Id3gnC/Q3sn9ch+\ns8bi\r\n=DO8Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a7b521f6e807878ddba15c813505134621ef85d5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.5dee37ff6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.5dee37ff6.0_1628185289379_0.26456688931234673","host":"s3://npm-registry-packages"}},"13.0.0-canary.bf405d22a.0":{"name":"@material/dom","version":"13.0.0-canary.bf405d22a.0","license":"MIT","_id":"@material/dom@13.0.0-canary.bf405d22a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"55febaf6aa73360f97be0374a361aee20be6640d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.bf405d22a.0.tgz","fileCount":29,"integrity":"sha512-7a0CmPLRHD0th4isOWfuTuyiCZsCAWoSmq2hUYm2SDNfeCG6yyuszSy/MtUHGbl39J1evinZUh4uQzPaU8AoqQ==","signatures":[{"sig":"MEUCICsbXgfOe4HS1Kkmob3O7R26q9cCVkNYwebG1e9vH3xCAiEAksiygtXdmxnmB9OUdJOG++kSJpLGKXIRgcndoqfYimg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDEdOCRA9TVsSAnZWagAA9xkP+wdGRycJAKAdWHEah8UF\n2T5dtEWqoD/xf8FvvLe5L746rURinoNgTfkeBw+lUJ0barjy5xWU/u6f0GlC\nDw5NVXsJ2UnJ59DvIrwFaOVA3M8mfkDnMIiUSjBRNC01KtMYOYG+OqZouKyP\n96e3JZkZZWSeqgWVNU0GqOkq4OBppou1BSriFE9nPaxfXJ7Hw7bSByiaJsbq\n2DFNFeNx1FSMXM7zHNS6+TrCjMRDGU35JxUoVqiz1IJKz/qK8aQ5vQltIeuS\nvOVEINB7XMg1g0BJaHkgHe99qL6eLdGtStc8nGEARAyW86TkZkWhuOjPxrqp\nCw2Ekf69ZuZeYm4kpsaverZ2V1MnZUBRluTlDGAjGK5j/9FoMpvymaUBXJ7U\nVXD0WmsRdZxRyoBN62y8OHmV6w64Yu4JLBb1xEG3FGoyU402FdauXIxQHI6S\n31LZUOQ7Ycq5LgMEGUe5L177M5kWYwuhKwMpmmiVLQKMu9/2OW9w+zlR3pL2\nxid99uF04ZvTILrhF4KCx0KtVD1+FMSSeOqSCsgHXYEzA0kqEPYWh/DBp652\nTJMXOzIiIxRkgciW6lRwJKqKpKxfdNYU/AFUJLFbXu1mvkXNFoXf+KTedqBc\nn2z3KDoIeYloOSQEDMaZcTfp4ExcM6egAGB914I7WXIbbiH4/bYHQjAxZ66C\neCJA\r\n=tk57\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","types":"dist/mdc.dom.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"00ae15a245c6a46fa0a13aa61a02e5958c0eddbb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.bf405d22a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.bf405d22a.0_1628194638614_0.6741571089477867","host":"s3://npm-registry-packages"}},"13.0.0-canary.b47dd37a6.0":{"name":"@material/dom","version":"13.0.0-canary.b47dd37a6.0","license":"MIT","_id":"@material/dom@13.0.0-canary.b47dd37a6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7d9fb8641e9c97908a373ab0602390fcc5e4afe6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.b47dd37a6.0.tgz","fileCount":28,"integrity":"sha512-HjFJ19QMqcrriOzrZJzADCKLkWkgPfXK660DBEjrxA1V3QSfVaunersekwvCKLh4XhP6W/ftjTnhq6ZjrNMc6g==","signatures":[{"sig":"MEUCIQD02ssFoQ+KoYE97wz0d1wtoGuO8Jbgmj31gweQh4ravwIgHBm2GNRzOvc0gVrcT5/En9soNc11+ti8q8EfaXjUmf0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDE7FCRA9TVsSAnZWagAAzgAQAJM7/aAa0NSsBfrxR823\nBAfsWYffQ/4oABrj3knJpEYGFCVrXmMWVNwUYf9X3LYGMhWgDOQFqEPF6Nsu\n9HIjGLGdeQyXLoEH6cRcmlJYYjWEWmBLpoX+MLEOWDqSQtRUVp92wttJFhLu\nuJXA9WkGHItSfZsiWYuf28jxsbfd2C88NJT4f0jgQuDuTIVKa0tS09QCTxfh\nTkvE5sRxeMOhIr6O+QWFoSJBfgSA3o5pO4y9MYYwauPD/xd7ie07OWJYBNgq\nXW8puwIkUpxnvwl+WJfPMqa815oqKh3TPYZ0Ac7xbVWxCHg8bID8ATACXpz1\nj85gMkKRBA2Yt577XRkW6N3sWxl8u7YkWZlN9c/BkgP+sYGAmkXK25Vo3afb\nWssoqrd76w3QjlzgOCVlB2jptdr4ni5c/rnxjk489TLkgqDaFIP0StYpxS6Z\nzrG+l8aW/ex0ppcyUEXg7dBvU8JFgcbn03ZnGuLUZHRHuSwXvzm0oB4W1oKK\np+mzAxtceijZ8bQY5mm6tgqeWU9olsii5pyI9rrDySp4oEubKRuRECme5xdf\nqMX744XlFUPG/NboFKvU3dFyaxi3pPdQVy8BYsbo/WsY5X3ClrNik1vYW3um\nftxQwdmHSnqcpnaeJiQdzhvgrkjnOsnAwp9si2+jHMGgQfb9/u/ZN00lSvsY\nRd6+\r\n=JVsn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"47f67e5fb310c13dac39b9beefbd6b53fa54d1b2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.b47dd37a6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.b47dd37a6.0_1628196548954_0.7850975935662472","host":"s3://npm-registry-packages"}},"13.0.0-canary.6c82b965b.0":{"name":"@material/dom","version":"13.0.0-canary.6c82b965b.0","license":"MIT","_id":"@material/dom@13.0.0-canary.6c82b965b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2052e2e90610799ad29b78ef10eea6cc73a4ccda","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.6c82b965b.0.tgz","fileCount":28,"integrity":"sha512-XOZBOSfVS0+vlQQFAuNQMhbh4hnHCLbAGd0Jr/sTpBOpVueqTiuPiHa7FNAWzJgDykT3SdtR+llfwCoUUqLujg==","signatures":[{"sig":"MEUCIQCzVDW4v94yw6SI76IKZZmfGA/AkViaMuTjCKbu1NU19wIgVKAcHLnU1eomZ1UY6dkuoiwjbSzoh4hLa6oo3jhaSpU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDV/MCRA9TVsSAnZWagAAdVkP/1ENdQdntckzsgu6p3Yn\nOp6tHLQozMj0/j22QRdhfo+pb23rcg94VVdBqpUc7UkuyGNWoU58aDwlZFfi\nlDl6FYorzjWE98KkKDi1XGunU6SrLguejuu2EFMjwxCbeN0InXrs/YhZR5N+\nlIksZycO2wA4FlpyxJbcC1SRB2PM61c6x9TocBZ/qx1vGqhh3Gcsd+FqdpYP\nrGcLn6fOC2Ta12IM4H2c8Oweq8rjUCkdcGZGGDzHT+yVxtNcuG5rPJwyrjnL\n8mnE+iy+lPLSdfKW3EMuiOIQWdZZ92WGzEkXvXJUMigOa4cjkM80RghRSQ4W\nVvcynbg5BKySdQvWT62DF35KLhUPfnuBYblpVJJY/Uzct33h+P5TpiO4q5pI\n6GPqbCwoDluxdYUSui6OVPsNcJy0IsEwoUO8RvU2jsz80mIS6fWgaNQuccTR\nFtYHkN8yhj2nKtl4M+zZ1aI8J4+81+BYtb7vHgvY3u1CrwWcX/6q3XXQuvXu\nITeycxuNd9SgYsltjR9pnUHzazPf21YuhOKcOvZXFfYxEgxgtChmqMJX48m2\nC/gn+PUHtawgdv5ASyL/RkaPkwOqgJldjj792flsLmrUD/6N9LfJgK1WfZC6\n6wYD7OHJ7EpFKWRoJknDcrY0JIHu+gxlxX23PAfNPElAYXYjPMUm7p58DKXS\n+EKp\r\n=252q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"434420b9fc9470dc77940d2240234a564be58d02","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.6c82b965b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.6c82b965b.0_1628266444052_0.509086266617778","host":"s3://npm-registry-packages"}},"13.0.0-canary.4ca11fe76.0":{"name":"@material/dom","version":"13.0.0-canary.4ca11fe76.0","license":"MIT","_id":"@material/dom@13.0.0-canary.4ca11fe76.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f7bb0b3d539b73b2bca55aa5182e45bf94c2ace2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.4ca11fe76.0.tgz","fileCount":28,"integrity":"sha512-UlSkU82X+jXL6EQTerMRSfcl+izQM+KxCG0MdGaDxq4Dpoo50ZsJUj2KgKiuVcU28ZTht6essP1Ph60Aja7+kQ==","signatures":[{"sig":"MEUCIQCbC9VM3G6wSVjOXdPfubj53r/UNtInuVaQ7kKgBbU+XQIgKhurpSZ3ynCiCS2vVz59bBKF4tQ8S3xZmmzVQcyAWew=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDWwbCRA9TVsSAnZWagAAZIAQAIV4gsrBMeFNqki0Erhl\n0+SjDczjQKyXlZFU9sQZK/0F84wswZb3UJDur3JiIs2DUq4fnCQYi1sY79+S\nXEAhJClnTlpbSRww9jxfGPimUCrTdmbHkKpSgtwlBI2WtGeMW8RnMQox2EQO\nTG8eNCy2FzjmKzmEOybghoiGZUJiH9sxtmO+z6jC6qjXk053rsufOd0MasVP\nZpNbhNtVVFYvdMxW7pQRW5ws52zMxd92zmbVEY743zzpqvyuBqaOR0fvcx+5\nv9ZfcBTnqIR6/+CdAh5rWjfmW08ATXzeyy9Bd9ybuS88AuuOg42dqVdLQaG1\n6xFPSVnbKhvOXNhYY64RawNriCFVpjOyGao7fSPBPjt6hgaPY+ZQWlskg3z6\nWmWmmono4zLxUHGSAQYkyZpFcV7r0YsE6dBE3X7DPEdSn0p7DCbrXQ/28FJE\n1Gf7WfqNPL8yEb1oOGrpe79UN5j3LZxqUvj4NJ8fCDBHTolYtkC7zpAgJ0Kd\nf+Wvrf73ceLPv0i99j/nK5yQujmWpKqFORtfOeUrf+sGEfznnxmf+EW/4dH5\nWs1J8FSlii4mDdFRUvmR9R4xljnLsb5EsXDCaGOIFPEQphn+lYSiC1uVlkW0\nPAb4p+C+Tv1CKdv7WBbA8Jud78ZTnR6P3kfstwci/To/WJuDBWdX3aQPsS89\nBOZw\r\n=Y8Eg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f012412147804a7e8c4bbcb205a7a48a045cd694","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.4ca11fe76.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.4ca11fe76.0_1628269595639_0.32056693470092523","host":"s3://npm-registry-packages"}},"13.0.0-canary.510cf90f2.0":{"name":"@material/dom","version":"13.0.0-canary.510cf90f2.0","license":"MIT","_id":"@material/dom@13.0.0-canary.510cf90f2.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7c15de32ae323e224b260d8134d7abcc8e2f66f9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.510cf90f2.0.tgz","fileCount":28,"integrity":"sha512-QQk0ZAtSD3AeCUGHx4pM4qBgoijK/p1RYIl+ZjK3uHtX2Bj7x2CnZEu0Acm7ouyFngTf0TXdfHNiidPnCy8nkg==","signatures":[{"sig":"MEQCIH6eV6PLWWt7La163OCeHl0HoqquShmDjB7KnTyjsfiEAiB8B+kyErxxKcLK/mN1+8Y29FJZtAuKjPSjavKzosM3YQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEWLsCRA9TVsSAnZWagAAIHAP/1q0/O8OuGJhk0Fiwvyc\n3foPvAF4kdvfKLpaheX2YL7MwAHXIYxlzt/+L2fHim58xJbxWYHZgiwDnAgK\nX0YeWB0jK8RaiH1xvJG2JhwwMMo2w9M6eZ4VhOYIo77YZYRnvfCUmKaHTqRn\nswcOVTuwkwn/AmepwL4MAHUNc6acPcTG/HdBsGAmvglucJEwI6JuQ4hglr4/\nhYgFd4H9rXvx4enJ2FnFZXiaAMu1ngTg3HB5wwy9nquP2UFFwXESzCL/Dacp\nd+oZZM13KJ+ZTem7fOYwv5NoQokDQlDwzr/jEpk6eQCnGAtj6enxqzBvxXto\nfOlUgSUnGEQ9DUsOGDN2uDli0ZXwgbTg4dApgYlE/oBgAKl6KN/mJr5PRnnP\n9S0Y/tstUiPt8SWyEMVLKl/XZohWv8vUPX9s2dMz/cUCtUp9C3bMqqaBCT7g\nwvvJ8hEt4SY/2CmfZeKBZj4uuULgfCCBiGlEJBb/wvZKAuyDppZOVzpoXn8I\nJ8X+g8T+uG9EAU7WSg0OqC1dxjUH7aKW+njiSYK3TONwyXxN6uBegVA1GYz1\nGBwrudss/TlOYjPK2ZL/hmYJfNinJsCBybXJV3z1C93tRLb4omCHyj5olSuX\necEUlxdqvMszegv33t2WImM5O7AYXxiCPS8be25ueCaNvMizCB9dYtRHfiVr\ntlIE\r\n=HtMB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1e11d1f2c4c830419dc862b62700d4484604a3fd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.510cf90f2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.510cf90f2.0_1628529388675_0.4947293232686716","host":"s3://npm-registry-packages"}},"13.0.0-canary.17580ebf7.0":{"name":"@material/dom","version":"13.0.0-canary.17580ebf7.0","license":"MIT","_id":"@material/dom@13.0.0-canary.17580ebf7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"043183ed127258625c78435f5c130b1c1fdd95be","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.17580ebf7.0.tgz","fileCount":28,"integrity":"sha512-rSSX1orA2QEXhGKbk8cc1BxpJTObl7AoUkyNUwLaWopYFIfk2vowQwT7mEqMMVP7zSvP0uHHocYdNbTzVJJhEg==","signatures":[{"sig":"MEUCIEqjz6laQIurqZhVU5T6yPN5SqqWYVJA9gPBtYRXQQCtAiEAleHI/gvUeZc2KRfwqU5XnSc5XkcIuqBXcFAMb4yyWS4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEXD+CRA9TVsSAnZWagAAcloP/2Oi20BJQdoW2+hyoFpt\nGFYnwr3ry+EtnkjzqweTJBYKWW8MC8B0cAN9y53m6mZKpsbI8D13JgS0OUWy\njD5uLrUYWL68A71n5d6552PxhZar0hV8ZPkFD9DOMFRQaLH+cGTX4puf8XUs\ncsS+xZFdem5Ce8k+bVYjfWJcApixBasuVWi8UW7o7QjAHs1ONkTbtVJ2MBk5\ntPrvEtzPQeykECbrS5OrUwfmguB1h7Kuz70nme3+4pEBlijXOQ9i4SL2sbbp\nNCx+K/30oDGYJWRLuIb1B2VAoDc65YYJtb5uK2jb5KX57HI3d9K9BTNvyfae\nKACGCQVbbup5RZQWXeoDMVcMFgLSVCpSjKKGzdoPOAwkWVbztkfiPPxTdmPg\nKTF6w8f+7T+63QNSCc+Qe0QvYD0Iu+AeEsqqpiRNoDwPc9R2UJsiPf5feOII\nG2c3rb1XTsD2Nj5arknG+aC8//FjoUwSsrFgCDaI9un4tcaLS3TrCz1Vko8U\nVNDNx1W6sgqBsPx5Kc3tLzJSER6UttpkXtPffXNiDmCFKIhD5s0DQMltXCgB\nMvYPjojEFlvjsNQNv2r/vMlajAR3wN5jlKazJWs9q886P+HopFiUe4bUcZiT\nhrWqe7hj6q564VN/scc9I4hF3zpWBjJTq9alV6uqQmeCU6VvcxSnL10YL2ON\n3Lgx\r\n=xSCE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5bde42052101fa1fdd48d89c3dde8b9e99bdd1b2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.17580ebf7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.17580ebf7.0_1628532990349_0.8350480558307856","host":"s3://npm-registry-packages"}},"13.0.0-canary.7249a3060.0":{"name":"@material/dom","version":"13.0.0-canary.7249a3060.0","license":"MIT","_id":"@material/dom@13.0.0-canary.7249a3060.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8ded792440ea4871491d62f212973fb08ee14d1a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.7249a3060.0.tgz","fileCount":28,"integrity":"sha512-XZr8FD/eCrkMqnP488Re8jnGn9JOwP4ibITDph6hb6zYLJcRF9aOtTTcgfX6maUB5NYHMO7jXCHKAJ09lUy+IA==","signatures":[{"sig":"MEYCIQCBKN7IikY+UZNV1Z/xzJqi9JVNBVKrtZQYzn/+kcrhZwIhAMGGpkj3Gw4daI8CT6xpYc0Z3w5/0ycL2Kx2HpxfkcsF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEXH9CRA9TVsSAnZWagAABhsP/0HiqWKbKiOWRO67JTUR\ntWPY6nLj3vQhUq9Aq1EGd1oo3FOG7IJ9IjqzaD5Ad+8iese0jZPgCvhvIGcS\nkun/1Bnp+kJ/LjbtviTNI+a7f4GBNcBgm7KPizclwftOpTcERIaWokEAtFsN\nPE9a7pthNJuKli3S9q2rUQkrYitskM0d5YrSrYdFx9aWrnvl6suf2OD7ymSe\nTW7VbgVuFU6PnKvNuW7UYo/10Ca3v0key8O/pXOBy5dDDAmXKc73uwNWoqMJ\nOvxKaXK7Ynidjv8AZw9CyCCZNhWhPuNCERGrcifnqd/lPJTbl2CWtJx64iJ8\n8DKTsBYH7D1+gCVIVoa7n8L4aT2NHKSXFlH5oFGHmLxNpM7cG6nzETt0k7Q2\nze/FMKEVUVkSrmcr69CZYkaRvtQ8cAjgYRic45MZcm4yIfXbWlNdl+Qnbp2Z\ng/OvVgUKaIxgVGFhKeYM9MtKxu3q8FKaGI6uayQLQGOc4+lbG3qrulA4sqrT\nHPlbg/QDTCZtQzBurVuEYq6pE4/50xNayArwOFUl2ur6C9vg2vZp0WANXPTi\nlKlYHWCgJ/Tn6z1ETr+0EZd6/NkZF0Y63ktUgJXX0bC1MGd9RM2lb7wl9ROB\ngmhYoFeTGpVbjoFrq+zm+CliZczSjzuI1D5S39x7WtZj3rSNL+a30Bf+1rnv\nWU6O\r\n=qrv8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3412ad644836acdf464e70d019c36080ab377321","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.7249a3060.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.7249a3060.0_1628533245709_0.8186091154101367","host":"s3://npm-registry-packages"}},"13.0.0-canary.4c405863b.0":{"name":"@material/dom","version":"13.0.0-canary.4c405863b.0","license":"MIT","_id":"@material/dom@13.0.0-canary.4c405863b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8975322535b558c03cd895c26b491f73a0112eb4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.4c405863b.0.tgz","fileCount":28,"integrity":"sha512-e9obNL6XitYgKh5BKw5wAL//57ctOP+btrEOZNc77pLSTCPT2vO92xjJpZsUoMkUmkgdIjRTpE/Nh3TkESXkZA==","signatures":[{"sig":"MEUCIGd19EW49CjYKGIUvYt4lr1ng/SsU2uXB9vB6HNZLyS3AiEAmL0+e3eqFnvkfJzpFyprrTuuJ1cQYC1XQDFDiZ//6dU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhErnwCRA9TVsSAnZWagAAj+wP/iGM8Ij0dbDwldDnw5g4\nZHp5ZUsQH3+xs0FVeGgW/yrQ7Zry8zvDfgqKJMhDyocHuKTpDlmSEJmLBuEa\nJ1vWjPRrvmvg1Fn2P8C5h7OdAuGJGEHeCNnZILAE/hFbkGRqEyo/jAiBcX2g\nQ0mvII58zVrbQ4quA+AhlWyOQkp0epHDXh0pLKD2xLfHJoBdcwAKEuQVQA/o\n+v5TCwduxFSGYZrAAylKNRWD+EMxqv2TaNmRk2t1p7lLi4skDoOvEv59eILC\nQBL22AYKkHe5eWAsASh5x9lsV8KBl+8NeyzsuuM+rorfXcsjrtI0K4Sy167Q\nCj5+LBrtT/zGdo4ka2HwyjesyZ2xa22D1T4YuWzCHmx3rJcmhm0mEnUL2aCM\nVPzpR0qw9sNnLLOTQ1g0TdIdQE+zMpO8GugkHWcwVgjPT2sAChFJioRVH/tg\n79jE18Z1UuqSTn4kslyjkBkvMoDU2ICp+V2mjjhzI0Sw/ZQkFxhpU8cUalkq\nd9zyDPuWFKPSVF2Ep6qvgwamCnMDF149zYSNmV8QKEgXmqlVvuSJTdeAUQc7\nAaDLx1kKjOMTflOstp7h/DSFNYIMJDcD6RDla9LmNxucpDxZ1xF77CjVkB41\n0NRNNaiRERgnM/Je5lopQQAhjpT2s/iKoKPxuZZMc3100X0jf3mdpPh1P3Tj\nVXgP\r\n=PooR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b3861554313a19a861a5f6850f9df33ae5bc42b6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.4c405863b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.4c405863b.0_1628617200422_0.643254053435097","host":"s3://npm-registry-packages"}},"13.0.0-canary.f4241a42a.0":{"name":"@material/dom","version":"13.0.0-canary.f4241a42a.0","license":"MIT","_id":"@material/dom@13.0.0-canary.f4241a42a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"88ec8fa3919a878ad2c543908d302cb2bf173b93","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.f4241a42a.0.tgz","fileCount":28,"integrity":"sha512-yjFU6dbagDZSp47SphQDCxLbO90CMniiBLN9xet0CxOahtFodH7GTJqvfLQm20ezqjgo6bg9u4SoZ7p+aa7dvQ==","signatures":[{"sig":"MEQCICpDZcKXY+oryiUbE3kQGv0fPxvh79ZEJdRodiwFk27uAiAKusZgHIycp/JROZIqVZGTEUGx5owX17wTtxEcw4qo+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFAG8CRA9TVsSAnZWagAAy/sP/0gYaCuLo507WdVdgCZ4\nPZFRzLBly1EoIqwRZnvBfTaRrHZZGRNz9xFRRMQtJZ5bJ/xI3laZNgqLlmW9\nv+526NFwyBE0109l+GxU5qnGZfH4xoBRDxx+eOBHF+YGmIFv7gVnshBVPEqh\nFpNla8s6hbzcJ8lzPSuO6dkrKSp4J6ww5MpP+6ip6Fz3+ry5oPev4PSD5TBR\n9P48zdz8+0yzsbOVm6GQ4Ub1v9l6L1p4iWEYKt5i9zA0RUk9ZPkuLSDs1tXN\nEy+e4bGUw7bqrWF8wPRJpOJqtwWcMQ1s8hCZZPJlAMHZVqKL6rQ1Dm2ig4/x\nf0IihvgRrAnB9ruTGt1DD3dAJ6NjQOIcYZChu07g4bA6bMQwE5Ki9q8admHG\nWHIrBhWo0DAcVzmi1MXi9eFGo2LDpxHlRV5oW9Pd6agD+F+lM0bzO/wlcJpq\n/8Aly7CJiUaQ8Cn7Nsvm75k/jKusWmpJS4esLxilBXFEw9+1aCskMTLLkWLl\n2Wo32vwvQPpWqHOAhTXJT8JLy7AEyAKqyxDy1YeShq8As8dJoVKcapDbEo2/\naQ1wk/4WIh2euf7s7IZwQLP9kSlAZOb3iwKtRAZobAP0dbcp8IcilKUPCqUs\noX7bbl4fG0nQjNVYTiboN20yJjHmPTT4xUyDiIlEt9N/puDW/uyzDyvGIKyx\nB00e\r\n=RNo3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bd97e42dc6a97fb74d92a9cb04e919c5c8af4da6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.f4241a42a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.f4241a42a.0_1628701116164_0.2177320862943053","host":"s3://npm-registry-packages"}},"13.0.0-canary.0ad12ed3c.0":{"name":"@material/dom","version":"13.0.0-canary.0ad12ed3c.0","license":"MIT","_id":"@material/dom@13.0.0-canary.0ad12ed3c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"736888b222adadfae103e6f011c81352222d7ff2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.0ad12ed3c.0.tgz","fileCount":28,"integrity":"sha512-Bdd6fo2NRcWVl+MereTCTxsI13WurpE4rKuGJ0P3y5S1nFRN0leuYWEiDr3Du+TFtqg+9Zf2hJUfIIDdTPQSGg==","signatures":[{"sig":"MEUCIHAc6EnPYInH8ipQc2c2eg0en1hPwPtSHHZZYS8T2J7bAiEA89j1PFkRwU3aAegIamS2er6ni9grXeaDTYJ+MeZ6DeQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFEDjCRA9TVsSAnZWagAAJQMQAJ+AY9HxVq3OBU5Z+qmw\n6Aiy9ssctvIWyZbBWsMwW93JQBMvvFB/Fe90uLaB5XCMWvEylZDTIe4JLqtX\nCqjnAosKt/HT1owOkWVoBbM7O/siT4LxFt3LGs+BR+Jo0bABoB8J8nOVJ/Wx\n/GTZZ36OcK5SuPYP2xQdQriGf5mw4pPGzbob82mKY/aA1A1IA/z1XE/wzkTA\nvH90x0m67rgPKAQd33/s0h7dJtP+fyOL0UyPzkA/EmRTtr8aDb2MywHFHu5y\nA0X23rlPfKhAAuRamC6bVxSLhm87HN1OeSXUtLpUWLH6LjiFlO1Jl5yRApnJ\nfnSxUblCMdVDik8XxCdfxyqOOmAN6RGi1ICW84UwCfbLqS2HD46w1u7lHmpE\nE3Xs3DqT+7MzuZyIGx98KwCxJsRC27jWG/0j/MSZgKP8B4pHGogJBoEhvbPg\nNkTTMXt9kW6K4bB0DMUEKmxKcaiLAIlfvN3UFzBR/aqfMw1jxAHSIZdWAj1D\nUiZvnGtMGJNVOZ8BBf05+6arEGR7ZizyEzF5otztczaU1TNsFQS7fCZul5IY\n21IF+eTWw3K1EOfnjMqN1czPHvpRO3A8j3Q8KJ0ylJk3nnCp+ezWR2vQ0KIy\ngiTnEABRcvOC8n/VQ63jWvjMYskKdjS4tLGIYEUIvWJoyU7Z0YZpgvDwKA1k\n8IDa\r\n=G14Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"db28e7f3596365b1d41f14b53d656a743eb28bf3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.0ad12ed3c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.0ad12ed3c.0_1628717282875_0.7424869294087433","host":"s3://npm-registry-packages"}},"13.0.0-canary.077dcfcfe.0":{"name":"@material/dom","version":"13.0.0-canary.077dcfcfe.0","license":"MIT","_id":"@material/dom@13.0.0-canary.077dcfcfe.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"73d362f3869c537faee767f81fbd92d5ad704c7e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.077dcfcfe.0.tgz","fileCount":28,"integrity":"sha512-89i4+s2jQDh3vYUXlVj3YhW01Hn6edeS5TDsTbXlFe/irVIkLI1fwAh7MJ6du24Iv7SeOQWSv685hra2na67Iw==","signatures":[{"sig":"MEUCIQCg/mSu9dUoIndeyECWvC+gXlhZ3o6/i4J9b2dMb8RBiwIgeTkXGxbcbWb5mEL2/wKxQTG0zjAnxChDFytcj9XmHTI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFWBYCRA9TVsSAnZWagAANIoP/2aike3m1cgHk+1yfV8d\ns9nCGNOiyeeeKWp4RTWnrJuwbI4NmbVHJ/Dzs0LqefGQ7MuZGmmYEbWnrIBd\nM1eWQdllMAdbzbtP+rfFaX9julequ8G8Ab4AOwZ6dsvrP+BQ99BhLfJ71e9v\ni6BlvmnbYeP8P4kZq2RRGJ8esA4+uPZBN5dvOEJD6gTxMPJqfdLhz55k2uYl\npMef0RLRgWeXpekBuQ8+LJp/Qm+gvjT1mN9D5L/vb7NyFb0Nc7ryXp6WWJSU\n+64fWquJnaY4Ape7AsHUCS0YWBo8+iefVKqh6CMnxD6Rq0QJGSfkogoV6iQ/\nQdUZ2UYSrK2+aeQMu+KfgUcqxTifvXdmaSzXDpwOFWRFzsdkYVvw73Trh6bX\njLrkoghM3RGYOnFZ590yftvTPUQ9zNBN0ado79o2nkJkrx0hCXzwlR5H7Ayn\njU7lKUYGlVw+CQyI7UVxT3YzGjGUKu0Vw5QE/VLRjQI5KSgkFL7ziveVOtb1\nt7OD1v0BsIPXezIkC1h73k4TrevTBojsnh0hIxlfD+ArW8vby+st8bOq4BiE\nxuZPlQSWvdKyimukhqCc0Rq5XJIXQeruuUGorGDgXw1bWl6WLYm0R8EW18vu\nxcQNNnHTL2Uvwc8O+7yb0qUtgE1+PGk0LfFzDg/CH4UtihYJ2OJahg/pougF\nkG6o\r\n=rOvk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0ce840a62c702182bebe1a5f2ed037bc002472dc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.077dcfcfe.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.077dcfcfe.0_1628790872638_0.2634771701195733","host":"s3://npm-registry-packages"}},"13.0.0-canary.e3346766f.0":{"name":"@material/dom","version":"13.0.0-canary.e3346766f.0","license":"MIT","_id":"@material/dom@13.0.0-canary.e3346766f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"801c55f3f3a9bdf518f523f81042b245424c56fa","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.e3346766f.0.tgz","fileCount":28,"integrity":"sha512-R7RTeh1TX1Kc3UpLliFtcpL5B35sC72+RYxymSPDhYh2O/XB3hVfO9OAXZx7xEgfnS1gCOzivzu8ZmSr3+SaNw==","signatures":[{"sig":"MEYCIQC0LPQjZ6A/ZkRkMCG6cuPnQvzrwMSYB9EBvKZcxnmDMgIhAI/Wb2JX5z5B/aBdIdElqFAtoCKOKl0U0qu7fj75tEqF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFsueCRA9TVsSAnZWagAA6gMP/1z4HW1tV/nj2RghhmOO\nIUSdFqCXTBBpeYLbt+dvgFiiFHNR3BlJ5an6YkhLng0ZhjSXScjd1Jwzrhmm\n+6PSbG81GMmKEt+ioRSCySOCfaqEYpey75tLQY6AMOo3G/J234QNTrfmZB5H\nGRq0dMYScFIHbx+igs2fUbMcvn4NFkt7WwyP+W1ks4pbClKPKkFoyeIoBniw\nx27dsOJdVYnTGBRkViMB6Xa2+AUo0B2SaGSOKSbFI7wOv0Alm3rUA5jKYfmF\n5ecPXg+aOKb4IV82tzSQRnE14hm8CR0sAauKSa5QOKNOY7+fIwXP/mxCNULa\n4P7QcwZHbacu7gn4b6I9KYYveRIcnRhZ6GCo/hWeGg+xKcDUSfeAI5mPgKgZ\nOGeRKqGQFE+n6NWw7bsKW0GkzCUPO1rvr52GcTejME/+7D3CvG1E2wMJ54N5\nDPEyjCaYhM5v7za1zjKtJeCSL9n4AfjYivvLq0HAwosfi9T6RCOJVOo7Ct3I\nO3j+1TFJ2QYawSkofphl7HANeGyYeTkStu47+Te+W/l8uMmk0UeEJkV1qYbJ\n7CXBi5CcHUIq/NKNxOj4vQ7Jb1p53PNrU0LE22qXBJmd6tHczlVh+K9XNXWe\n/L1HbvoucfDVY1j+LgAsOL/gRJpmhzExyAolVTNLUm02lEEdKAYcRfa4QVfD\nxJY7\r\n=Qknh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"03da616c76c8b7fab07a24f82209f171a2fec41c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.e3346766f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.e3346766f.0_1628883870324_0.3556652569743801","host":"s3://npm-registry-packages"}},"13.0.0-canary.2fb068fb0.0":{"name":"@material/dom","version":"13.0.0-canary.2fb068fb0.0","license":"MIT","_id":"@material/dom@13.0.0-canary.2fb068fb0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b4a5f9b3d4f3015435bd7b105d3db2e1581d019f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.2fb068fb0.0.tgz","fileCount":28,"integrity":"sha512-OTrvk7Kh6XbzcNHBw9iL/oY07VVR4seKCbSJBVtSfHBWSPP0X37/Xn//w5VYYt4Un0YDgWJxN05yKZoWGmh27A==","signatures":[{"sig":"MEQCIHJEdYtOPbfl8umNBDQjiyiJZS6RIYVTJJHKEGe4f6vlAiBlWlUp9arkYr3hWwGM+QJ9VonoU4DU8A5jMoCjaCsfSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFsxhCRA9TVsSAnZWagAAjGwP/RDWbh2ec3TGxD252if9\nXU/K1c60BW3+4hS1GANNS8OhLjzRFifdJbJvFXHmyhqxTi1FcdEdSd8f2L6G\nUyCrvX65PFShYlLqtd4hNpwhzWH9jV+r38jupXmMruFX3LBgCotZGOG9aW52\nREZKMSZ7QOnV4ubFgSb5r7aO08z24o6PBuNte+1+RPynU0hwolf4+KqYyC6b\nuyIPc9GC+kREP+N83i1XhyaS3EBlO3ErFS7DfpLAd3p8iX50vytXkDOjc7WQ\nP2pikdxIgTtz7+T4aVYoWCdwjs+fYALfgxqx9LOKI/Qh2RdOBywxsC5D9B3l\nx357RyM3z2Jki09+t+UfH6admBV2m0YENJ46B/KNkoWcbuBX6cC7MoOAeeOU\nQdInfJ0uC2DoaIzVI36yepHeYtkeLvgKRykc3v78XeOlxrYSjnNLZSIEIlfk\n9NyjkduL9MAFO+CxavzHnzRzsjVO9vU6BrqtdFFHoYTQqv25PFmUX9JDwugm\nkMpGm1x+89UC4y5YHpwskDR1777nmNii9FnPrILZNn2JVqFupkgesD9zWuNV\ntGgr+ZsgQw9tPYyVldB8mM/jdq3a880pLkafFmKIuSOt9MOF/nYJHZme5FkD\nMX41ZMPhbrpqrVDV2wdJ3rthQE7Pl2eBQVO4sUW6quvgoiWFxyF5t4pycTbO\nfBOy\r\n=+tUE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cd1967c0a3a80639eef1dd76a8e579a4456fee90","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.2fb068fb0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.2fb068fb0.0_1628884065656_0.750015096542374","host":"s3://npm-registry-packages"}},"13.0.0-canary.fb76c5069.0":{"name":"@material/dom","version":"13.0.0-canary.fb76c5069.0","license":"MIT","_id":"@material/dom@13.0.0-canary.fb76c5069.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"192037585e86cd24000d761940c0e35565b09b0e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.fb76c5069.0.tgz","fileCount":28,"integrity":"sha512-WHTf/28j6vdwkuw/KqkWM2+UHwwIioqsWdFKJBcD16KQwnYT1+GadJN0FQzHuVF5yr9oLgrVShgFZYAY/NW3Vg==","signatures":[{"sig":"MEYCIQDTcV1NENx5VHYe6hrVDAFpYOhOnHdvc5qe5G3ypyFdYgIhALw+pnuQ+mURyzCOYBtUIInpYtFjE/W7KugPp5SpNbzT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGsV7CRA9TVsSAnZWagAAwTwP/i+1yPbsJ2haD+u877hV\nXuKZq6bkmgIhmiEnud6kBmjLtxY9kBNANyNsRxGavotVpmD8ODcfVy7tNMKA\n4X0Ggtem9l+X+VKXOZxey3caHithPfOt1sT4xQjYfGeezgIg+eXHIf85k3GJ\nQDrRmHbEXyhTcubtWn1vkm7p41m/bxo6maxJpEubvwzZ7sHXZwYy5l82Iaq2\nb8d2hh3ohMZkqXZcD5UPs6mhq87aJCHST1ELwOekQvCBq0eMzuJFk9pKmrFo\nz25M6ZrOBFJfagrBgDpu1UhyUCFhipIGQJweDqEfqz86o7+hvj51rZn78ySs\nEKh4FMHQFIGITyLwcUYRGSw+NHs5+ySa8KJ+igvYQlT6UjE1ZnBsWCzWbv+3\nFKVqek0akg9wf+BBpfz2evZW2HWCa7JRgs3YRKl9DR/c06iZW5a+XMEK/v1y\nPn6q7HhRdUwBLW1dM4FmVfUqjMpS7wp2ph8KeRXFNcXXs+xH1iVi4wrT8qOu\nDJucoPJ5COTx86j0FA+E8GctjS6516cKFpNPU3t0ehb3RUjlw6Q8v0jaYdY1\nfbyTqblR+fCYQspo3ztkKc0XT38qsVYxpgcGtphhsZvo2waRzhqI+zSBT7fp\nQ9OeF9D2yIZCUX4Jr80fQWz7iZc59XIx5FgzcEKbql349jOqL8Y8yBj4j2Da\nf3Za\r\n=bZh9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8a969624431e3c1b8d80c2e2a37e5ea5af6bea4f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.fb76c5069.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.fb76c5069.0_1629144443388_0.19303103906292662","host":"s3://npm-registry-packages"}},"13.0.0-canary.457d89aad.0":{"name":"@material/dom","version":"13.0.0-canary.457d89aad.0","license":"MIT","_id":"@material/dom@13.0.0-canary.457d89aad.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d8a18bd6e33446f06df62c1ca0fbd83c147bdba7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.457d89aad.0.tgz","fileCount":28,"integrity":"sha512-lBJkHT+5jdq8n+z0KDvQyzVKkhwDasZ9l7GIc/zkuaISU9EXvexvKfSkrNViFBxXZrz+/ieBIq29KGToAG7TZA==","signatures":[{"sig":"MEQCICS0XoXqbsihYP0OSzpFqDyTBJeg6CI2dEoHiUipVBUFAiADTxq7xTj8cd+mA1TsSutzwXr0LME8/Xj+n7YBpEHotg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG9PcCRA9TVsSAnZWagAAtDcP/3OhVU+UyQWD0LXiCCGd\nx4wqXI+RVB+8czCDDGXtUMt9ZKt3DNvpk8i9tFRXOx6aTHOy7VvZnN4WikL0\nTGV/Uk6iB260hUnxcd4K0VdJdrfvPK0uB9V8RtIqlD0AFlGXXkWAENX6OtlG\nHhcboktG/7B5nxgvOC1LFLnTMvSbLoSJ34Yth5TDuNM83Ntc6CENggBIx26j\nAlSeIEpEh/SE3PlJ8joxcC0Z/LIHE5dap4b/fiRj5LD7xmUfxVIzH/cIBO/2\nIA6t60Vpbu1OM3mxgS1KmA0YVCyVBSUBmj7AmzOJ+n72gSeIR0eW2Z0XN3Mk\n37pb6TPQ2kX/cszHmY8CwJ+uT2m7Qbqnj/QJfqifMqnUzD1u8tFPkboGVuU7\nSEfIhc0wdArUg96X7Z8A+fbYJhbCAp1Wh2J9K/DrlMQpBzuICEzG8usBBl9G\nLuW6aza/Z6eXWV4Kp0JuUNzhm57h/SKn+F7MWn/bsjkXZQqY/JmcJvbBrz5M\nTsyk7OHdRXUt5GNHpT9hYMcfmj/PugXyRQbCVDZKhST6m9oqUFT9+L+h3O2I\nc8pOR4Jepdq3x79WF/FvAulZmP4ltcZasecF2Hiw5FbXrsc5SRzQ8gVCI7fk\nCKoHvyiW/ba9vebKWxFmDqmm/GUwOSOTiNiYe3dkr/3zd7ekfFOR0+CL450X\nGu92\r\n=hn2L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e1aeb9efe0d3f4d8670a6ce174d17d7528b34438","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.457d89aad.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.457d89aad.0_1629213660049_0.6978377867149879","host":"s3://npm-registry-packages"}},"13.0.0-canary.0de2f2edc.0":{"name":"@material/dom","version":"13.0.0-canary.0de2f2edc.0","license":"MIT","_id":"@material/dom@13.0.0-canary.0de2f2edc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e70b36dc8dee894b703d07d53c8898afe2a9bc29","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.0de2f2edc.0.tgz","fileCount":28,"integrity":"sha512-AB6JJbHvWjr8F8gtuzFApNTuVNx4LMYkgZ1GG1A8dA+8004FMEf7tePTvccrfZCBH8Yht8AkxQwKSsy+MsH8MA==","signatures":[{"sig":"MEYCIQDoxL8UvxXMdLl1rjNRyDYmsHyksOj78Yt9bR2DloxIlQIhAK6iqNwZgCK2KQqhDkBTh9TCLqWCYg7JmqylgYkO30Aj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHCHHCRA9TVsSAnZWagAAUm4P/2uG5Wvyqm/LsFIo6B3G\n+YFWNNzLcjq3EoVsrB91KjNjlg5HRfnN0ejWP0xuukoJf6kvCnCPg0hFu3Ou\nUpOO/mxBfr6RAwgt7wCZnxxPRFTjhOamEZ63uF6cNZUTVOjbD1XZ6YGZQHbG\nJj7M33OKq8gTW1cBjaUtVFLGzpeoK+2DlcmWBzxEV/eYXZwQgH3j03P7YGp9\nfZMR0d43cS8hYT6cSrq2raf8kj3/TExJFGd+nt/kQ24JGAQds3u7BtwFzCW5\nFgELhHk3KL3ilKnu53DWELFDmAnDRgdCPvAYRbNmJAkUfbes+8ov/5Ma8KLX\nLsiGe9ICg5H9H86p8rAEeq6iFWzpXjLhEYM2obWZbCLNYSV5b8no8Gi0jgd3\nq9Qpm83bWr2b2N1lP6Qko4QtH1wHUg264+PHntI9DFZGq+oc6jtUn4SnQ0+X\n0YMpGref4nbqYyb3xn1HTeNJ9d9jR3IMkWhQc8/yasi3bmZYtxqTw9fravg4\ni/WG1DN5VTnTvcGuTENePQFKU0nk/83QkGFFVPhq0NjddA/JIdtQDfgAx4Rt\n2nsQEPN8fMslJBUdZqXhTX8YaJAFW2nlnTXPuREpR1424P3zPAfWUbKrG8Zx\nSMgoBYjId/EqcqtnSnEun+Bfx/CY8FsXl+VlFlBdjuW+bdzjS70Q47ygE2IG\na+RV\r\n=/v+I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ecc5e8dc0157f612d4cbc7b03507e3779919d5d3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.0de2f2edc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.0de2f2edc.0_1629233607695_0.5982603439960872","host":"s3://npm-registry-packages"}},"13.0.0-canary.1f9259b9d.0":{"name":"@material/dom","version":"13.0.0-canary.1f9259b9d.0","license":"MIT","_id":"@material/dom@13.0.0-canary.1f9259b9d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c6eff3365fb0ba20ce8ab6468ac32d90e2b017c9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.1f9259b9d.0.tgz","fileCount":28,"integrity":"sha512-qoTbkyn6AkOTyWvzsje0tiIsGNE/xr0qDS1d/0n+PAoadHYKg+DEZtb9NVwQP5K4R3lvKwQy1cjgJuXoEYAOQQ==","signatures":[{"sig":"MEYCIQCBzYkfFx2UInzHsapn1o2AJTssGhOek3WkWDOeUi8HIAIhANI3qFC5EFIgzz56VkBlJcQzzUUbvM63bmwYa5Ixuen9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHDR/CRA9TVsSAnZWagAAgFkQAKCsHORJc7e9efaU4z6r\nDFccL3xPwh4GLUBDy9PjUc8U+mr9Fts3GyDgkQEQM3fQnME3G5iFVNrpEudK\nOwJiCvr8FN/nj/aGAIsNuvJzsY5OGa/HulSjP8mhrIMvX6IJ+C4j1MQ2XBeO\nvpajRPjdZKuGD4e8qoEN5PJVt8+C0wE7B5oEEzu1Zt3i9oGQK7ZtVRjFQPIm\n1hLwfSDb5G6rSnUBjch0j7En2nhPjXTs7Ta0RL6DokokA9oWBCZplqKArrzz\nRG8zduiIpK5XLBXETL5bJL9AHTOoIahDh0BgmZ8hbNQlnqxMIX/uKOAoeraD\n8Hb9rNjOuf0PHvrPRwVa3GLJOFyg+BPcBEjVO7fvu8uKpmk4G25Q26nl6r8k\npjsnOhUtEigOn8u1gv+iMk9pOM6qOE6lDsJ/1SYFr0JdzxKp7IY1wwrFEtLF\nMViEgfa12fejtmP+FMMUa/HLK7uu+FBr5EZXvX6KspTRnsGj4PZAmCHgAotn\nh4ijEc8VDoNWpXlmf0ri3mNoKsVFVoVxehLxDJcrfki1fFjACbsza/pRFnqO\n9Xe+3BqrlssA4jfBdbtaIayymlCx8l0imRyK8z6F9niougucoYHCd9UU8Nb/\ny1v7nkl3HcyoaUtKpITitFQ+sKi1x49ElvqTgUUUaWjPA54pQnI7DEENztL+\nJnIE\r\n=N8+P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4c2c9aa7510a4854abb7f568046a44631dfe3e7e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.1f9259b9d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.1f9259b9d.0_1629238399124_0.1804109890892176","host":"s3://npm-registry-packages"}},"13.0.0-canary.3b9290351.0":{"name":"@material/dom","version":"13.0.0-canary.3b9290351.0","license":"MIT","_id":"@material/dom@13.0.0-canary.3b9290351.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cee4dbab217f866086404d467e596e02bb752675","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.3b9290351.0.tgz","fileCount":28,"integrity":"sha512-RSj3jip/E4uyoIB0cna+Gg7+VNfU2WAYuOBNBvc46apA8CKziP6GE/+TiPjKd8Ag1qcad2cee7gRgSsCfA8khw==","signatures":[{"sig":"MEYCIQDJqUg+tCkU9Jrje60pi19drfRbqNxt2Dl6mrCQ9+vk5QIhAMelxN17sZapz5ZV26vChKFA0SHebtOaotTosKOmfRhg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHJkcCRA9TVsSAnZWagAAo9IP/iIkbJSjudfq2uwxn/4v\nM86TmNpZN9uTp0ebOuZ0YKQXLRlvMCDXGCQdoEUPDH38VlY2dzWUL6H5naIF\n+4izOkSjVD8qDwQXdmTrKx8CceRwgcQ2+Jg5nDmKvrgkGGAe7zY7bo/26myQ\naR7q3VYmZyXmNlIzRZH/On9HRtA/INwVDb8uvaOYpCJo4taOhPHN5WSzQu76\nwJrBQmtQwcx2fspT310x4CsDR8nBHO0MSAsekfeOB0Lo7aNeVJ/RXgKRBmDt\nDiRqYki4UqMLyXpux1hW0KDo4XyGr5W95DsuACXhTYzlWXs+xh1HIUf/1xQF\n8FTKGEpFqwsRhAK74PBynMLm/eyDwB6bpfGbfXKgd2L/NfWYoLzXWAHW4WPy\nM+HCIq3PrdSV/QJPcjIovkI/FsS4l4ot5RzWiI+/PfPscw6SQnlwbr/poLkH\nHNUcU39j3Py8YbN4LM3Y6fThEopm6vE2I85Wr+ZL4ja1abD7yJYT4R31QDIS\nTKCpq8YvkT5XU6jRe/g2e3BNek8msUxpa8q63sIRjzNTogl6HgCYSmavO5CW\ni+caIHRopSp2GRX7Mtfrv2/lizhpMB3+iN29uTlKNA9h5njZ1P53GLkO0pjX\n6D5WNp45v46yJF7aIhyCCPPICjNR+BhZACd2jYLE9Ar96BoiZhMGzGltkekV\nGypp\r\n=qoSh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"15fe006947f65208dd0e450f8cad53d361b2930b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.3b9290351.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.3b9290351.0_1629264156349_0.4699096307077524","host":"s3://npm-registry-packages"}},"13.0.0-canary.43d2eed2a.0":{"name":"@material/dom","version":"13.0.0-canary.43d2eed2a.0","license":"MIT","_id":"@material/dom@13.0.0-canary.43d2eed2a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9b0b8324113b74f66a1411cc53c0a78ba300fe5a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.43d2eed2a.0.tgz","fileCount":28,"integrity":"sha512-18MO7xO+ddkBKBUqeT79lKbzoj7svXwroWQOdLZObfAgs3TY0VPnTfNw+f05xTheSpVsF7GNbDxf90ozcyk01g==","signatures":[{"sig":"MEQCIC05D8E23VSixHjkSQVDK8xpAJvvq7yVWzA2a4ZR7Y9MAiB3mn3uxm3e+0VrYCqx7yc3jwSQ8FmwOaSaeJ8XbyBOyA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHS7WCRA9TVsSAnZWagAAaewP/2KDlwNjSx+vwzLFOyx2\nRDCQKkirzB40Vxy0t2nNubcogF/IAa7vxMKNsWuXO9OFF1Ad8vyz6k6h/bKP\n7OLYhKWpZF1nUKcg6JpOzwAY3CO2YdccUX284f/zG3S1PbfuQi//D5nNZb1T\nyY7dYxjZhlsz4CMhwA+1q56xcAwtiv2zD5mDnKxBlNyOlsSKOsWPPBEoShqS\n64Rv6QJL8isaX1AZJdYzvZHA0z61QIJ40xz/iBRtle1XOuDQsAgf3V0iET1g\nz8U2qKmvzMl5RUg6/PKymvAstmquwiY+BThi9a7pYtmcDvCaA9GxHVoxRvyN\nhDuXzYu+E9/hF6Yp05YezaGwVgBFekOQaD+cTltPHbu9A2ohfgre3vK3373a\nd9tUdMRKPDhQ0naNqcMieqydLY1RMRV3RxrJ1WGBgLTXXnGVdZwFG4UxN2vU\nKvuhNZcmisDlPqxjbeKqbXli4o1weYKmYWv9Ay2wFnUyQlDHrpXtTODDbZE2\ndXnCnIscR9cw1iLAgWLFF0jhvygGX9HM2WaKo+rMpWS+Cenq20Ckhan3kOUR\n7jCwQkn3jx1/cdJqAQuo2cn+Zvc8oKr7uU0QZ8NN6Joz1aT0sJuxyFYFMqBJ\nLC/dnY82x8orM2awb8URbGyG7jcWO/BQ9V9+ZWBuMSl7Z3z65lDQTMRlLNXY\ndEP7\r\n=7H1N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"687e2389ae76da9a31b26968c0cdd837208d3359","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.43d2eed2a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.43d2eed2a.0_1629302485952_0.39873835040156935","host":"s3://npm-registry-packages"}},"13.0.0-canary.0a9069300.0":{"name":"@material/dom","version":"13.0.0-canary.0a9069300.0","license":"MIT","_id":"@material/dom@13.0.0-canary.0a9069300.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e9f90a66640559343f4be5887e76a060b333f7a1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.0a9069300.0.tgz","fileCount":28,"integrity":"sha512-xDThQuC4GqCsJ8xvp6i2KKu115c7iLSsSCZdmMYJsO6tEd/a0663cIe24LiOxQxxpt3E1SgZPx019cBx+ByG9A==","signatures":[{"sig":"MEQCIDz5ksJ97CnZcj1MHOzbDQyBEpnWutKQHx7Lr4AKX2vFAiAcTZx/kyiIL243KCh0PNf6/nxlFvPfvjljaXclUq6bxA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHoPzCRA9TVsSAnZWagAAUpMQAIhjZD+78eDP/p95n6qY\nQzjwtVcdD4+uTW3vFDyN4cd6jpolylPVI0OUKFGKRpg9Fh7oQbMxAidik8p9\nARibh3K2/fe9jT1xvC60KzZgzwCmcA5cDDtjBXJ9gBGYJyyplqqwNxsLyfe0\noh66nJe0YqjBSiEHhjFoNV0yJOzPKahRrIDRC0v/KCPPUgwEouc5yiNr6YF9\nMKjFjSr0LHi5FaDOdX6eIfpSNFU556oKd1ik52tHGU/RZrrMf6VlG6DtJMx9\nWptd+RwPoC+RVdbpE3RiqGmbeZirOJL7xiOhyQjGA8ulOhEixr02Zl9D6yOs\npyeBY+0Dh+tcR5KmQjwYKxYGcc0ZHdWDX4euNYFV9gmBDhxqKQY8DWENnQ6r\n7iZh0cvxCdWAsGVN8YZTZ+pa47tEvAoFSFDf1oSoCtrZ0aepAsABUG5FvR9P\nGFl0mp32n7Fh7JOIXjHEcYnjp30Two+WUZhWH89mcZQ9RtUZoujZTXO/BP3Y\nsXAljZBnYX5gi0X7NmUirFteix6pEz116nfzqGtaAz3zmjfjPW1YAqqjnDxT\nhhcdnJt8fHU9oRiSPPeV+5mJ162Qm9+WyJCAqt/GJrgou86xmppsLq20ECZ0\noW5wXJ4vjEjqjfNxVyH6rvGcltA+xOTeVk35i4hVT+Lz9WEAO2cRCXDOryOg\nUk88\r\n=JoEw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a7249c6c2dd2d786b2134e129bbe3b4ca596fee1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.0a9069300.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.0a9069300.0_1629389811649_0.7680600180288353","host":"s3://npm-registry-packages"}},"13.0.0-canary.7da413ed8.0":{"name":"@material/dom","version":"13.0.0-canary.7da413ed8.0","license":"MIT","_id":"@material/dom@13.0.0-canary.7da413ed8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"192869f8280f86a7e9cc5aafda8503467a134f62","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.7da413ed8.0.tgz","fileCount":28,"integrity":"sha512-7/FLV5BrNTBCP9suiXmiuzXU6k9oHTp+v6GCX/eRqcPwCooRksD8AtLNRSJgKi6WO39mJRfjuMT5GcyHeFFpOA==","signatures":[{"sig":"MEYCIQD5bdRzhbnk+dFJkxiUC7YOWU6fmK5gtyfJlwvql3E29AIhAJtH+Vx8A4BIBFK+Iw/5jPjs5Dr6tfEhBKfWb9xCOV3E","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhH86mCRA9TVsSAnZWagAAvo4P/3UkmQX1bSSCl2RpiPNI\n5n8W3l79rlG2yjkiJ0+4HpFu9+rwl3fmswMyquN1WuEn2tfjno6mlxYRqsYM\ntOCZhAl7jyqepDZtJFb7jBkMZvhsFJDngM8FOjHDFMcA/Ozde8k8niPuGIka\nh6lkCW3Fdql24l7wOnlYFhgDuh2YwqA4D53KGws7yfo6PeKLZBAGukeJ82z+\n7u5YJTinUNR6U6mrHE7IhtLV5ezj7mX5iNM/OYLBgk8+hQ+t74+ZpVhFvjMG\n3MXSErrOE8b1VMd9hPItsxIYeAWSdfaiXjbjks0KldB6F2R/mKswpnTmsetO\nQZdEBTN48FZ3laMsCJ6RVpuWyJrgNxjPCBIeFamzInOxsJw7GdWV+q2q3tfE\nGe3F8h4NEt7TVPZwbGlsTaspSa7u/0XOEeoGSeL0nleof5ybGvqNW8Kpx6vb\n3DnMJSBtmdr1LDxA6oO03e57HuriDwrNXeNMhu89SIvNQYFNC+F5TLj/ojNM\nXAjJKaMk8vrDn/lPRTU86eCbox82j4j8s51WHzk7sfdUcEYPCDPbFc++Yplw\niwKduTjj5z7ck17tcn8fPGhYYsIapAZZyjwQfXZBtgvzsDd8jrAt+jMg4w/3\nCRFoyrF+9e+huXpj1va2JXxkTbGCnuuuNTNiuXxjEENsHZ4veFlmvzWma6rs\nawAq\r\n=xAc5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"66fc8a91fb533a43e898483e7c4e1fac92aa0b7c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.7da413ed8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.7da413ed8.0_1629474470177_0.682959498153995","host":"s3://npm-registry-packages"}},"13.0.0-canary.e1e69fd8e.0":{"name":"@material/dom","version":"13.0.0-canary.e1e69fd8e.0","license":"MIT","_id":"@material/dom@13.0.0-canary.e1e69fd8e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f30faea50d048a225bbb52405aec49f297ce1608","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.e1e69fd8e.0.tgz","fileCount":28,"integrity":"sha512-Ojm9gUP4e1EVn/RBIrMp+RpHhNmaCdkd+H6NCilfNgiKsbDJniTYF0+dlXggFtLiMsI068ApliEmJjHcFDZ+Jg==","signatures":[{"sig":"MEUCIF6OxpeiObpsTEoxnAuPxkD3oz6w6ZNb3Mg4n6DI/1NTAiEAgnBkb6TijnI/Cw0FdQ/wBUUmU8LWIDdPIPEWqN2xpw0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhIAMWCRA9TVsSAnZWagAAkPcP/19nmg2VfkFwd4fXiKW9\nLhlXYOAVgNKeLvMGd8oqL5OwNNm3zKcHwsohsOmBoKHWNiCyiDEsq7vjGKEb\nyYE5RLbGfWbMI138pQKCQqjecJCCdffPk935Y5rcu+WWCotIFN4giHmywQ+V\n/B7prckHVjFDMMNCKXepKSx3ThO1CYsCu3Xo6pooe+Og8kZOThjs+qb5Oaby\nT4viEHCaZqGp9m8YwQjBgTgclv1dD3KS96LipAKcY/j2BqgdBp7ENgJzCrhc\nmdyjA+seLTi2uDmKP9tN6l+zhRucDSyx+RpEDA9u4qpnxmUCdnshgBJu6xfH\np1mQKE4Xvb7WgwOljZi62qF6aQkwaijI66oH05ocvkluk4Kgb4ZoaRfkNhAX\nGHrgl2s1/mJK1aImtF6oRKnA5ie/L/TAFxNEmNBDspW+xYsA34R8wbzmk/Hp\n08rW3JBY5N4jNfRFiItd0EK9q7Z9f/VlO1LSjpnWzEg+SmQUj56Mv5ZzlEz9\no2rBBoDijNbOiH76hJSPxrDhTwPPFxRuGxBbm0Fx3LWCdllNdc3KYGFyiCgX\n8lMDEv+mlgzOR7HcY90ipJRqY3mIgHbdM171MKUEXUumrjvbTQL0onRhAQT1\niW+3B8SANDju9fTxMUGDpRpfNbM/fw6ofSF3xuBeNDR/6l7ObfRqTUdHAORC\nJarj\r\n=fkIg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e400b9052366c6e1d6e27533a72ad00199b6313e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.e1e69fd8e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.e1e69fd8e.0_1629487894070_0.1620921310070471","host":"s3://npm-registry-packages"}},"13.0.0-canary.f5afc16df.0":{"name":"@material/dom","version":"13.0.0-canary.f5afc16df.0","license":"MIT","_id":"@material/dom@13.0.0-canary.f5afc16df.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"56a9919daea2315a8eb8f0e44fe9274ed45193ea","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.f5afc16df.0.tgz","fileCount":28,"integrity":"sha512-57Sgy+cDHcAOkbGP1ei/fOZ8sAE3Ar5JyUplYI6klx9KlAMW+o3QM006NTuqJCqkf7TdNUB2O7fBMDv0B1bulQ==","signatures":[{"sig":"MEUCIQD+uBnG412U3JIJ/T9eO9VwUgKv/USFyydRZWntc4pdWQIgHmYS0l9y381RefgCegzKLxz9AAyL9c+cVQ7/EzSxQ/8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhIA/RCRA9TVsSAnZWagAA30IP/RUNfH9SWJLcQdcNfuY/\n1sWa8g5d5F2ATqr5Db9d/54LP97Fby+wGh7EMDcQYsp3Bh0EMNLH87Z18Cs4\n3kEZA5Za9PfYMZYhVI6wDaOOYhdEDKOaZbSYoFqBnev5VgCqOXMBUXt2TP3e\nc46JNzH6C9BLHnS5zSo0jBHHNHqFM6YIS4+jawaeL7RA37X2MT5TBiuX662P\nCuqTrdX1GekmhBjZDsJco5X98et6N92u5ljworEzWpDfNuwcG7aTrXwjHYPG\nIybd+PdUQGgT4/PYIM/cJ5ngXESX6jShRpWgARqABQSDGWcpvIQGgqgua/WE\nhNpuR+fajcgIXQG1cBVfO/pnxcy5oIi4RPg3BcCGGdO8wOy75sv3nyqVC+6t\nJe1xbW2j3kfRwqWgSXpmMBexoFCjPxNo9jz27qJSEoJ99wJb4irCN9jncMIG\n+MT9/Aaw5FdwqGQ2X5BoLoGFC4wYOHLaoFyAIBlVRGm3nIRpitJC9dgipXZ4\n45slJpmw+OPLYp7SZg8YfCmR+NAekLbX8uZJ4BaZcNQ8NEAR2f/O5iZ1LjBF\nrTYgl+0S7TmmUYkTx8XqkgIqhBn15Tcp9hwJnH8nlOGdDiwVYngiqstYEXup\nTYxRi8zN9cTcN0X5tykRSKZpZ3DXU13qlI3ogxUSGYPhWiftujT060rZJ3ji\nMwtl\r\n=HGyn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9a5934ef5d223f46f61452bee68b0b45a21e20d6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.f5afc16df.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.f5afc16df.0_1629491153575_0.8977714294164916","host":"s3://npm-registry-packages"}},"13.0.0-canary.28d0d75bb.0":{"name":"@material/dom","version":"13.0.0-canary.28d0d75bb.0","license":"MIT","_id":"@material/dom@13.0.0-canary.28d0d75bb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"34e9ff4c538a949b066ba7f5e346d4f3c3fafa66","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.28d0d75bb.0.tgz","fileCount":28,"integrity":"sha512-w1ZvZxco9CcpPmF9nNzXXwRCGWcoDv1sHR1kzcmUdzpW9m7Z54bsRBQVfMobymXU0LS2M1TnwqHPnF9CAdMPJQ==","signatures":[{"sig":"MEUCIEJyiQRjXmp3EcucHbisexmHUS65+S7EsUrdYhBFu3kbAiEAyeTueRgejlvHdicgvgS98UXwkJlL2Ov+C3hDiTlP9HI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhICp7CRA9TVsSAnZWagAAUlgP/3EI9EdK6B6QYbullKEB\ngeSTotG3UDM2N+JEpgbZkK/817UK0vu7LM01GLKAxQySehZac1q1DD9kv4uW\nhRkrJt+VifCYwqjmrVMsw3KHX+q9nkny63cfcr51DmzlUc2GBEzAUsQ/aTB3\niAIBb+QOsyjs+rMO1UcbjPwfSqU49tGs86IeWc/qar6OdtFaMK4d+QqCHhE6\nokfjMWW7Vk01ciDvl34hcUnD74k7oJsprAluIslbBTDYI46EK7BsooNEv7mv\n0hg3rfVYo6cNEuLuCinSCaoqUIX0girFU+ZrTwY7wXZP5HnCPf1vHkyRMKJe\nGfXF4/m2F7TUtGLT6/yk7J67Tk14n5PorWnnmHq5+2c6tAtnAaeWPYk3knmG\nBeTDjJW0TQcx1+pR6DkRM4VwEKbPpIAvrLPTptlWjHqtIpMpvizH3ZPu95og\nVtf5f4Gcpi+2+k1ImPmzYxVsCDagTQflmpH6s/ZDQyfK6kpjKS3EPEBd9w4A\nfju3EbEuiFYbSwC04wYJiDlPSKsz/t44YL8jIkF77vH4R9YI66W/ilCDuQ8s\nmzSIL/7XrfLQFLpVsAcqkR/JqetbsCgr459ZgCGG9gGolKe66lCcWMdsP7Hz\nbwQjXBaSD1B2LgGp/8fzIZUTSohwQAjQr9Wt+V9UdJIN+njsMPvxNvzQrNrj\n07RH\r\n=OW7f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4becb1aca9e878d432cf8308ec0f14cc50e9699b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.28d0d75bb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.28d0d75bb.0_1629497979826_0.036480145675794384","host":"s3://npm-registry-packages"}},"13.0.0-canary.21ece5360.0":{"name":"@material/dom","version":"13.0.0-canary.21ece5360.0","license":"MIT","_id":"@material/dom@13.0.0-canary.21ece5360.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9ec1d242c1ff17bde383b10a9c4678d054a933c4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.21ece5360.0.tgz","fileCount":28,"integrity":"sha512-h9GmrA6LUkS2H2vGGQm4Gyv362v6N135tNZmUzph6ot7Wa6bFBhXZ/3WKrmu9u6kH0DjmHUAh/G8UDSQDPYvcQ==","signatures":[{"sig":"MEQCIF4DVueBV6xTJbg11nIaS2/8Xa6y17aXiecLSU/hOHFoAiAdRIFKbOad+wBLt+XGfXDEZJklTpI1SljuEXFEmZuABw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhID4iCRA9TVsSAnZWagAApO4P/iVAC27pECLdpmD8ja2L\ndRK+mqj7pr83vQ7nZn24W1pB3vmalDtSVhsZAUcdTgA8Be2mAkj3VGPaUP63\npPXp+k5i0uAWSkCw/Py1pxjyyF8lLKnuxrpsR8Irg8nbWdpVxmFlZ2NfatR3\nYQSDaoL+y/ua9SIhcJE+0J7ZhwpimMuEt2Ev5myAkoChGC1XTbCFyahS9Cqj\nyBBwfYh4Ub9gY//OXtx57kAozkNHQPUHEDH1MaOfjfnezaqs46o3g8Bed0Wr\nskgLZNBuhf0iIuEUpER0D6MVY7EZxThdqehtOaveOSfJQ6JGezu+ERdIc/Wu\nvV7wJaEOYaPGbupKCtiNnwlMQrGXl3sme1X6fv//hcyu9BjctIb2Me7UjkwL\n9oxft/fvfCHVfc9e5XTfB72GPU9vdjGLmpXU5ZaNSHZxZMp7FmQrWsvPMSvS\nyPEz0YdAT7a/eXY0lclqIsclpqyFWBCCNh0J2lGTg5bsW2RAGiuYUpNvYfkT\n2PZ8S91GowcsfKYZ1KX8kwu9aN9yHogoHQW+fBuGC6z0MyTSlyIehxjYaDxF\nP2fxH3YT/gsfjVxkJxZY7Acoz9NSOBIQKWn/VDs6f0SgoPfIbm6MHSsn24Rw\nudbdoMmbE6oGZxzqR167sqp3DFrU3ZrgIaa9j7D37cxhQ7Kh9MDtfTAzg8r3\nA0th\r\n=9H4b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9625caffe59fe4a84aea358993c2811ffcf33e74","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.21ece5360.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.21ece5360.0_1629503010072_0.9947036499034128","host":"s3://npm-registry-packages"}},"13.0.0-canary.8de07c02a.0":{"name":"@material/dom","version":"13.0.0-canary.8de07c02a.0","license":"MIT","_id":"@material/dom@13.0.0-canary.8de07c02a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b623fbe5e900f196182910d80293e2ba0d6ac71c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.8de07c02a.0.tgz","fileCount":28,"integrity":"sha512-Mk/hC2IWI/+kjuuvErCkKPkfI0yn5AJLWICVZZoOeDwtV9RQj3FMtstsvJIJFGEAf+UHhxBc0nsGtBKhioGOAg==","signatures":[{"sig":"MEUCICg6KXdomrivaRLUtKJwRteTnOgJngn54EgUs05qqjigAiEA6x0rDdsA+1eTfyYmomhPrQ+HNQ6uIWDzuvHZlI0sRvE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhI74ACRA9TVsSAnZWagAA7pEP/RZcrCoxyNnJNkgvwTcc\naMWSJq8UNrrUj28MJjBuQouqFav+ZMJO7pFXJ3gI6TQg8Z8BL9UverdN0vOn\n4+kOOheHZg7wMSXo4VE2Su3gPhrqbqudDgNfYdc5jzjt0A3poHhsopMEc3it\nHkuDn8+0nab0FqrT9QH9Yuk/A1MbAZ0oU+xXCrcb3JDM1OaTZbD0HQCUSIBF\ncbHT1jfESrQfXHDmWSDDmDBZcwaug1D9itjrkfzKlj8jBBnk1Ile0O3i1rc5\nJdai9eyNHf060OCyuQmjvZqAhB0nM0onSIes0hSYsHZEKV3wYCgroUjw1Fwn\nrQV3IPjgRW/oUCaqPB2AbxXfIG2Vc62tlB5r94PHFbjzrvl1IcA3LCPcALMO\nO8hXHCog44ytbTHxjjXBy1HuYt7EmGD684O8pblIyZeS7F3njPXPV07zscTu\nmSO05hB1wxCHI+wZlrkTauAYJlZYR0UivoM2Xz7FjF3opqi3ePOOsuXVUn/4\nNTtG/bsVoAfqu/dP8we7KpyUJoUYYzF5HfuHhRNhJXdOy1Q96PrQTTJ4owsv\nleqXCRwbSnDeokoZIXee/mt5jaKNWOncM21WPebsKiY/mkKMcXJptNfmTIU8\nIUAZ8Jz3LfLFjYWTksrrKRmtiGcyu/GuAUV33UPV/V9UMqDa+PL/SO9szKCI\nYqKv\r\n=RY+t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e55081eb44f85de06afceb7c0d189f0d358ad60c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.8de07c02a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.8de07c02a.0_1629732352511_0.5358330629555146","host":"s3://npm-registry-packages"}},"13.0.0-canary.65aa63b0c.0":{"name":"@material/dom","version":"13.0.0-canary.65aa63b0c.0","license":"MIT","_id":"@material/dom@13.0.0-canary.65aa63b0c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5a359cab0244def27fcfda8df2ddc3da89e711c0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.65aa63b0c.0.tgz","fileCount":28,"integrity":"sha512-ntIJB1btUApdSbwH+Iv7T+PbeHnTPXHpWFIV4RZWVZIJ3T2xa03fK+CVUfYaiHP+w6lJuxLFDnAMAJaS1pw7oQ==","signatures":[{"sig":"MEUCIDPPmzvz6+vZ3ZvmMlG8vCo3PRktDwyq4pue3/1d8VBuAiEA9/+eFJqA5I/Ham3TF5x2bKes7CneaWecKiYKpswa82o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJQ/zCRA9TVsSAnZWagAARp4P/2RXoO75NX7PBZuf6eVc\n+yXnyOTW8NvcW1CqsU/i+CPsB2AZVeZvbC1Z1v4c6ZQjVeYrkyI0HDC0tzgu\neNMJ7pNmTI6tf3o3b4ytXs6UeZPfPNq5Yx1464pSVRXVKBGi6WemynX08Mdd\nspo1XTdrNI/m55MuOREHAuDWverNT1vUa0j9TDW49lsDstsEvnGyp3P9w59+\nSkctLofWy85wxPv3MZMMmxy4tVI3+tcZqXjuahA86MHqcjYQhsBz7C194I4E\nRwcl8SXVsIs8Bp8r11SxhapspxV1jOLg6GFDn1ThePcHQSBiWqxlJA8V/xJj\noX36f6JDKpmag+JjOkWQGdmMvD4bEslxY5X6sTusloWV0/Ckj9nRdgim797a\nKr8HAKngkD0zRL1KXcpmEwA1sEG2tQ5dwpaNoSHiyzP4kzz6UEiEdox0zP1l\n13IB36dq0pZjM5edyoFQrs/fCDbHS+Us80i3BP6+9HjaQhJAkak8YC7OxmZH\nbEVDR9M1GOMNqlLAMPkmc/y67+0P8L9GUPM1g5HwPSzc9+wNATRV4EOs2FqB\nFbBxwkKSUHmgYLSsyHeEeeabU+xMuy83/TnxXEC9/9l6AW30980DL73vz/Ok\ntgnpbcbP40qM3y40bhkLBhx/onSZVo4jkKAfKBwb30DRVEyxa9+BLWLyLQ7Z\nsJCE\r\n=Ygrf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0ac2dcf03064da43ca7eb352045fd4da0af02200","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.65aa63b0c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.65aa63b0c.0_1629818867321_0.40890110338465946","host":"s3://npm-registry-packages"}},"13.0.0-canary.15981e9d9.0":{"name":"@material/dom","version":"13.0.0-canary.15981e9d9.0","license":"MIT","_id":"@material/dom@13.0.0-canary.15981e9d9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5592d85dca0845d9e4026229e4859621210dc8c6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.15981e9d9.0.tgz","fileCount":28,"integrity":"sha512-6a1gkT9051ZorLzLoqSNNi+Qe9svbSx0qvJREnYUSBMvW0wxd74xmMipj5nhoOuyFF0/xY7CLFEqowGtbkuhjg==","signatures":[{"sig":"MEQCIFH+4JYNYpCceS4AjdzkIxKbUtHPUZT7+mZsY+7lSMSdAiBUZ7mPqmVVvK2DQt9iK1sB/kmlz1L9EHhjI7YmVPpFmQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJRtUCRA9TVsSAnZWagAAz08P/3r91tVxiGhbIjPw5dNh\nIAtMmyGQbx3LM842FgmgOPrU4WLkQ7Ks8utY0gYDR9ECddDhyBHbtVW9H845\nO+afJ0/2jYXhf6ga/HqxTpCgJT1r6ys5Y9B/VoA7HTupgLdD+teFjkr3kRGO\ncT6MWmrzJapq8dCC3fRScKxjU2V8i24lQeveg48i7ysmRu6gYvvAzJQe2tQa\nrrZ6kb2qOxgnwfZCDtR81LrkcsIurZmV2kChwhj3vfgCDgaDmoInenXyJbF1\nGdIuIgdxDOBwKoqyfafHwAEyeW95Xy9DSQaN6hCSamAd06rk/Dc8NMEqzzoG\nj1THmWoOfoawoMTA9MfXUTiP+SJAp0MrR2dpPtYDRNKE0Bi5WB2XYp8wYtFG\nDo14V/PPDdm9hJ7vBcNq/QTYGUKsX9obU7IfCog1l0gGKML54H8CkRhHrmfM\nmIfGrJgav/tBvkrR+q+Rn2Wo/QXtTvrApAPPDJ7oaotk+Z8bEvUTR9sEb68o\n00MuEVRoJOc/WJF/o3CLJzzf749FnMdq6D5su5TEeI5AqBrA8QjhiDL8v/c7\ndeduyairZIi5HvHM610VxFGFi9nyKtLUOFhXSz/NPVS4zbkWNNr1p8GHxlrX\nCsil7e0plAOok7joYG8/NTtr/5BTgU+Q6hm08x2XTmBRgK2DIuApD/M8CWDJ\nmKco\r\n=ikFl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"93acc5a9963b30cedb03f35eefb49cd35c93656b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.15981e9d9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.15981e9d9.0_1629821780068_0.029047489719712827","host":"s3://npm-registry-packages"}},"13.0.0-canary.fa7520f62.0":{"name":"@material/dom","version":"13.0.0-canary.fa7520f62.0","license":"MIT","_id":"@material/dom@13.0.0-canary.fa7520f62.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"60adfcf5a639d2f7d91ad36261c3a1f1b2871058","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.fa7520f62.0.tgz","fileCount":28,"integrity":"sha512-9Xlf9a5pgdtS0djwk91vRVVxmHk1gm7il9muKeZzXChk0M82It9Lz6dMdmG3vcRISot0I1KDeq92mLwogJzSuQ==","signatures":[{"sig":"MEUCIQCaA3aivxiCMp1fN4l4j/l/12/PSF1AUNuOTDE2m1FbLgIgW1Y4G+QBvoiM7F9wb18k/iBfm7TP8Y6QK45h8mGAtmY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJXI+CRA9TVsSAnZWagAAyn0P/1Ei+m+v5Vvm1oxPwH8f\n+iJpY+KSsCXIyFUvR6sch6I3p5HUhq3fgj0tXVDJkyLATW+tP4B4Rl77rlrU\nR6OwWytbP/vGUgID3ppJVC0yzJf1qnaNPS6qrgS6UhMzMWVOSsmhVc7y19RT\n9p2VeSNyBG6yjNeN4YzDJ97T1REynrBOr4pkdgKzVDWJ1GhmQZ5bXY26YJK4\nZGiNpxreuPDEc5nH2jmRLOCzb5JWOwGwQ2t9UCzNMDB5PFx4+kltdxZyDEsX\ne6Mzo9JVesfjT3ljbZHNCBFcMhtxwHoRfdtiKMlxY3ZP9kY7lB8zdRg7XBMC\nBuHabgApiJgyCyUASKPfxc2o3UAIwSi3HgGatPvCwx+cyeW57r6Z8M71LDW/\nouwV8EhU/4aviO1hV5MgQmCR6dYfXjV9gRwanxshLv6VdQpr0c1lcexBTvrN\nXQQM0O0Nq+7Uw9xEvl+yISv+LHzo3QPCB9S8H/8JiHAa41Ml4dO6oS6Xeehw\n27ComyyIFpdLRkq8tBStYgxS+RefzhtyA/0x95ii5sVXZpYu/T8CVRivH/Hc\nje7a3bwBonrvQBKT7c4ndaRB0pIOsF++GkrUr6p6iemYkUVuwL5U6bvgxUrq\nInbRmq/O0GXaBkzq6Hcrjy44XGMHQmD+2WEC4mN+04mBzSStje8rDsHr8QrQ\nTyRu\r\n=deCA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ded8a7ce355618969092a7bffde0da813aeec162","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.fa7520f62.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.fa7520f62.0_1629844030249_0.699178935614867","host":"s3://npm-registry-packages"}},"13.0.0-canary.ce25bc3ec.0":{"name":"@material/dom","version":"13.0.0-canary.ce25bc3ec.0","license":"MIT","_id":"@material/dom@13.0.0-canary.ce25bc3ec.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6ea45701cfb89bf2eb84b30de6325f10bd4cf73e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.ce25bc3ec.0.tgz","fileCount":28,"integrity":"sha512-iJ9Z3MJHCq3S7Cu78t4M6B30m2RALCScqGXeOtoWKJ2fsXTVS4SS7GoKfcsYNVWeV4dZOh38g6L6R98ANo7cGA==","signatures":[{"sig":"MEUCIQCepKmzo7ANoTmhxRsI2CqoaEGEqh5C+ScAXY2o2RQ8BwIgV3PFbgpuPmKE7AubDMEI4ovzv7mV+ZyoYLTeJCF+hIs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJXcKCRA9TVsSAnZWagAA67sP/j7sKHlROo1ZWXr8/Hh8\nZRbOdY/zpN+zrvbZqNAuYR1sKVujxSaKu9Q2jffU8rlEdKmEga1Jp624oWiq\n+GldnN/xDEFFRZvjLgZeDFwvW5LfY2cpKxQEAdCK81+UJY6OPu+iU3W1gecO\nFXSFAlHIOGkLaOaA4qjNjd8p3IF8TPwf1Y/hE+wKkYF0Rgv4ZipfwKtu8pHh\nt+jR6VXM4UVddXbGmOfZm5FAC0Lopzd6zhFdMBvoYAnsUnQWSvtKn/b+Hqc0\nuHzIMuCbH2iBZyIO0VAeaQMyPH0wy3gl8/3av9iH5l2xN6cjveSXDUAUoADd\nv+FyZNkaNMZdItnKH7vJLh/ep3V3Sv3dEw3vi4eZPrXjJ6zz6nDQ3ir4/9Df\nPVpdiFbe/kgERq30vguPTnZ2ADz8aCwptepBhsKAWD+4rgWO+K7DBrs4ipX1\nsS3QQaSi9SzZqqS3gsX4KcH1jcqjf8m+ImNlljBZQygK4gZBf1/nRWzQknOR\n2jBHlgprdUoHaRoIyvA/6u9D/47jEVd0/EV1c+9Xv8R/636u4hGpHVcVpizx\nIH1hHh5akW/IZdDPrA31w/Jw4z+8CUMg+qFupp6G3OoUTTDEebs8H262teM1\nJneFqgPwQTQOqqbP8tF0WXXhc44JnFTdbwPR9A9xYeCkEc3ZLqtOrJqKn3sp\n+6Cl\r\n=U/Ry\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5296a1abf91023fbe0806f06b5b5fce528c40509","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.ce25bc3ec.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.ce25bc3ec.0_1629845258372_0.4558470274402928","host":"s3://npm-registry-packages"}},"13.0.0-canary.12f5622e1.0":{"name":"@material/dom","version":"13.0.0-canary.12f5622e1.0","license":"MIT","_id":"@material/dom@13.0.0-canary.12f5622e1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e1c0cf2e6e2e07e8e5c77024338b66a80da1c172","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.12f5622e1.0.tgz","fileCount":28,"integrity":"sha512-b5pwJ7yDiEk7gZYgUcIWtBk72yfV35WqZrUMxkIAEHmSWcej7yjUfbbI+dBXMFqI1GQUCqKO9dLZRC49WIV5HQ==","signatures":[{"sig":"MEYCIQCWTxaN8NYp8TouWcWWa+Wu13lTI4Eeb9s1eFEWBUPPOgIhAIDlWsm3rOP9OYVOw7ie0yjZj7Omt1v5PxY22QY/PTnb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJX4ECRA9TVsSAnZWagAABiMP/2ICTp2jnd1cHqPY0N4E\n+V9M5lsk0YvH4x6hUXVWlE46jNvoMtVOoIBtjh6Y6rMxqMVwDPwMRk/buPmr\ndOwZ2mWfmui+k4sVdv97Wr4dsUXrtA4/qfBYCqMSTz+BjTazh0DJvIzGAL3c\nQGazTjtw4mfcK2lrdszLxUmmAlqr/yw7NjoGFWl7eLDbdANZst6IjL3HQyFI\nHlW4AA+Ws4XO4aIJpECSbUWbcG/mKbape3ZzGKUhH2fxv9bIH/hfjD8+Wuo2\nEJmTh4QniqwFN7oUVf5bPGWFLBHGJQhJrbDFNVBBGZcwSh8+pB0aGiMghEot\nSHF9sQENZ15f4/i6k9cUPkdty8kaeerbCFRpdYYxlPlt64Wn6lVuijKXv8Se\nIQKPZ2JJRWDPuPGn+qSXvPXYbE44iCqzH87XXOetAdi8wE0VOuE97SDgy9wF\nT5pVvdjXwnp8QbaQJ+/z+5x6Agv5K8PHSo5NyTyGKkGtGa2bDgNj6ZuVLjmy\nJ/gSQ8lOh+4fB9DbW0siWIbOhSXpItmvLsn1f+naUp2zpq8XuMNLOOIE5ikv\nUi8sKK33uBHqOaKYS0jqf+JecxWRkTGkr/FReE+MyjLgvIQZv/NPhLUapMVl\n0Txyk+vzBXUJl9WQDjjZ+JXFEGzVXgdk1kw3J1Fttu1BBj4IZGC7yz0yBlom\n9p5c\r\n=a981\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2cfeb72e6002a5f3cf296794da5216b3114fbbc8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.12f5622e1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.12f5622e1.0_1629847044340_0.3618727571280782","host":"s3://npm-registry-packages"}},"13.0.0-canary.d97f8f133.0":{"name":"@material/dom","version":"13.0.0-canary.d97f8f133.0","license":"MIT","_id":"@material/dom@13.0.0-canary.d97f8f133.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"feddd4db484a88cf96de6a534534437e45d84059","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.d97f8f133.0.tgz","fileCount":28,"integrity":"sha512-88ojyhiGGsFxUWyEqrOCljb5xYWLHFjbbf9DBc4GCqNr3WpkTjdtEWI+gqhFs8CNR3JnwyGIuv8VC+Edk165DQ==","signatures":[{"sig":"MEYCIQCAkO4n4N71m8Be6JaNVUsa0hE7Ccl9qQ9SOiZVa4tPbAIhANEJQ+0lRMs9bLYGxEmAP5I4s3iqe9PBWmceMoNigufO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJoy+CRA9TVsSAnZWagAA928P/i1SbfrRXkJjL4bUrYmK\nCcwDK/rLjDNyPzoh/us2V0ieSAhQrFMqmFwqfZ7IPIcMuPlSvYYRUimlKlkH\nrBwA/q27BlzNbHdsDXj6yQNtBMu9vdcib5X3/ncENGuz+nAmIKj4EpiZ/O1+\nx5vW56RXt+dbJ1B2I2BQ0rUrdKJ3BX2dEnGgiL4lti7bxwaUqR+NtV84JJ2J\nitl6PtoFehg3Fi72+Lxd8j1ZSxgTTGYoezeCRu84g2wNNIz0yDY+T7JBfYag\nHvBZyXetJLGvYvRQsAnY+EZiWpfoz5UZ0fbq4peViK1QYh+N263zwaoIL6Qz\n3meSyspOlALpdi1wznFJQNycinS7jg0HFWeM9RjW4OwY2mBQGQkkYDgJhHnx\nB2ayL8urvdSVD708PwFlkachCwtvoW2dX3D9PHfwkNYiYJT1eI1/F3UWfHht\nWGx6aOmqN5ztOQ7+fQ9cSs+CpoNeRmyx0S/M/9YP05DTXejF2VhBDAVAHXn7\nt/hCmQBBHk9JLMV3diuzu775i6FrfNPOdVHWygOg1zxiZ3VeQ5CgOkOmpB0W\nL6ahiiGZVH0pSBWsW/tN1FnpSu3G2J+pdUxmUdX7f7KoExuml5oQ1c4NmoAw\n6VsM6RxlohIuPJa86Dh92WjTK4J2uAkIzIK/9gN6fWS4Fo0LpLimpum4tcrc\neFZH\r\n=IBxW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e7295f4786bb26bbc05939b4d6e3e42f011cc033","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.d97f8f133.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.d97f8f133.0_1629916349923_0.3945764749193623","host":"s3://npm-registry-packages"}},"13.0.0-canary.d86fb6fac.0":{"name":"@material/dom","version":"13.0.0-canary.d86fb6fac.0","license":"MIT","_id":"@material/dom@13.0.0-canary.d86fb6fac.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"684f43ca5cd572e7e574ab729a47b4dda55b74c3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.d86fb6fac.0.tgz","fileCount":28,"integrity":"sha512-I9nMJTCnqQbYdn0yav4HWQDmVlS3uQ8DW2XMey1Scr1ut5ADo63g2Jc6cJz+xlDsSVa5ZtrdgReFZdjbWPEhxQ==","signatures":[{"sig":"MEQCICNXt8KuTiaatdI2De0HO6UvmL0qoxYSjzbzVcN9oiNnAiAyl9P89ShRSqPcMAJVs2vLNe/2Ld+GpOSnXRANsrgA5w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJpGSCRA9TVsSAnZWagAAp/kP/0kPjR7WcULNaEnKs8ZE\nbBV28+QAEk6tZgenh2v/ohFIvE6v2XoS2suRa6k26Nvk8by9GC2mJ6yyTKYC\nuppt9LYSsnqX+a0YO/Cg97+dHrUYrsn2JG0JLQJO9vGFMiMOuwm7gWPWQAXH\nzxZkQze9Fq9u2mDXvNyWTjl8PgUIVzHyrnMTrveT+1tmx/RbobH5kIIQqyYr\nClOYGNJ1VYNvi6k86YSjvZQJQujMyqjXPr+K8Vgm9ypxv5OWuwvyHpN8JVsi\ngTqYgNSg5wmyrGPNL+yP5AzmkRgx/MsZ/u2C71t5YMdan2xDVI4cfbK9mwoc\nCO+T/I+ZcH/iU4wGsIdIBAPLxh8+18S2cPWLmwJrkEF/UVC7nWwbrLhcFSvd\nYBJMYDJ8Z+VxzGf3b68cR2fYCvypqotJ5Ya7uX9ZDuDRsJYHeqMfRAuJBqCN\nCmnfTSfP51cxpnT56Nv5sfiPgJMbb6KBfV4D304bGer02umSbcGMoRmX0Uu9\nJgmbt4ONNPrePVwW3u8tzkTVaOfdZIHIn+2OzqnJWsyzy4aqxWq5Ak//cKMT\nMEUH3jYV/iPYltbAJbXbOyImPRU2M6tmvt0h8D3ZzghWgzC0P23EsOa7zrL6\npcvV8QRWx0QLUJ7ss0BKtY+HouGjcj1Q1XmgDPR1Iyfvgztf1BjPfbUq0hiP\neQd7\r\n=DYHD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"35d13d1a20fe14c295e8589fe5960bc9b4da1925","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.d86fb6fac.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.d86fb6fac.0_1629917585841_0.75557062752887","host":"s3://npm-registry-packages"}},"13.0.0-canary.e8554dbbf.0":{"name":"@material/dom","version":"13.0.0-canary.e8554dbbf.0","license":"MIT","_id":"@material/dom@13.0.0-canary.e8554dbbf.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bdb4fe3db5b99b5c704eba2ee4f5dcac716c37e4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.e8554dbbf.0.tgz","fileCount":28,"integrity":"sha512-j+IJBe8qo61NRE4Hkif5W1fyBh6wQ6AhIJY7YhsoBlJV08umGmqZHuBlJ+bniPBHIsiE8lFS9WfScx0/r8pfkA==","signatures":[{"sig":"MEQCIF6lkMwCYsa09yrbT72IJKIt6r2R1S+yH9Tpl/CRg8WmAiAot4BZNQJpmNZGMZrCQnSeu2k65KZ1DAEgmu8ipMAHxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJr0NCRA9TVsSAnZWagAA8U8P/RomBBmf5HfRPmce+5si\nSk7460MXriw3rZ6lDM3dBNaGKf8sE65ug+LEGbGfyTIppHUxw94Yi4WSTT+0\nI0ZMyjsAqgKudYKiUHAgMjtfjHFolY/u79DKBYc8nV8nx5wB4lecdqyQt1uB\nhbF6w1Mw1RjFlgus+mkNosHCZC5TtIFm3HPGyMe/OPeUVfPsOul1CEiN19gu\n62ZFmRU7UNNBLf+Wb/2jBeqtNz8foR6zbJVNxF3HoB/gXjBO3WQvYvoWiPYC\nPjwR89BnbCVqQpiXk0AErakyN/dLjQPLNi7Ao6xtB+7pkeF0DmBvhNFY/MLf\nUis/g9aQrIswgvJcYP2JgqE4qH/1iI2FKzBMabmy2T4EHAmuqoFELpPokD7n\n5RFoieWlDclkLGikpDKQFI67V/CX9Xv2KVfRYHdLWldB83q/Bd3PFalL6Djp\nkccWIVj9xDRWxEgLoDIcimE59Ociu8cJu1iq5t0gnqPCF83V3sjcMyffg9CK\nmvJxoWavwfaoDF0u5BLjwVINJJ3ZEIgQeqT4qjVgmgULBZL4RBlPdcO4L1DN\nvYpDLQHuzXL7oqcGgJU33gRGv/czRsV4EFxN00ernxIn2YTMP6PWVOstFkms\nLyGdKDNXWZrdUBOeHDw0F8xVO6YeFevGTKs/8Sti5L6nJ/7kohQrs405NBd4\ni/Z8\r\n=YKS6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"da636a8d32198c6289df3bcef39340bf76cf8265","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.e8554dbbf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.e8554dbbf.0_1629928717568_0.1171123000494203","host":"s3://npm-registry-packages"}},"13.0.0-canary.877e3fb0d.0":{"name":"@material/dom","version":"13.0.0-canary.877e3fb0d.0","license":"MIT","_id":"@material/dom@13.0.0-canary.877e3fb0d.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e710ff12491e30e36a761757cc9279997325075a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.877e3fb0d.0.tgz","fileCount":28,"integrity":"sha512-hEnlcjz+7EPzEiPhY0UkM7EKG5HRzhPlk8BhQiU+jC1PiB2rDmujVL/QfZQHp09Uc9oxL7DKYnEFq223MyAlwg==","signatures":[{"sig":"MEUCICakdRNfq5zOCyjSX4xoqPxjmudPNI/y8ETHPNuu+MDYAiEA4/Rj0D5kTTd/MZlMWYfhAuGEZUOA49arMYrGYuY7zcM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ7UsCRA9TVsSAnZWagAAhUgP/jpWYP8ryCe+9XQx+NR+\nZZmQe9zc8jEv7/iTywRMUUoZVN07hbYfWpKubUgLI5NpZiZmy13OGcEgMpmh\nj5AazxUp/w8itkemXqNh8h3/AWK1zuoHTO31RzDhRpmDvom0Lh33gN8+528O\niQanhbJRClrIvMUUWQwlCSi9sDHH8+hUx6ySoUTZMqyuIeBXDHPz0kltOAsD\nVbI4rILEUCu6Zl3H1jumMEjSLhmp/SSxeRrf7guQKkr3/5rJGyM87S6Yy8oP\nbzJBqZD9LsD4VNNTHab/rGCo0qnI4fGWI879OV+rzbenjw9n67PPT1jxc2rp\nMp0K9M2iAT5n+A2nYUwU6WgWuoTVtPHSISnku3i5tJ4ZoFY+e2Nhvah/8Nj3\niadXArGjdo2wcQe2Eu5zSEaBv052/gGBERvYswFUPryOTqjNiaVtKmIU6TJy\nOBuXZFRLNN065QulTEgf0Ee/+R2aPh/acTZSiiZBufnXxRL5GVMEn8kdI0Ot\n/d/h2Ohz1Vg93HjhvlUvUot3gSMlPeZYnV4ydYjDXI2JbncaUQr7JiwDZU0K\ngaJj+pH7gkJTNtHjw+FfYDIFCf3q/NmB4pbJMTgl3WBUGfWmaIl0CQ7n8g48\n6TgnIQIxwRQ7NEfM4ov+JD9rLa+pqUNNnH5Ee57z9IuwDLIrSsEOPhfa66gw\noQbS\r\n=av7g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, priority?: AnnouncerPriority) => void` | Announces the message via an `aria-live` region with the given priority (defaults to polite)\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"849a956f7ad3e0da0840469b917eb66537c875ff","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.877e3fb0d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.877e3fb0d.0_1629992236386_0.25812879404743794","host":"s3://npm-registry-packages"}},"13.0.0-canary.6236f3576.0":{"name":"@material/dom","version":"13.0.0-canary.6236f3576.0","license":"MIT","_id":"@material/dom@13.0.0-canary.6236f3576.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1422278a856c6b32b6b2cf1490198951549484ce","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.6236f3576.0.tgz","fileCount":28,"integrity":"sha512-033XOIHPM4PvWl72xk+ls1SjgQQm8LLX76CRAp7KSm3uJLbixnFhifYq22o4GAKux48uiUKN/94+1HENegETKw==","signatures":[{"sig":"MEUCIHMObFW2iLVdL+uzUWe0qsfjPvpIyfnyC1DKqNSzf8HFAiEA7OiP1Zz3ZPmG5ZLOSHoS9A6P4fkeYRGt9SYvM33nDnc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ7uqCRA9TVsSAnZWagAAXiAQAKBakHlvg6esEI2Vpsxv\nml2xIeuAS1OYPUhg13HXArdABWhwI8mDe5NT3LVn9jR1EiziuGgfXL/PQzmc\n1PhWeV5EiKKpSD7pFLODhNYZ9Qb4DxYKlqKVSBbufdHRH4M9DZOaxGg92DId\n/d6ELEJLWhbOywXopbWK9us4tZpZGMFbx5jQQzOmCGPbkSBFz8QTqFajSJnQ\n7S06HTsxQVhSRZja7CJDZC6cQbqvKIi7dL+e1GIzIOwLeiq9K3ChE761vtI5\nmv7Ac32TLY8Ju9Eb0EuCQTW1cAzD8XsQG51/+xyRDiYFpF3Ra4kCdpCxTylG\nrvZSMP5EFPj+pCf2C4eqaj2j/j67VKS5xJ5o5LHcXl+JPMroCRXxXi2KfCiU\nBPIjLRgyz0ed6cKpdIMpz3HLoqjFvzRm6DbOOXX5z471YRblApWtU97GjCgP\n7BU9HeCnCAR8i1wVI7xk68uDe7ea8EuNldAPQZqIxCXxVjBJaztE72S7cAiX\nLh8VEeuCsJPbydXGybmAQDBYegqNMlJM7QlL8Eu06V14dJl0oYq7m6eg7iZ9\nweT7O7f9WnGyH8o9I1LmfsroFZzPfTls9CkfObB3ISkVlSxjGIWi4z1WmSiw\nIWkgeaIpM5QKIddyQchEoKTeOGAVsiaMT4S5KDLQS2TgWrGhsvs7eYmNn480\nTIYV\r\n=6NRq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"27220fe16ebbbdcba193340cb99388e30976a2d7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.6236f3576.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.6236f3576.0_1629993898620_0.0067699792125319735","host":"s3://npm-registry-packages"}},"13.0.0-canary.1d19158a1.0":{"name":"@material/dom","version":"13.0.0-canary.1d19158a1.0","license":"MIT","_id":"@material/dom@13.0.0-canary.1d19158a1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5e85f32d5c7d3f2ca6683198f0c428513dbaf12b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.1d19158a1.0.tgz","fileCount":28,"integrity":"sha512-7LYywTgrgVjlbUNPQLQHKOcxDxAZPJL0I4IJ9ajNOs0qrCFqwt3dVVo8lnPBuXna1o05PGN1j9aTht+BFztXaQ==","signatures":[{"sig":"MEYCIQCFusoF4n/1E+U/5U/swE3xdFJ9Gigs8622krIz0vvg8gIhAKyjkDzCJoHdhJ5GYzr8wpJdtljo0c3Y3CTzJuVWn3tZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ8p6CRA9TVsSAnZWagAAHCUP/AiBw6CJHRywVT+/AkVO\nFzv0MH7qBt42SO9koDNNncEJAQ2neuUeBU4sK16mn49mFFMLek1lrHTApgdO\n3FfMQSBdbQN5FINIs7VJmjwU2QSEzq1CjR1BSZPKaybunYmbU5/UgSAlwQj5\ngThmDmF4jv6QvSBhPkPDxkGaksTWfxZ/gqnZ9e6GgWwt+Rw68OYmX+/7PMGz\nRrRNdsTRQVdfrSNtqpsLVkzhFgqRsbfoKi63OUCEvgN0Doa4HPXtCtuFhGp5\nsAXTgrLcdHpgYjwGJEfqSmbRHPaV/WMgdwnC17Azn8XHIhlpsd+wvkP8Us93\nOOgUF+XPrarvEPM5VtQOA5wd5wzM9dW34MkM1TKtgJvhugz1SXUygnGtJcY5\njBLcbDQQW32wQzqeshzy2qT5xNCDGJYO9MD6b3zj/UV8kTk3nWf/6Ci+S2ih\noEgtr3CTRyv50rJvBNtKVg5i2N85MBm01US9O37PtqzEhMT790KUq5wrnTLB\n6X6sirkDLHyzOjPVvMeu5b2lsFPpPStCyb5Bb0TjGVs7A2Yg5PQUMMBUH5ee\nVgCbv1ZYBeghJ8mJk+w1lJVXb95DghBh1j1Fjq9c+nenJtkBrEwbiXGAHZce\ntzRVMRBKko/6cu1BdUwIpJeMPeFgADjGLi/0rih6VwEtfPvp3CDtZ5GjZNQv\nizKl\r\n=WhiK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"451d11fe02e89db73e3ac79cab01741c3da63ab6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.1d19158a1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.1d19158a1.0_1629997690582_0.014320235795219238","host":"s3://npm-registry-packages"}},"13.0.0-canary.6adc9e83f.0":{"name":"@material/dom","version":"13.0.0-canary.6adc9e83f.0","license":"MIT","_id":"@material/dom@13.0.0-canary.6adc9e83f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4f3b5bcf4e18de9ec4f7e6e279d2e35dca390da2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.6adc9e83f.0.tgz","fileCount":28,"integrity":"sha512-VxJeRx/IIUAg4S9apuQ53ErjXYE8TEDz10YQLngmZr8hu3moc3K1LAgsnRLcQntZxlmCkPBrvMlkj19+WmAAeQ==","signatures":[{"sig":"MEYCIQDbeDXQl4ggSLxEfqd3r/iRFiogDdDGLcwipgW0vQ/wGgIhANLrpxKQAdInSWMBovrFkC/2XDDAixflXMZJHqwXIvk9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLV8YCRA9TVsSAnZWagAAxpUP/3fo7KstEBTB++ZyJjXu\nB3iSh0ZRcFw05ZZrVtwb4OFOQ0UGEf+nmCGbW3ouJmEpV1E4o/7rOTO5sCcA\nQteI9rPm8htvwxXXtQGBo5x79zUUAUwoIVEsfccuRLDEKVjn3bwLqLJW/o0n\nbE1dThuquQu6OjJhRdfB1LTLXIFhK4Y3XQrNJ7NsFRc/7dy34vQW0T2KAYwJ\nzggJBgoEJ/Bus1+Ahtwpduzm5ATeSaqtNjaRSOe5LJH6nh7g5hGoJdEICLXc\n5lUAxjqDg86H+zuEcncEXvknh3XfMk1S4fCVgCrbdrWY9RTzWC36F7+n61m+\nYaAIjF9xLFQ4VdpcDA9IKmUqUrS3PdZtGtdrJfUJuEbrAunmaDxe2B/qV1XF\nHgKY4fOEwEzwFBtKxCgACm7CfctKLgZgj0/CGSjIncg8fpgMleP0ROQn+YnS\nz40Mhqz5Ek3PWglDdVfCidwPla9unrANPlNNE3z7UnAMPbdH4MvZ2a2n5ysY\nnh9Gz1qiPy0amKdGv17bBJmLGHIE6evL/OrLeg7xOruNgW8u6i9ysr+WS3wM\nURmKjPWvnm+bc8AOWvQ0yvJSL/zXKfR7QhPN/N3GCLkmSXJk425kanALxLd0\nuTvM/a/uuBB1+Om5IJRLLXNFSR+WYPmOrGXo+pgo8bIjsuzubZO0PDLBNvd8\nfrYe\r\n=MLJT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d3d9f017c96584c46d77544b9f0dcb6e22eeeede","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.6adc9e83f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.6adc9e83f.0_1630363416011_0.01381756131975087","host":"s3://npm-registry-packages"}},"13.0.0-canary.d082790f0.0":{"name":"@material/dom","version":"13.0.0-canary.d082790f0.0","license":"MIT","_id":"@material/dom@13.0.0-canary.d082790f0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e2b389033fa19a046621b030b665e65c782878aa","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.d082790f0.0.tgz","fileCount":28,"integrity":"sha512-/FCjmM3zAyEyetlqPNb8kKhByjxI95k7G1Qqi26N1RxWfINYpzmdYyErStN7kUTONxjBAFlwgBVF01zgdd4wNQ==","signatures":[{"sig":"MEUCIQDTiQmwMlkuiw5trtLpAFfh1gvguIA3m2nXH1au7OT1jAIgYkANw/Rc9taJEQ8JctG9OJ1lOA1XkCRXVRDDnL4i6hk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhL/ZhCRA9TVsSAnZWagAAzccP/09aIEJdPpL/iRCA2DFC\nWQwM2TDWtR1mrabvch/GXIZ4rAQgkGUW+kudmQODC1aDMYwRP/xZTgJeW5hJ\nM6oKj7ydqr7SaWmyvzATeolZFnceqAk8RyTGBoWe2oPTSLDe43ziVPArkuOP\ntMoLD906ZeNT88KQmJZMDXOfm5Gb9UXB4J7jSLlkrb9L7t/rJbp3pcyYGmb3\nZrRHNFHIXJlmgTuhJ1sG+vmZkJDfljQWsQVNjaSi2/hTr6zSlu4byMu6dTXo\nl8WGIPbHGtD1WqRd87ocEi+SJt3HnwwgsQPxHWCxCR4kZfUe4rF9p0U0YaRA\nO2xqS8+H/yOCjkCXD4e3J/5NuXxc85QB8UCl8eNA1UMTyYgK3iNHDePe4WRb\nRy9nFj1f6aE3yW8lG/KN4v9F+gh0J7UTong/+FK+KC8t/jUCQ+TP4YyO1Izn\nFJ0QGLtgYXzzPU3SQM2V9rfAdhLA0d2Q7NIGLt0cmNGtGoseJkF8Oc+f+ClU\nKNSd3J+0uazilcqLL0Ai9y/mA/m3iQ/8Zn7983WS8DvlksYIwb3hEUycVUSX\nbrGUEQdRqLZtfdqKgx6Yyl3zV/yDjXuq8OiNIT5bhuOW+KNhgUMLpzPC9Tqk\ngzG8ov9KA68RWPvdRItSy/Wxyrf+C81T5HZcpyuCMseOXjN8hWSo5D5MWvyT\nQ7Jq\r\n=HsYS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"77212852cf39af4379f15c0daae076eb8b562c15","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.d082790f0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.d082790f0.0_1630533217385_0.5946121583057886","host":"s3://npm-registry-packages"}},"13.0.0-canary.e2c4f0196.0":{"name":"@material/dom","version":"13.0.0-canary.e2c4f0196.0","license":"MIT","_id":"@material/dom@13.0.0-canary.e2c4f0196.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4bbd9d27ae9332c89a7e9eeabdba27cae79bf89d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.e2c4f0196.0.tgz","fileCount":28,"integrity":"sha512-S9u6KugZd436+SK7pi7Mr2zKQygoGh7dpU8sVtg1ebetKHPQypAlEX/iw4J7g9arPuBbb0TXekd4PatvujsxRQ==","signatures":[{"sig":"MEUCIDniazo2KUiK+y+2QD+Fp7WEo2AkDxc7pbwDyXsiUL4OAiEAxtuu/qHZYWe1oUDwr6UHGsQC4lDjDCuTnTlvVCLWczM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMDKTCRA9TVsSAnZWagAAnfIP/RkqL8zqNv70A4xEHrZl\nUwcnPqyad3WwPU741VK9Gsu/HRKa+kVDa34Y7cM31foXubZbJiBkZH9F3s64\nSgiScyeYnA67ZeF0dH9q8U4zXb5Fr2+ABB5R4+HwXkeIEGuy/kh6X3Lo71xQ\n4FEFsFuZP2O35x1Q1nR66DHpBhR3nrL5P5oURhzpDFqPP3SgqzA1vqubA7CN\nh1IvaW66UpV0P4gGEFZ8C+Y0yzwNA+c1ZFKKDzOtBHgqNyYUh+NV5MtPsWR6\nPvTBRGPBg0BKsFDVMXV3cDytoN7Bd8tVmSVeShOm7Jmy/tXIKhIrHfeAb2Xz\nfejy+lXuOlE5L7in6qLAut9H0uwWSzOX3C5kilZVgc8FMPMVsTXU9wFYdPSC\nlSC6JVa4GNliXHTAmOctVHqRFNlJmeHnERHE57hsCOYnpI8vd/SJxoDU2XQY\nBgVg1BrD+Hsl/43m2uZaMG8OJA74Yq4b6k7t5oeNHKLxdfZ+99iyeSA4DSRZ\ndSfaZV6959RN3lRX7T70iSrv0eH7iVyBwV4XO2rT0ZTg5b/7wIoQH6T6wk2C\nH58EKSQ/pV7hZV843EqZLzhOWBaQ9NkVIbSeYcDuAGQOvoVD1RJhIRB2lGUt\nuB7UPOpDDOD12rPra/NX+iiMmn412Dec+uWJcqWp7/iyUMtkQiazCWAx/9wh\nAj7C\r\n=RKjG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2100e21debb7fbebda0966c953fb24e1964c19fa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.e2c4f0196.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.e2c4f0196.0_1630548627136_0.609795875769658","host":"s3://npm-registry-packages"}},"13.0.0-canary.611db508e.0":{"name":"@material/dom","version":"13.0.0-canary.611db508e.0","license":"MIT","_id":"@material/dom@13.0.0-canary.611db508e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fa15bb776a72819f9ca6c659dbfe87ee4886de6e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.611db508e.0.tgz","fileCount":28,"integrity":"sha512-IfvSdrR95rCA9ELEZ5m/I3iw94mheublA43z/BEvmbJevUOXoqepsNiQI6N6arIaJ+YEKPwI3QLM11C0Xlza7w==","signatures":[{"sig":"MEUCIG12ye9Bxm8QaNyU0yVKaPQ93EaeCF8aasdfafQYPcFkAiEA8fO5XqarpCOOUjx39B2fcXEPOd66LJxkH/8fOi6D874=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMEGBCRA9TVsSAnZWagAAWJwP/26CdoOEDCg0POA0VcxK\nrpU+EpuieE5DJQJCjP6K1TyAlEl0Ll55YprpkAisAZ8n85T5lhohVQtMsn2H\n8gkal0Lx+yZ7o9mA5Q2JNCXbArHn0G7rfIu6ogOGkpTo64kt0fl/EYAXimMK\nOQTFWdnTIAtrG80cTniLR+lGuyHYam4L+aFJfl12J19x+Y5aneozFFEYgPuD\na2NdJaJhj9K9894ytXz0meQWmaRiChYD4K8V3b6vnUx0J2ZSfEl0Ui9NcYl0\nHiYlOq0vp3z2zjv0n6vc+jUXB56DvVgN7IT5fYfNjxsv8wNp7UBPQqJLmnYR\nlLEorQ0+CiQEC4bmntyG9HmJgdjaH9RKzxEq1XXZzbc0CjdevrjtziU32TWc\nKVCSqsBFm8xEdHK1AfNR88TRLYizbciF0kJ701QjkvJdlRjgj/ylw9Oldf5f\nDKykS5uopvGK6GsZDeGeuYwD3eF4XIvacv1PO1Jz5Ii0SPGRtNOzJf5QWmHH\n4HlgaPoTBOuMpCRVd03bAU72nTbk/XLUzGmdFwplckmedtTSSkT4Au6kpLnE\nNNeVcGRbKLOUkZvPLlmLMxdQtBtmNvovSUTqvUjBlHqgUS0c6uWdXIrvqWh/\nuXgbZ/kkGoh94OggnDoBcFSFKlE6jGXIWwGUWMobH5CmkZi6b+1LH74od7ju\nMlCU\r\n=0F4E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5d75be4b0e067fa5d6477869a053c630a67cd643","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.611db508e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.611db508e.0_1630552449575_0.05967748213619495","host":"s3://npm-registry-packages"}},"13.0.0-canary.d4706933f.0":{"name":"@material/dom","version":"13.0.0-canary.d4706933f.0","license":"MIT","_id":"@material/dom@13.0.0-canary.d4706933f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0524650a14c97a4d8ccf574e618c51ad4d826d60","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.d4706933f.0.tgz","fileCount":28,"integrity":"sha512-aSCvcGyDeBlgtFmKp8ImdhlcQCv1wxD2yctQF4+EFSo2Es4+nVDooUM5vags6ajrg3/RRYE0bKZUtDVKS6qOQw==","signatures":[{"sig":"MEYCIQC1kKH9XZyoQzcOJiqewI8moHjwxRaV9KDVZCEesRP77wIhAKf6e1iyLnlA9/XVINbz6lVMhhviRrRkpL1uRvbxcEa9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMO+aCRA9TVsSAnZWagAAx20P/0D2b9DwIPDFiLcZPlnM\nYMC/yesijqN8GbXzStVRFa+xLOcLMmN20Pci+qJ/00DKIOOTQohM7dC2z4K9\nKEgN1QeGmC3Llp1s+uFNFuiYqTwxayGLlpzxy8IP5xc6/13UdembQTbzWIe4\nu/xGXXxOQ5jC7Dcx7XoCGghzF+v4AJ/UjUtLy/+1kWhbRjVI2BLAoD0Rgpj+\nqePHvUgIhVwW/llGbPWqB5+a1aJJIQpqazGLnMFwvZIPSy9AoQ954JATzCl5\ng/rCr2h7lm9w4/w22nYSYx/3lhoRPa/S75XEe5DhLXDMTmU0oQEnbOi6jRir\nDZhIP9IMFelTDJkIs6OU1betKEnKvHPjP5x452YiS07Fr7l0M1b6mCnrBU8S\nGwVFAx3R2Zmd+DYB4RPsbc6SWcyIJzYUjmgC0gE9ieIHc+NHXt3NtBb4Tj53\nU2b6Y86eBVoqQgqZFhvKg6aoM+zDa6MQPSukzkhC9gbP/IkAWMo3o+LAszPy\nCH4efmODpX0BAPE3YmveYQO5cE/KJzYGfllWf2nzsveECEWzYZDG2VZHbZ5L\necK6MdoLw/zDQNxweNU8RRQIl4/5NLz9OfFagrKHW3fxXXXkvs4wNgvrtI33\ni1R8wayZNOpuaansRT6/NrXNtoafqtE2QdD4eitMlsteuoHpgtgdKc7OWbyP\nX/je\r\n=yQwV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9e7edb1e0621060d55bf2765cadc8f2ffcfa0f30","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.d4706933f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.d4706933f.0_1630597018774_0.023404815441808058","host":"s3://npm-registry-packages"}},"13.0.0-canary.c16fe03ce.0":{"name":"@material/dom","version":"13.0.0-canary.c16fe03ce.0","license":"MIT","_id":"@material/dom@13.0.0-canary.c16fe03ce.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bdcfc573f29a64b0585ba1d5a6d22f528d5a69a2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.c16fe03ce.0.tgz","fileCount":28,"integrity":"sha512-+x3eQ6uSLWnzP1YnNuYNT5YMMddQMCje/KPhU+OL+2lTmtV2uLa+28CPL7BawlqkqPGZNuCVs7Vy34a9ctOkoA==","signatures":[{"sig":"MEUCIQDqCsfXOVlQ50rhzH7RLJid9AdHSzpGH9bGv3ikmoOdnwIgSpnAkobleHM7vUe+ISFJ6PzkwADYtkwwdYL+0fF+QDM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMQ1iCRA9TVsSAnZWagAAgA8P/jOCmoW9cSzIyJoq5L3O\nbTwUPK+dm91nFWWEFms4KUZmO0CuWV6ZZolppr91yzRzLfivQbvfHX6hsyAc\nONZlEWW6Z0eoc5RAQKAftibfwL1ooAMfSuFUFu2oXZYHr+boHw51Gj+SBYuN\nQPsjS7HP1xUebIAXg1+RXup8d/Qzy5k3oJjXPKxujN2WZb8MwlfCujk1Yl1b\nOwFOw7Gayq56XyV9L8tG+q14aZsCe3CChI34Z+U1/6bV4OnQqYW0lVO9ZjnT\nNINpguQ062JCvUzBywcoBsyiYGJpHnzKu6axESq2/mOTaStI1oLLswZ7yUoI\nMkivsL1LF59Urs4kh1tbYPUnkQ0P93tofm005zZznxxssNL4Vap7MDvNdsn7\n6DrLOUqpDAFY1tHOm9hNEmHffLeESkORgRmMTKOkd9QxFat6FXHqNEa1MQnR\nqlPl5LM99LxoSD/qKfuyj6iFGQIJzFkZQnOZiTqx0STat4pGI9oVYJK9REWl\n/dlSAJPigRgBDQi+m+casjO10eRrIqR8qo3zAxeZJp9SnH6NSy5ycZGNDxbH\n/abcxExJfFWOXKLxl7VlqEWdbMlZQogHLlGCFKzGtB3DhtxGu+K6wkHvuj4t\nJboEVTnn8AbXYHeEcvyCE4/CQ1lYIJI+4lkgmn+bhaCJWPWO1xyMBeV0MIf8\nDQK8\r\n=Ml7r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"28281c91b41ff8002401a21d1210e0fc629d55ae","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.c16fe03ce.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.c16fe03ce.0_1630604641887_0.3974279426461256","host":"s3://npm-registry-packages"}},"13.0.0-canary.9203a958a.0":{"name":"@material/dom","version":"13.0.0-canary.9203a958a.0","license":"MIT","_id":"@material/dom@13.0.0-canary.9203a958a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"003d98a87618ed29f5e0901a3ed0515b78d00ef9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.9203a958a.0.tgz","fileCount":28,"integrity":"sha512-vfpJrYINDjk+k0SABhy2cs4+tmN7zi/ZQgRHexkUmrkw+bTUnZMFQ3EXHUGeTX5zDXUrj815AobwLYX46pOKhg==","signatures":[{"sig":"MEQCIFgBAMH+EkRJTzl/ggjn2y6bV2C2ftzPOOCgZOh5CD13AiAnlJHK/aSs52ffnIuU8Ch/IV/HoDBCbb2OmoM5o0tFuA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMWIkCRA9TVsSAnZWagAAoaIP/RThmVWjqmczTAFLoB2s\nAvNHzvxRfxKBmQuXtqdGaPUbvJ+ib8ZxvIIhBSXcK4/x+gHu/vLGceQP0sM7\npG4UC3K7UYReSWcUMe1BqetFlF+W6BrkSATjC0/KEi9hjGPM4UwlA6MVZGRD\nq2khloi2ze5rWETSiNjrzVEQFVW3E7fLJeX+IDfr2SdKQDn7cbjE8DR3H3zD\nGCvSRtXaDS1YwYaOZiYcm1/66Wc0s4t0eY8CQi3l4ya4oUD0uLSpIgj670o2\nuQupGzRcffK4LfwvSdTtsBNMPG8fFuc2oImDMmBWVv/N/MyXk0+J00/r0Xk4\nL/ktnmgeVUkXBcSoEBLtrUEYWIydD0D6ZQi0/D9MVObuKV4sHUFWbFevBSdk\nR4RQumis/QxWVgI6KM5lvbF4D1u/pqHMb+Je8xiXHr2XXNKzEVa186MeW109\nV/QK9P817bEtcHj1zjlcljXJyfNdm2uXrIEVgH5UB2DlvicM1ZxZ1nuwMHPu\nfRWc4F1jXOuRc0li2EqYPo7LnTL6fbLWhxyUltjjHHouizI6iol5r4wGbeYx\n6HQfYICyrcFDuAxeqAcR/gXE0p3Jzxi/qvsvQ9CduioA52MnO/Fw4bCUF4n4\nxVWGW7AjPhcCItUXzqt1ZN+QngqEa59z4glhMr3UjESx3QDjJ2943qPwALyK\n/J+5\r\n=lm75\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2e0f9de34d700b0d1eabd5186c5b5cf8080eaf74","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.9203a958a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.9203a958a.0_1630626340552_0.4479429552734062","host":"s3://npm-registry-packages"}},"13.0.0-canary.fddd5ae93.0":{"name":"@material/dom","version":"13.0.0-canary.fddd5ae93.0","license":"MIT","_id":"@material/dom@13.0.0-canary.fddd5ae93.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"31ca63448777e61a4b3fc0f1721124d319db75f3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.fddd5ae93.0.tgz","fileCount":28,"integrity":"sha512-UcNlVjVX9+29QPdV3zRpQwnf3dYUY5Xmpyaaa5zP+iautgF0sSSKQW/NAcFugHo8VJyl6yGaJ9FiQ4ScJJJydA==","signatures":[{"sig":"MEYCIQD+ZRDeQ4PEd9qSuW3KcCerJ+WJNCYxnYogC4urY45FSAIhAMDDjjJbTwmHX5NR1iCMruEJ0Yw4BmIuxTS8nuw/btab","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMc7HCRA9TVsSAnZWagAAsRIP/1beL7K6XKZNJtEI6FFa\nCMUtKuo2u3Cf2uSEvhmFHhTATdSsxC6ptrC/bv8XpH2979NdARiubgRvZq7y\nrgCgwzFJsN4VS5E9Mzcul+rZunYH9ozAXoleb0Km0kRBc5hFugMh15fYYlnZ\nR2TrJWL/1XJdt40cvEjLhbFYH84ZJgDGEiMdz23vDX4LSa17zgPMsdHlYU4a\nZG4c+SxFIxcBJNpCanr+YFI2iXILgt4G0KbdZlBFZGUszC7LcK6KtUC/HpDt\nAuIfF2ZSzMdyTWZE6n599zcqcD13bOL557fe6BGPD4b2VXPF4Qb7h0yJpNfc\n42e8j71B63jV9T8z6UaCFRkHCosn5nBxgK+xGTYinlAW2C5IuczKdXaan4QD\nDFoDJp0PUw++J6l1j2azFdFeFaxnzsJYoeSOcGH6pSgP2Zm/FhZlPvZQUkrV\nIL2cEeo9cFoCyt27pSIS79WqhkARvj88by3JM7S1z4+t2mieVsTqDr/ooVW5\n0MEsMo+trqEY3m1QS2uU3Mnz/k4tbWsZuTnxSmYuHhbU4enNfIl4SVM3PTtm\nU7o1VnIi4IJaJCsmQFBqBViIIFrdJEOwa6Stne8kx3ImNLY+8IfbhZBwMgh1\n7R842yIhoxVDXH/2uISUGS4NCBYaY70CuEH7sCXByJHmWe5y+U4h7DwFBais\nucns\r\n=+DSJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b5407901afd7b18f851e64db0350e0c38797ae29","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.fddd5ae93.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.fddd5ae93.0_1630654150892_0.061729898563591235","host":"s3://npm-registry-packages"}},"13.0.0-canary.117599a8b.0":{"name":"@material/dom","version":"13.0.0-canary.117599a8b.0","license":"MIT","_id":"@material/dom@13.0.0-canary.117599a8b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d740ac7559b9125b509cc6525d8591089328ca89","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.117599a8b.0.tgz","fileCount":28,"integrity":"sha512-hp6SsK8ChpR7SNukLc+elIQxebhPJzFskyaYpwrG8bF9autP1OUsKKcBZ8zvazFud+7wJdTp+cWglXW9KmUXsw==","signatures":[{"sig":"MEYCIQC+UdWbPOE2iIaueS0FO+fBHB2tHxTLuroAZRu/VvACMQIhAOJghu3EZkZpSSMBM0MuxD3igrHguQRA7fceoK6mnEws","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMc8dCRA9TVsSAnZWagAADMUQAKC7smHJe34yA8qy6brG\nPVij6KTJsIVLaW/W28ovP9DvJ02LeSkFNrsFrF8yWLUVjWrlSy13Xvk+7zwl\nh+9o9A5VeiPCKm36hXdEW3XMhD3AWEUKwNjMxBDjXIuUNCU+hHEziLD/EPsr\nYJH62B9qCYSv1lfkikXR8wRVdLdIQUF1oe6RfY55WVzwfgcB+RIPCHiBSUh9\nMnAQGMnggiv0U9YIoMT1VSYPv60/B5GK+N3ERiJM/wqUcdR7ONMGhdHOr0Wb\nTp/8zDl55+aS/az5e4Ue3ik2jHSt6NOWoNzuDcHZZhOCASVzqRfTKtD2UsBc\nsq1x/15eGrB+Ueq+iG4sHVXp77daWighxGTjFB6ELczPd3Y+y5JKwE2GtMAz\nupvUNv3EH9wdYe4/Pxaamb1oWgujRJwyVVo3fzYoDHNOhbkh2FMh+n9xMlW/\n7oGAAtMyLVeOOV9uScrva7Ubgb+3upOUyfx2x5dyTE8S/e2QgS0jm9q0+rj4\nYhGdIh3rP+Na0D3uxEfb9ec4f3CHRZauKX9N1LtkYLX/QeIOEcuZGVnJJBgL\nPQ7cf6LKv85GXyQzVKhbTaa26ML5S7De9NfvwbGIt1e39SVxEhz9VKrRj7Ko\nBhJVGNN2oQP6VE3oGt+pdBUy4kyHmtfLXmwKrZT9R0qfhCFEyBWe0TbTVshR\nGyO+\r\n=VmA9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3dd17eaeb796b36aeda593de120f16c60ff06a0f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.117599a8b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.117599a8b.0_1630654237629_0.2744113700401014","host":"s3://npm-registry-packages"}},"13.0.0-canary.e4180d07b.0":{"name":"@material/dom","version":"13.0.0-canary.e4180d07b.0","license":"MIT","_id":"@material/dom@13.0.0-canary.e4180d07b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"648134e71bfa97c68d15b307f4bd82ca5b668c4b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.e4180d07b.0.tgz","fileCount":28,"integrity":"sha512-VnzrRrJAqwpXjwqvPDxac1WPM7sEEAEDgISS/OS3wEfOXLILhsH0YJljfn3JEmzlEZdTUKtPLfu7warT6jLz8Q==","signatures":[{"sig":"MEQCIEzHdrIiDhC9pB//A5yQUARWZczVjmdzGkIjfQvhHwQjAiBLrwD21E03pvY7KjYGUrYNZUr+PZUZ+v9m7FBH4V1Pig==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMc87CRA9TVsSAnZWagAA5iwP/0QV1RERu8EtMUsbs4//\nZCFblb6kejBUe84ba1+g+UjYoeGUbCWt9HapXp0FGb5zRKzM5DdnQ7LkvP3X\nw7oz1lFd8tEVB4muCcFcFE8+0hL9Wz3OPL4zxJp9U9rgUewwRkNWKgSDM6g+\nXE6TXoeGETuDnD7E6r/snJXd9PcbT9mDVmI/bwecLk+u98OAUK1soZq82lFg\nWcu3gDYa9cCpBdQe56qDy1WhpwtGYIvJMyLzf7L4aunSwY1ljT/HGpunhH5Z\nMs4nRnBQ5i88g2i3FVjpHjhJwUqXknqtbuMFd+WInwexcARJB+I6wo8fHhjL\nyHVj3LGRVkeygEWNrMXQAqAW4KdwGFUjaRmgTN2wSXmAFY7wauVYIJVK0MC7\nFT7BlUgrk3Uowk0oc5KkYNDPhAR/u9bCdWDiR5tf7oKAaRLlVHrKeSLUoLPz\nWb/BSFc+m+DJNuGzFBhda+stx6IF1QP2ujEX038EiVGAEjZcsKMMzBTKVpew\nGjWm9l2U+gKjh/bQX+Pb8LALqS2gg7qRAKq8bbI8TfXcso3R710Iah6D6h/o\nvAwZrnahdFY7oWQDz3z+b0u+01MhVwpkarBFsqlwce0fiYqsBywXqwK/fsXN\nM+VR5ceotQSseOGyeKr41nsMfGtNhF0SlzwVze/8tBPajG6W1U/NGNTD/gVj\nVWsA\r\n=CuWi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3b94d02f75df256cd0543dbdf5062823ee527d4f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.e4180d07b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.e4180d07b.0_1630654266897_0.10920547431621341","host":"s3://npm-registry-packages"}},"13.0.0-canary.42d175efc.0":{"name":"@material/dom","version":"13.0.0-canary.42d175efc.0","license":"MIT","_id":"@material/dom@13.0.0-canary.42d175efc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2f8b28abdd496d0d0be4d6deca3abc0d857d3395","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.42d175efc.0.tgz","fileCount":28,"integrity":"sha512-aOZIo4Mn3aDo+H3icl12r1XwLh6O5hYSyaA1bF03fiWoa1XjsyABJWqovVCYbB/dojts5OpGUPbSRBRYHG8rUg==","signatures":[{"sig":"MEYCIQDEE2rxwUcyJr5M6gkdepnda7LCe/7uNq6ZvUdViL97BAIhANBv5yEL6wCR2fF82PSRgQ8pAhCl4WGr7bUFHLe8j4xl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMkJQCRA9TVsSAnZWagAABi4P/A1o4U3NzX3IDxT6K8y4\n4h2LB+TM3Pv7jPyAESNSZAnDkPj0Ff9Bn5h+D//HJkFQKsZJf7hDqFyXhdbB\ncQManJq0TzElJCrBcdxuk35Ez/ToYbgFxiCsQm7xOKQdTMoiT0eZ+jSrVGLJ\nqhjuoC4mMRW0cZ4GrbiowJm5GZwJgPFsGZUpqh09dtozRr/m35rf9WYPagm/\njSW3COeLRjfjJhef5BCAPIPfvsH4QNle1+NZLBZ9nePWpwsBGBz0Mvb+e4Ol\nQSI+kHf9hKjfmqniydq1a8ojxohhTX6LB9TBhx3+mOvbWif+eMQDRiIcxhPb\nhk+CxdxodOFo6YZxaR7JihokC2f8lp06aUVmmVS3V6Tug7INuixSplhGxdVw\nyH6J0p1PLiUg3UNcnkmRV38Iglk+9zqc2T/LWUwka6t7IcfkEQ9D7TBLGnvq\nyrb2/0MDcX2CfACmTh1MHo8LIjBiteUYUVVIXc+mfRF3lMiMRogktb3ffpFc\nJgM0piHhvaKpNiM/xGjelcok1+s8MSPhJHknYGo21Vv+dJi6ZFXca2q/clXF\nQpuZTC29LIncTstEqRW8/gGbwK0z1G75DmMlFlOoq5+/oiohLLK4bdfm7RSk\nZ+fJxU7nPAfWZR65M4Zz9HHeyIrst+A1zV5pVpPEa3v62nI7UMbkCIJvdgqQ\nSqpK\r\n=c1+U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"64e749d9e76a60e5559d8b19e4b57da1f44ebf0d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.42d175efc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.42d175efc.0_1630683728134_0.8359072675852506","host":"s3://npm-registry-packages"}},"13.0.0-canary.72464476c.0":{"name":"@material/dom","version":"13.0.0-canary.72464476c.0","license":"MIT","_id":"@material/dom@13.0.0-canary.72464476c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3d8338598d371678749688972fc654a45ab78e75","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.72464476c.0.tgz","fileCount":28,"integrity":"sha512-UHGAlb8WCgNOK8Q7RDMNSBos7RA9RLKj80qEQmW/4e4AItD9pisFqDXOu0xSCMKGYS7yTBim0bAtKASKtIM9yQ==","signatures":[{"sig":"MEQCIBxbrJjNkhEVT2n8fi2MHpVZEomBDkDMyunPnoik8/gNAiBNHr0G7mFTJfWGH9MoUUox9yfi1WLcyc7tpzBrRM6PKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhN4ZECRA9TVsSAnZWagAAnR0QAKJUcNy73nw0sKw9fjLV\n2hZxxM/AshrvxFQlK/AwgG1P3n+KfjChx3Hz7evD5E7Im7fpXdI6jj994BFS\nIliSuPWTyiTQIUKAWcDP51hh5rJGJie+aiM2TbHR3HyKNGEb0nVeVge/o22h\nrW2Z2K5vmunGXqwH3a7OtYLqQMymT7YEaeDnMr3tMLpzBfUl8PMVkNZsnT/f\ns+Dlp/696lJ1Gq6+EcMp6Z4yTuw4pLG5vErlWMl3w7cZ9ZUFEpz+rUKRrWcK\nIbgkqabGt+9flcxAyHf9JsCVf10OeOnctv4eGY5ZTl/ZH/HwxjAcOgl5fFAX\n/qRypEvkZ9wgSn3PP01tmyZGhC2kWf7lJOGIS87Zmm6THz/MU7xUBgTO6PM8\ngI6GRWIoS8WKks4B/wkNR5bKuDnH223OmvG6a9Ha4hpDEO/lxA0HpDyWSIWQ\n4mm/knB4Ywcr2Ry/r6HrH8SQ4xMOPXbeeR2rTiESAcXkKjM0vAPmsjZxKZ/9\nHzxs1QvYJavj3V+3DhH63dEBpPuHalH3ixhYesC/p0JB+Tzqyy0tBgnkjKBZ\nLYfhl4lHGDjBNX7U4RH25FUGzZBnbdwVV+fwPQmMCM8h2LrMMN1bA16cTMMS\nio48OZrVoYGVMOAWOeUVNPQNDyZAnucVQ7wZLrBgB2S89k3rCAHnzAFC2Owt\nnIDy\r\n=TY9I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4c409a18f3ef0a7ee6f9b223a514471c0515b639","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.72464476c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.72464476c.0_1631028803582_0.2697846198051521","host":"s3://npm-registry-packages"}},"13.0.0-canary.37d4db866.0":{"name":"@material/dom","version":"13.0.0-canary.37d4db866.0","license":"MIT","_id":"@material/dom@13.0.0-canary.37d4db866.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1d610ddb1727ef48f773e6b058717c7fc0195725","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.37d4db866.0.tgz","fileCount":28,"integrity":"sha512-5trH4LEeVaOxuqMlO71Ab//SjcwEVemXCFR3IU/n8js/ufc8RWllr8bS2B2ntkII36GIpcZ7ILHuZH0P+BnQxA==","signatures":[{"sig":"MEQCIFp7m895mblWEjp0eNc4WToq4FgCwdVdrc64AIcrEXQdAiA4MP85nKrC8ciB15edPyHACQyAp1bgB4ia9LhbvT1pcA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOhsGCRA9TVsSAnZWagAAZQAP/A8bvyKwdzMbHs+b3HmZ\nZMP225o/vFbEIMZ87ClW/O2IHjwJmb5TNNSTHXccb4C1F8fneyaNtJ/r2pGv\nZTMqUVLtA+DadRX1srUGKEO6gpEdDuIl5wnssvXqya25osZcNNOxejB9MEpG\nh0hTmJcYoDwTwKtRQj3J14KqTQqjSbVEr9e4cpsBss41vwqEdp73lM0bCTam\nMsikSp9cucISkaSjDd3+OXkyTwLJRqBQ/P+93GqlIBY47D/Sv679xmLpSUCN\n1LKKiMnzGrzSRrb07zxpWuoavdppGRpuP6n0Lqoqcd3QE2twRnSMGkw36AOc\nCi5uCa0dflrIB+nmhx6zV23HZHWBCuDEELw6llqA6IdFt8gV9NrPer+lGrJP\nifirq7ICR3ATwdqSGDnAN0jhW7WFlHDVhL8X0FMYratOwkdhHpHsv96cQFoP\nd5zWoaWThKDQepkkyvX7/f+dJzIjPnmGPB419mwN8svlX0QmlXGszgo5IVZ2\nfla2VvuJ5jP5yPf8LL4lRjag2pC5u5AKMFCKJ322mbfTgSTNKfJvrtmQBOjn\nhArPKtBMccS2Yx0MfZ/1xOiE3ta1LtYx+S84seYecGS0Icr7acpwVHiAFh9J\nTzNdLk3R+GFQUqJgMEhVTh9yqICunT8p3COotPS6z7reFeQMVmypHcTRL3Fb\nHpQA\r\n=jUeT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"25270b452713f831fa1adf302fa3f2c357ba759a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.37d4db866.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.37d4db866.0_1631197958373_0.1837799340810664","host":"s3://npm-registry-packages"}},"13.0.0-canary.6df682e74.0":{"name":"@material/dom","version":"13.0.0-canary.6df682e74.0","license":"MIT","_id":"@material/dom@13.0.0-canary.6df682e74.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6bdf98edab4cccdc06b92215389f26f6d8909f43","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.6df682e74.0.tgz","fileCount":28,"integrity":"sha512-cYqS4AULROS7raPgw8Prns7JwTTKsyRMr27TkZeQIuxbh2GfeosZ6ETeOqq/6iLWeNm5YaItHiXOGBtPGQJEcg==","signatures":[{"sig":"MEQCIDvZWeUH+MbW7JK1hC2OALSEH9adcaOF3sP+0m0ecOwdAiB4T21lAuGi94bUvIuEi7Kj32eDlMS1YYrDIkL7hUjiVQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOithCRA9TVsSAnZWagAAfvwQAJBZVNKOIhfNSfNQnibk\n15q36RPFVk1fyW7q90bCWR0mdtFlgy2+c48UjmpQ2efMdk0pAhSB+qFYB1gF\ntJx399NFTlf20CwTz8pJ9YJa8b3TQ7NlvFB0Kr1NlrIP0Kev/urmZ0gXbsrJ\n4EQ/utzVo8xTOWvn6vKmVsxS2TnB3BkyuncZsAv6v9z5lOdahO3tdbt5HJ7P\nJdA3GNy3wdsUt/ERtW/rZ3rMCwJZR7kz1tDEFCfefiaCTI1vymQ1I8/b5tB0\ni4GLGZ21f+Vf5mHrs4J1qgS9RMtXQV2XHzx2b5VT6ydQck4eFHC+pftpIwNE\nja3RL3oOV2VRe0Nkx7fYoySoSe+ntZF4Pi7R13VIAtTPdDkMMSmipUeLQnqS\nDMoVqQvpBCp7jOw1FKQ+J6oR6mF+I4mUHQwd2X39SnkTPKK1EFYN+obMF+Xc\na6RyZ3wTljMcKVdtJ+s5ZbPpkslOkovC+i3LooZNyV+1qeUXa9Qb3NX6qhKh\nqG0sXxNWg1LHOuyf0pc4lLXqe0t0MdRnx/6tIxuWXvbAfDKuJhINPlqXdrH8\n6nFlFk+crqAHT1xyO8at09Wq/I3p/0OyEavE9dWbtUw0TSVeJLf3RCisGiCL\n95I+9R1UBgf4A6XHtEThbLoFa7ggLisbEpyyH07dFH5tqNSHtIT3BQPh9Q8l\n6CaD\r\n=rZxc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f8640926b088e6e6fd8688e2bf177fbb60e83f2f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.6df682e74.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.6df682e74.0_1631202145642_0.8820806389675553","host":"s3://npm-registry-packages"}},"13.0.0-canary.b49359c35.0":{"name":"@material/dom","version":"13.0.0-canary.b49359c35.0","license":"MIT","_id":"@material/dom@13.0.0-canary.b49359c35.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2f5575e82f8db1fe91ca070c76380f24701c4c5a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.b49359c35.0.tgz","fileCount":28,"integrity":"sha512-gJw+yb8C2sYnV4nxTf/Wb4bgpqq9YdyOhqY9wGPpe3DLOnfo/KDIKSY0og5i1Mtxon8i00YpKYmD5783tw05QA==","signatures":[{"sig":"MEYCIQDJ9ktK5bQcHdxPkn2msFSnoi72X6kgLU/IaLkJ/ehergIhAPD2MI5wfD/VnrQOXgYlOa2vagS2V8msp90O/YsKhOPZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOkW2CRA9TVsSAnZWagAA9Q4P/jvaDNuDiIVjXgkHa2+H\nR8ophUau0TIASzpLc35LqZe02lbBTHlM4V8Ldkls8YOY4hIBXvd7IWuHyHzL\nkodYjEfXJB9N5+Pj+4U97q6BFSR34j44o0iFTZSZ3Y05phylWj2g2q/k9R98\nC3JtzRpqom6Azzw11fyehy7LBAh84AakjHkbLu5UWLbNptSydlDKJDsUklz1\nFr8z0lS3BW+udPZ10oenWJSVk2y9LRd+aNoDUSbqfsacOpLsLyq7+3YDDIy+\n5RYC8BjIzP73H5TzBcWmwQEJHAnYBsL5OYl1lf7YccYl1KqjhX0fqnbYEQKm\niIHF70Hmj8ogNOljJ2mwFbZ489TLUGi0qFbGKp1pklHl74dfHRoNbYBGLedX\nz+GzXMzezNKiAxD6oqimsk3vU+Kh27sXZ3k23OSnYjb3n+uLFSUvkcTpN98R\nzYh4L39/UJ3G48wqH4Hzs5+HTkCv1j6uD4Z1t8i7SS3e9qxdbDdV1d+LMrIX\n28AkJfETU/cpIMERUIRUYcJJY5dIsL65FfwQRsljURgXIxkIc1x8mHOO91E2\nTQ4CXMGPh0Zid0441YyUtKd5RuvkF7JgpNRf/qh1/sI5GwezWP9ZBygCds+m\nrYmx3FMnBwp/HxAwSzkBYmveQ+evTyOekXTKSoVFSp0j8HKDGHSDBChi3GHs\n8bME\r\n=trRU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"817b18da85c93007b9b038927a1ae036f98f686e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.b49359c35.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.b49359c35.0_1631208886027_0.6297736970185956","host":"s3://npm-registry-packages"}},"13.0.0-canary.470bd34e8.0":{"name":"@material/dom","version":"13.0.0-canary.470bd34e8.0","license":"MIT","_id":"@material/dom@13.0.0-canary.470bd34e8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"233ee43252f8fa681b89420e87873061ead3f93e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.470bd34e8.0.tgz","fileCount":28,"integrity":"sha512-zH0j/buH4mdOGZMwL3IaozFycDazs4BH/hdG1es4c3fE/Q0/VpTqzjUqlxL87eJ/6A35gAgkjcp2JOWLLzZ+Tg==","signatures":[{"sig":"MEUCIE0rVoPO8BJE16byhuH0G84kAGRtzNp/wvRMtr70MdAKAiEAp/usFNIk40//XeAt6++S1nZlw61jfpsQ992yehY03tU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOkuuCRA9TVsSAnZWagAAZDkP/0FZYJS/UjWzEY9lRK+/\noxUkbozeqr3YXhyvuEtOF0tFgJM+aLywVv0ESDmtAhkhuACRKkf+zNx1y6/O\n3JKBHfv4oLaDPD6eCp+tD+BGQeat5qVgRzYD0v923vROmBxrzU1b35GXpx3Z\nejnzUHX/PkZ9WNlPrF27xKqzuIORroldhbqcORo/IonntsVhprJCzwATMLBK\nCfgivWp1RwM1Tk/i6gFJvyNxc5bcRuBJBOydRwEFt+7Q7cfTj93Oq8OpX8eJ\nYVqksQBHJgQaTi6swm6UCOxhP3LVu6Mx4Xs4S1u5KLGNREr+L7402pMcf/ew\nMlh7EENkzaZO/LFE7ZeGm24Ld2/qn/vGXJisND8tP1TllQmZg57K3SdVFxtW\nUvD/K42doBvntgPAVvA9A/7ilhw3HRu71khyq8QiTxmjzV/NckYVyqBHKh2/\nad24OZ3hw/zYT/v4yGGGbgg6xYXFrfqrRnXJKH46/7M0D5Gv5+mkvazbfPgo\nsio2UsULh16NHytnDdkf1wMGzctmQCFi8UWo+V/zXZa+zGoDygYFKZGr/QTj\nmnchQX0iWMlicbwEkptBcFrRKAAOhMCDX/gEoLAJCQNCFni9rBFOAC/77dA/\nta18JmhpbBIaohUtc1atjwl4CKKkYy/g/lTJ4L9NizWhEievtb35lbBaZ+Jw\nyySv\r\n=dYUn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f249b00e3cc067fbfdf722d71dd85392d031ca0c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.470bd34e8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.470bd34e8.0_1631210413982_0.9986092230728882","host":"s3://npm-registry-packages"}},"13.0.0-canary.d48a01771.0":{"name":"@material/dom","version":"13.0.0-canary.d48a01771.0","license":"MIT","_id":"@material/dom@13.0.0-canary.d48a01771.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3849197fabe29305b5b14d91791fb0a1930a4802","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.d48a01771.0.tgz","fileCount":28,"integrity":"sha512-c9oYVMa/vusTlbL0oEmfmwHq8miUWAw7/78m4YjWDp/32/UQW6fPCb8q1dA4f4S47iNumGEXo5NG/KEE4J91mQ==","signatures":[{"sig":"MEUCIQCOfLvFPeNHgaqfRQRo9OqjuHd80giKMxdUpv3WRoh6fAIgPpPEKf2k/XrR2Tq1Gywi9F5e516l6mhheTk2+HUMq2I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOk3bCRA9TVsSAnZWagAAdJUP/ip6S2aYAAAbTZvQvrSb\nZUl73nvP66d2ffBiXbBPi/9SW4A0UMDzn5dB73F4dA3WjNV9phUuhb1XDJ/H\nGSHtkAXV+gRu/uPJegJ0Rd1vrvCOMmHZ+WRq4jJcOcxxlC7XOBhCSl5wyAzd\nHbN1nXB5EWbhRTdyh5Ye4En2SKoNzpiONh83ZJT3+d3pIs7sNo0UpVKjPG62\nv4yy4daCkxJznUYQ5Yu2eBCMZg8KDMiigV6dEaC8SrHHhGocBM6+SzitRLdj\nXDtnetsAcK4xRg8JprF7SEVYeuut9qrps6DXIBtzkIqDAKny/mNg1FH4REEk\nwKz2YYynLSFHbMaKVptA6qfh+eaC/FrQm+A0hyeckfwpb8tJvCR6jFSUer+m\nwSFjzjqf9Lsx/mdhYEgpcKPGdqWXp8YQ5ZbeoKdoWWJwN2oEMi8COn52tRYz\nT+wrpYqfErSkXw9mk2DQScb9KP85YnIa32GrKzUuQIE6ZXR2Gqw7jelEzX+r\nDtOmoX8U21BeM2ucB7uhkMvyYrUsafpzrX8mhXcrW3bniP0oyN5TYm6KEPl8\n91NA2eh37kumG3/oYhx1u/+5EzBlyFwwgznV29piiXrC6F97xMu+slFdHyXK\nWo2Q6oru8OPo9A+ov/rN6qib1Dyp8J+ouHMlU3nR1BgGjgjOHHjatyWeWIWY\nUVhd\r\n=6yYx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6796441e86b583e99919b207640bd02efef6fdeb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.d48a01771.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.d48a01771.0_1631210971746_0.6640518246471514","host":"s3://npm-registry-packages"}},"13.0.0-canary.13db34b34.0":{"name":"@material/dom","version":"13.0.0-canary.13db34b34.0","license":"MIT","_id":"@material/dom@13.0.0-canary.13db34b34.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b539e174ce4bb707334afd66482d0ef674391ab6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.13db34b34.0.tgz","fileCount":28,"integrity":"sha512-jWxpi6VTyQWMO3wHqCWYMP932zuIXh9g6xOYeOV30qgeM5eb+MtZplyYWOuJggJ7j+3+QhnRL5WtxhzqaYnTIw==","signatures":[{"sig":"MEUCIQDmcAPSJH4jhE9B9PwfeuCNciennoJ7RYpyPSBnLA6ZWQIgUP1RdRqTI7DnwVKJMAwaHv7/AXPLmc0rTXtiYvxblo8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOlFgCRA9TVsSAnZWagAAsGAP/j0gCn/sZ7p5PvD2XuNj\ncCTkkr9/wixSzlx/1XLU+Z47ERX6VCcJILoCRRyYvmHPXQpkQeGPY0+L3VoX\n1QeSdjcK183z1LOr9eFnwSoAEmTEYLcZRU8gGSXSPn9eZSUH/xCSpaesu5bO\ncjJmke+43wPya4IfJODkXE5aiEOYmZBn6BUt5kTOx7WxG+dBPpWj0uubMrzh\n9C/HrYCfaWxkQJxGBMRAcYzyYzhAX/cf5Y6hACpu2XtQKOt+NwhpcbhDvrFN\ngPI6SSCJLLYvEGXuIdi0cvWPA9+NTOsrd07epa2dcrZ1WgJcOyfU8uWFJVFR\nY49rmTOEed7PhRtzHOPdc1H2VyvUgXvbwjtSNIFof5cb8+B4GtEtGs6nuONj\n737oZF2Fg5aX/ns1AXBv+nJ6erMXcHFZHu2kB6u5jciYOPPKMik62kubxd0p\nDxrxniascls7LESgWgfD3NxE7b/AoIlRsaE2UY/2jPAEcG5hMJldDE96vOu1\n4B/plqNPKXFlQv76I6x9sxPh6jmypgkXYeX0+L3kNDuYuTfFfcxAGSXhPety\nvxUNIgU4KVhnCWZoOBIx8X0TkwXIVAXrs6nCdSW9bA3MaoQSX8r3/ipo86UQ\nNFUposFFDZmX2q0mRHGmojzwi1+KEH2h+o7hoyBSaohjc+aMf+3AvgRoaBWP\nJIun\r\n=oFJR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7883b32c9c6a3280e801925b874df667e1055809","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.13db34b34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.13db34b34.0_1631211872792_0.7087316734730613","host":"s3://npm-registry-packages"}},"13.0.0-canary.864798678.0":{"name":"@material/dom","version":"13.0.0-canary.864798678.0","license":"MIT","_id":"@material/dom@13.0.0-canary.864798678.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4dab73bb07881ce216aaf5a3f00a4f4b650b1f50","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.864798678.0.tgz","fileCount":28,"integrity":"sha512-d2IX/WOtIiNPcW6zX4Wx6jHjxbjxt5k/d4Vv1vxTA0sShbPn/cYio8ZSClxAbbyd0PLBFbytjJ2JzdXJWcy2pg==","signatures":[{"sig":"MEQCID17c5kSPi87DRyLUvYjYF+NdlgOSjn31juw1DZYvmv9AiBSL5RRsUEbas387wrpHwlsNfG5Y5F9ohoOuKl+pwO6sw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOlQPCRA9TVsSAnZWagAA2/sQAI9iqEwBwm9U9e4i2T8S\n31ASkiiEkqhZ81uX7IIWIr6+3tOl/Zq2W/oYUU/QEoTZGZb8652UOO4rUJFA\n8MC1weEkR3fHvTQhIH/CAcuCDSzDZO0bwL/bmMxLone6nW9v0FCe74rThDhu\niN0EGKQunhrRWNdT6R3yo7G3yno8Xo4Uwkl8EYR36SlqDdqiSuyi74ofdAEf\nqc4Q4qIv3BFPtZPoNwZ7EleCcVImx7kbk2jaFs5fN9w6qLHxJqTPYnVYJufj\nTVu9Z8nZIN/8e1F7dtY7JBC0/dVzPBOYrmTbvheQlPDmg0QNVzHdoe+qqRGj\ns5s4ECUgUAzqG4py2xHu4CDE2bCh47ZoiotC6/u/S91uI57z7PIQuoVqFBML\ntzpQFfALvkmoGNvyMOhad4T9Sm674hQIGoRYjqCQxVXdJU2iR7AxPIjRZUkJ\nJ3BgX5BAPgmDfrOXNvun680fANo6GFah71rvYQcfLQbnMCY6+mVliPcXiW9C\n9xHPZhqV2ByQSonrBPbqVmiUVOry1SU5imUpMi7sU7Xv/h5DDDBYRDretl3g\nrwrQSfZ/CA0inoRHGvwyWztf+ymKTCs/S42HgvhSUCUdiS4TXe15HjhgHTgs\nmwsFYqrS+euKwj8/dy490wkczLhBYgcGWZGt3hJW89LmaAVX15thL2ZDdzvP\ntZEj\r\n=LU14\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"08d2ae683a56b5e86f7a54eaf5a2090fd4288df1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.864798678.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.864798678.0_1631212559188_0.1609010325733835","host":"s3://npm-registry-packages"}},"13.0.0-canary.d04bda3fb.0":{"name":"@material/dom","version":"13.0.0-canary.d04bda3fb.0","license":"MIT","_id":"@material/dom@13.0.0-canary.d04bda3fb.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"874740e40f73c0cf79028fd3426acd0ac76308c9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.d04bda3fb.0.tgz","fileCount":28,"integrity":"sha512-vw1uKqK9XpKatAEMYlhBPuT9LV1EjG0Am6Nujss3WzVCds6jz4oCxoRxWpGsFBf0+GYisCYWL06UFJur8tQ/tA==","signatures":[{"sig":"MEYCIQCNOTu1Lk62C2qBf0rtwpIxw/GuVdZfkR5kti6Ak8e8AAIhANzTpfItg5euUG6Lf/8Nny7NKWhp4s9HDRkjAQvktDqj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhO3fJCRA9TVsSAnZWagAAtc0P/1TKFLcFWxDkgACecu+Q\nyH3n2ULwUy/zl0uv7RJLG3GdA7AgFxFEXGRt71q4G9RGSHeTF7sOqmAlu3TL\nnZdgOXX2iHLeQQiYAI1JoKNdGOoOO6Yejsr1f2czniF7759ydvygK9sMa4Vn\nuPC+aU4ZE8aWt9cb8sUfcDTGi9zzjoEwGEaXT9H333bBATc1pMcSPrvXJLQP\nyIZOhRsgrZOCsrwWFZi9umsbMKpkQIroRQekMUPEos0tjoKyzO6Dt/aABDz+\nebYQPdo9lMRhcQbUG291wARHMaXZ2JoH5mpZ3D9WxpFufMeJhhkiz++O3NYd\nBia/rM0UMym4FsKknz2QjdSvt8JIGVsyVF5Zz9Sdb4hWVwJSFGRj6DaNX1Bv\niaDAcMQCgkSXTKwxd/KAdeltZZgv3ZpDkFbg+8dCHDSc66e0LMef13zOwb5p\nnzi4F8lBOIDslx3P9UQiV+ReqYB+xd0Jt8uRA/IoWHmeRPM0sJ+qrIrBS6NB\nWmjPmyYDaTftH1lTqRHraqb6x7dhYsgcafJESuomYc7n0fmvF55mo58v2qyQ\nheGEN751OZlMMgT6Uh704d6Hxy+Tl5T4VdSMMIGuMCTF93mc1MaBnCrJhBk9\nF6MniUtsK8ayufkhixy6eOYXGTVdyXLNG6oAZnKOo3JdYwyLhpLwtB3W2KY3\nKH+D\r\n=iTrb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7dcba6a47b77f0011a1f0e22b3540e2a70b285cd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.d04bda3fb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.d04bda3fb.0_1631287241154_0.010593396875958838","host":"s3://npm-registry-packages"}},"13.0.0-canary.5533f73d3.0":{"name":"@material/dom","version":"13.0.0-canary.5533f73d3.0","license":"MIT","_id":"@material/dom@13.0.0-canary.5533f73d3.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4c036db7de6f65350d97a59056297e5fc709919a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.5533f73d3.0.tgz","fileCount":28,"integrity":"sha512-zeO1KJW1fa56esn965zZyiUcrIDHO09kOKj3DKrA+rHSpusICfVaHEkm4jvXV3I+LoKyjz0QeLemlC3jnxcLzA==","signatures":[{"sig":"MEQCICnKVJUd/0B9p9BkatEFFuVCv8B5i8hMGI+oWe/+bmyCAiALdQGpuBTntX6rDgTLyjiGPMrAptxWl9dulgQWPPQjLQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhP9icCRA9TVsSAnZWagAA8GoQAIUte1XFAeMz5YNcfGg7\nWD2PMEvwIB1HTPt1BmPTi196p1t5OYty0R+MT/K1LRtiuFIzVnKmoYNe2Qjj\nQvIP6R2ZKM0ymEXdXnITJYTZcixQwK3qi+ueF0dhf4maxNpAdF1dLNSfpJwC\nKFNYLoCR4COhdga9OnknabcsA75QtiVRoKO06M7CLHUkLHOnE0i27OA+R7OY\nnYKsB4ef9LeFc5DR9lkYt0klTRr8A3vhuVXUlPfbCSikFJ3Kt5Z8wJVJ0G4Y\n+/F8E3KaBq9itrA2uPFiA8e8DzDLDaRrpuDXX6lBy5KqoJjPXVK5UN0fLdmB\n64sG717FQA75eoqRkO8N45tMbaWWYRqOslO8SzPrHwTN5PgG9c5aH2iVxo3G\nVPZi3H1xT1K2PalA5TeGh5fk+hL2Z7chPgiwgMryoJbfxZGDszxy1kRkIyCf\non+gZNxycccKQwemzKCx9ctNii9EDxGP3taeYtxsvx5skmF8P2Y9T1Hzjk11\nStGCtiki3GirbMYtyD1+P/KQaIvvTeZzlmk0L2bXwuAG1xtAWaDjGV1g3Xw6\nz8OAcnFUZuqM/6rBePqpmK4W0YTQdpUzU7W9rAYGkksbNcJmKf8g7dYT2qUh\nPY5FvrZEkPjvA5ridFzM/XL+ukPeP36wQph3xhheYL0/pScl4zWvxtrRnEvu\nO50S\r\n=86aR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"20bf1d151f241eb77dfa3233eb61f4e35d5b2838","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.5533f73d3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.5533f73d3.0_1631574171980_0.9042274290339172","host":"s3://npm-registry-packages"}},"13.0.0-canary.08398f880.0":{"name":"@material/dom","version":"13.0.0-canary.08398f880.0","license":"MIT","_id":"@material/dom@13.0.0-canary.08398f880.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"273f5df8bc04228a2cd4fa8e45d7b9b5b6c7956e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.08398f880.0.tgz","fileCount":28,"integrity":"sha512-O0ikRMDXAykcPlaYWxcZ2S3C+hrsiZmBVsuQso7g2Ny3ahZ6VijxPFwF8pWJx19l6+1fJUoYQBJVom17JSsx3g==","signatures":[{"sig":"MEUCIHu+F0tAH75WIFk+YszV+WHnWGv2xgsA0J50B9HQrTDPAiEA4PHzjAkhFcOO+hMd+mCabKiDXVtnjU/R3IJx0GG19Qo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhP9/NCRA9TVsSAnZWagAAATkP/3i1SMZNrQ1rNiWQ5K+k\n/uKyvVXNmWzr6eM+1N+pHjEOcDeh7DEn7uN/Yqu9nN/v8Kz3H0ptMf6FpG13\nBkNXNGF5Q6cJ706UGaLNBdyOKJB5WhJEEePuIyM3AmbvvHv0HR1467NJHdWN\n+sBLisQ9St6Uj8zOtY5CobKQAaw2sgsN48o6CRuVGwhYflhVfReHLxeb0k7e\nF2c7u6GzJt7+IS3Vsx2F3Zdo047gljWDY1DtT0pW8YxqgFKojTrscS2BX6j/\ndXYecNE0RPAsh1+mpayBXKdf0GcPq913m56rrGCmDRum8kYm19C6WtV/DuO1\n+8VwQrZcjUbGjNLfCHOlVmJE9a92uxjgPxijDJKQxGfXT3rv57h22xWtc992\n59zIJfXt/sI1lQBmFDROqwQLXAFi6AUPV0Vx3WgIAXYJBId1U7sb4vMU4Cxj\nQMaKmtBTE63SVGLz83FiERXEbgJIPS7YTzeWEQeJgRO22ejhUZZpJrWTi8th\nvBIEOamKPb5PbPvmie4bT/x5hQggDZjNVGV6boBbJFB+xpsMgniC/MyFyryt\nvkJe53NMDLA1+kIWc2hC9Obt/JSP/7X19St6VLxNzQzlgjC8+nyJyCZpB+Fs\nw9+EqUCPzSmUp3eK11kQ1A9cG2XzbZVvrt15LnPLYbEaZcVhOlApgZRQ79mj\nIJLI\r\n=E+3K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1a993a7d6bd4a018cc4ae230bf1cc3fecfc16d1b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.08398f880.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.08398f880.0_1631576013563_0.44104514699365005","host":"s3://npm-registry-packages"}},"13.0.0-canary.818f4ee93.0":{"name":"@material/dom","version":"13.0.0-canary.818f4ee93.0","license":"MIT","_id":"@material/dom@13.0.0-canary.818f4ee93.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"14ba52abaeb739c1eaae7025889bf12954e41adc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.818f4ee93.0.tgz","fileCount":28,"integrity":"sha512-fJgagkvrFoOW9qBRA5SIuwvStgDerN/g2tTm//U6U2LVqdk+Wn+2wQDHykSNrBowGtsOku+kyCF1V91/izgTDA==","signatures":[{"sig":"MEUCIQCQBBrMI745P3WBWq5mgsRT9NxxJoy0VGg/S9EogoMqQQIgX7UFX+KAnU8hFopkR9+aUgcZ4dP2gNpFs4crX/Ae6x4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQjIsCRA9TVsSAnZWagAAiMIP/07PuyvYn6j+bkPKm561\n+hs5lI1HUJZwhUtklJzU80V76Q9MgTTlhlHwNOH1LvRWM5k+NCR64QSkc6iY\n+3ESRJ4g+MfSPORxA7rdL8qqJ8AcT+EFrktI5h8y4UADXUrPSq9YkuObVK6d\nvIga+z263b3NKOJkgHpC6QLCEjbtESZoXWZN5w9eEpyc7i4v7JOjdtzo29Jq\nUX/9j0bRym7A9oEc45c4/0Vjits8KlfvIFYJY+gAbuH1eb8AmG/viRM8UzHP\nenoRer8UpTOjRRXEjL4wkqxCkrZ3/ODaYRqtiDHtOcSJq3JHjgUP2rd/nkwx\nhFKiWVMVODJFbrZWOoNVblooG1gZ/BC1IkPmMdGI8ZdjfMo6GwnNZA2be8Wb\n4cixsFxTdiZONNLnjkXKYvjjhm/7pq31/tbtC/0hfbHzfm/1uGpLes+J3trt\n79NWpsKVHWAvbsE7S1r+9gGgbGZjEe/++b38o+xRIPu8YBt6uRtTDBNbvxyt\nMO9Kvgo+0daFBAYV/4Lb5I1ziRWfqoiKf6jrLBkalWbhZGPU4ob/Lw2KpY86\nAFsEDZfmOQzqkeQEG9/o577yj2PohK2StAGQF0nbN2cfLc2OvFkHUejBcJTH\n1CIh99Hgar1mMWkCxa271HPSeqBNZ/EA/mITKpBHjnZl4XjRitIp7l8geEYp\nr8su\r\n=LoCz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1d88a726d331a878c9a8721e3237e8cf6df49f1a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.818f4ee93.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.818f4ee93.0_1631728172139_0.4419496305650239","host":"s3://npm-registry-packages"}},"13.0.0-canary.8355e14dc.0":{"name":"@material/dom","version":"13.0.0-canary.8355e14dc.0","license":"MIT","_id":"@material/dom@13.0.0-canary.8355e14dc.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"27e41042a5908d6d80c74c83ff444401b68cd3d6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.8355e14dc.0.tgz","fileCount":28,"integrity":"sha512-nz0/hYW3WuZT/RBmmrL82hJu07iFM3ZSzs38y2F1PpGCqAAGBkay/RVeBOsLBgsRPymQlr8LcAKVgCRLYhnLUg==","signatures":[{"sig":"MEQCIAO9tWNF1FAT+Iv52WLhkp41vJ9+JMAq6NIu7OsrrUaLAiAu92LQ2kFEFAvXtV9ijwqY0mRLj60SND5ZHt3hmGLObQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQkVfCRA9TVsSAnZWagAAVQMP/2b1esHx0Nx8SWls7z7D\n9QglrcA5oGlIa1WML0srOfdIXZumT9UdXaGRvpmZOiRxr8a9Js5kLuL5QBpy\nBX7bYTfemUeaGNl8JOKwtyABFkQEB3TAgUVTn7kAMVfBiDJUdsJvmfHfkmjt\nlS7VLe0IyufhpXK3kftesfPObH7JUBuV4vJNQAJCdbaLNQ3DfQ6cA1iiXxRR\nG023/gr3Jrbd9jbn/WjtXbDVOI28IWVW6+NgYP6a8H1JPAHnYi95GtYq7GQi\nDyEaXWQ+H/SrGODUyrjkIeXDjldlzmCiZDCM+xz8pI/IL2pKCyOF9AX5SqcX\nk+hhzAy+RMxh/qTAG3iXTVFyUogbQs1rIaH8y1zsyo+aXskrDE6rdKm51Z4w\niLTXjC90IGQ8a6IXCzoHz7Jv1lcz47iaWPt4bf7OG+bC4Wa65LAC+pkj3Tvr\nGbG/Kzj00auMnVa2JitDnHyYGsdeQtFO6CpLif3FTBbP8F3XpMC7v6VsvzX+\nhXVj092ULMtsV6/tH3SeBCN2qOD5DOJ29DpmyZFTXqTGc9KmAoVXlVumgaul\ni0nM75F292XDiiAjG8JvVcDO4EBNvBNIkqOTelKFKAXRYJpfKwu7B21HNi4Y\nucV9Kg/ou8UbtZyBUeotwVPSDGJZr5vPQfMb7KGBLoBJmLDlOLDD5gDTpxS/\nRnbn\r\n=+1zR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"065f64e5cbd54d86f092d8d1406bbd0852b2a6a7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.8355e14dc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.8355e14dc.0_1631733087096_0.8215141626994518","host":"s3://npm-registry-packages"}},"13.0.0-canary.d4e16a6c4.0":{"name":"@material/dom","version":"13.0.0-canary.d4e16a6c4.0","license":"MIT","_id":"@material/dom@13.0.0-canary.d4e16a6c4.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ef3e78cbd7085f0fc519c2be5e56b0d8c4990db7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.d4e16a6c4.0.tgz","fileCount":28,"integrity":"sha512-qk9w03HFjjBV2Np6wPX4WQ8qLxWNlFwDdc2CS1vpNaZgn5lyUqlYo0UzQFP+61zkr2HF+aX+H0iejukWN39u3A==","signatures":[{"sig":"MEUCIDUP/+0MeowctoN82tgkLT3q85h73I3vR28wQA30a5q4AiEA5Z34tE1wNGudfWam6u2xEesdIitJB400PlW3tScnSNM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQmx2CRA9TVsSAnZWagAAqdIP/0Pn7GzirMoNWz0n9EOa\nvizNQNqcMRw+gNPFdgKu/v8UMN5DUzHMhGV1jpd+G02wi+FYXNh5/R6117se\nNmDbpWopxgflY6vb+PoNPiNAM058wZpWtLq6anLScK4FS+I+kMrWLidWnIx5\n1oIVvYVihpmha4Y2dFIBrAWGUfWtosFSWPiYvY+eKn7OLGZuKL7ocowcrAFI\n8hLXlFTyWK+tL3MW+wUVqqDYJW1PJ1LVGJe/Z6DVnDjYhCLgGQBEYSRyeyqH\n1ktW9YN84q3TcRByc+AcuBHS5MnonF/eFvbuouIWuqTyEigvoXed3/0H7vwL\neD4W5EWFP6d/oRxcydFlxyW40FTCKQnskSSzBPLyOACCIzmqnQqnfxtFs4cK\n6EYXeUfumiA+OAVlPhL80NkS8RVfUWOG/YOejbjMuz37VgZ6pBarZR3uwdCm\nk3E/P0pwO46w0zwFC6+6EDeGCKj1fup9No1tV/7RnsUyzM2UdVBBR+nDErFc\n2GcYBXuW/fGnhBkUXHzPFIVEjubZAIiW20BCiF7vFuoK9WdPJl/ZBXD4ABd9\nE69R9esqpzGLOSRLlhMBmu+DF4OJY5arpckqyqFFytQGPyi6ddBpOaqFNZxN\neZT6tj8sDelqcX7d2wOMt2AjrOyQ8aQ9ZOORVZ/HttiXHqjY4j4MEfvc+P1A\nZyKQ\r\n=PvRb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2c2d0c3f7c18e3a2b581679df71df5e7a0e2fcb3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.d4e16a6c4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.d4e16a6c4.0_1631743094795_0.8608918747149505","host":"s3://npm-registry-packages"}},"13.0.0-canary.65125b3a6.0":{"name":"@material/dom","version":"13.0.0-canary.65125b3a6.0","license":"MIT","_id":"@material/dom@13.0.0-canary.65125b3a6.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"846e6bf0c7a23fe265afc70680fec7f169de7e89","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.65125b3a6.0.tgz","fileCount":28,"integrity":"sha512-oqyruf8uAUIru2IIRIDpjzvjc29SzN+frYLhR1+CP0oDtG/yhuwPHqM8j4lLtPhwJPPZ127EHpb4lRqcM87nQw==","signatures":[{"sig":"MEUCIQDtEbFlv+qiR5MkSPQeyXbBsd7oFE99/u+F++0QFf++CwIgcrRmpMnOtA98uDYScnCRqwIikBc34VU7H/ERO437BMc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQ7QwCRA9TVsSAnZWagAAqLUP/joONFZfC3I5apS+FxC2\nLag+A3w+Zec3Nd8A0I5Xq7zAe+vGEEXwkqxPjlaEkWxBO5DsEhG9oFKOshTl\nw59x7Q5Yv+M3ht08X8RG8xN56EpzEint6gUaV48vyteCZvFXNmkJQiQmiP35\nSIc0rS5n7FzHOYh7YhTlOHrW+E5I0MGIa3QZY4wRLBq2rpgR0ZZnXDW+Z9ak\nKAwII/5uQPjAnU4DHk37UmDmxKlZcbEfyQsCErqSXJOH2Orkbw5A5uGDm4GE\nBx6BySeb2sXh45PWu+facWDrvYLFK98mU0mvOry6D3TCyp6sU5bFX8/VF0+7\niiJuS4EGmXhaC5VyUN0fCUrJ5YSdGcxoGnb8HD+LpnsiquLCG1AHzrmpHlWn\nL6pF+kBGLVM3I6+bYETOMOImuiNThVIgDIUPXcDCJ1EO97yFTo9yJ6XcCovE\n52Ha1Txnl8YXpHXtfi+PLb1u3Io7KTX+aO2fXTvlKjDbo2H8NqNWIXU/kvbR\nqvKz0DO3lYzw5u1C7BXAiVUqOhtouFw2lKiB41Ppqb9MsSkHg/SQLGafgPy9\nFbLAUTpVuP+kxqG8gQdqfyMhe7tkuPX+vRJY3egyorX6+xaXfjxEXOMTpJSh\nx+FDy/q6DzlP2GQrV4kQcRxljdAHVIQNa8XNuLTa/SViAwOe2nYgQ91OFEAw\nIDvF\r\n=fVPR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7f141fcd82e6061ac62fb457dad40c0ad70e52d5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v10.24.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"10.24.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.65125b3a6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.65125b3a6.0_1631826992734_0.6670823612204508","host":"s3://npm-registry-packages"}},"13.0.0-canary.80a583365.0":{"name":"@material/dom","version":"13.0.0-canary.80a583365.0","license":"MIT","_id":"@material/dom@13.0.0-canary.80a583365.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8c9cdedc318a8f1d745592fc08490e618c18ad1e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.80a583365.0.tgz","fileCount":28,"integrity":"sha512-YzljswoxtbkzMdPEFwpynlKy5Ln9ffu1IWOzLfJpP3D/L3qmBW9/BXJpO8DjvrO6rCodmqtvYp9Pjyd6tosfwg==","signatures":[{"sig":"MEUCIQDNFY6NG88Xh42sY8/xpO+/XMsVz70qIgzNyaENKL0feQIgdwsBDhd+8ARcXsQ10EZyC+qEMF8b6R6xp1hj3ZnQG7U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c174baf193216601da7fe07831dd2152585c6beb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.80a583365.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.80a583365.0_1631910903787_0.6467219700197258","host":"s3://npm-registry-packages"}},"13.0.0-canary.83900936a.0":{"name":"@material/dom","version":"13.0.0-canary.83900936a.0","license":"MIT","_id":"@material/dom@13.0.0-canary.83900936a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"30b3672ba81e615b16cd0eeaa3c3b52780614487","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.83900936a.0.tgz","fileCount":28,"integrity":"sha512-qFL//AVJbkXwIL4u87S2V3/Myk/HmbG+Dx59a9928Z82p4FbTS59XWT0/ApqI4sE4vKhVpZSHUfeeWZuswPJ8Q==","signatures":[{"sig":"MEQCICrw8tscjij8oepHKwZZih4XAFQiF+MqOVTusf38U084AiBP5Ia38BSqB/XXdKpcA0Fb0uH1lP+8ALvFsfk5dftN0w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ca6026fb6b378ac9a4f14997612369fe29f31093","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.83900936a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.83900936a.0_1631921016577_0.708973799238545","host":"s3://npm-registry-packages"}},"13.0.0-canary.860ad06a1.0":{"name":"@material/dom","version":"13.0.0-canary.860ad06a1.0","license":"MIT","_id":"@material/dom@13.0.0-canary.860ad06a1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"104c3e97a604c5d263e091e91d0a418bd02c147d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.860ad06a1.0.tgz","fileCount":28,"integrity":"sha512-yChIbmnYuRtLW5g7D1HHlwz/7o1+z1D7hyk84IJOasYCfFGB+dHg+QxRYsLl3E/rn03ZqxeS5uAcpdczRz8cbg==","signatures":[{"sig":"MEYCIQDvi+9GP4t58BOi3INzmC6hKBx0ch/+EOVgDh3lRAyQAAIhAK8Ip+OJsnl0XLgbAexZy9lohv/Tqr87QbR6IYeqcT88","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8f156ac018a526d53d5f5077762518483bfa7dc7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.860ad06a1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.860ad06a1.0_1631921715754_0.9486924662897069","host":"s3://npm-registry-packages"}},"13.0.0-canary.3b8d4429e.0":{"name":"@material/dom","version":"13.0.0-canary.3b8d4429e.0","license":"MIT","_id":"@material/dom@13.0.0-canary.3b8d4429e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"04bcbc5359909f2b8b2b35861d7fc7dad7147d45","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.3b8d4429e.0.tgz","fileCount":28,"integrity":"sha512-KeoGfotket2eVYIZYfjhV+/wKlNa+MJnaEbMQMYIBRNBzAIR9Pl7ij/hdhrmifI8AupS2oZ/L5+Ej/aILZv8Aw==","signatures":[{"sig":"MEQCIED1byRbMUiVlvxWj+XRX8v6nEpSY2rkXCZ0htCrQOy5AiAaDxYt7QAMpd+upTp2hGsjfmirDRI0AOmQsd51N5A+Fg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c548d2fdb2731631683bc92955d6701cd0c2bd14","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.3b8d4429e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.3b8d4429e.0_1632160007635_0.7038075325742417","host":"s3://npm-registry-packages"}},"13.0.0-canary.2da3606b9.0":{"name":"@material/dom","version":"13.0.0-canary.2da3606b9.0","license":"MIT","_id":"@material/dom@13.0.0-canary.2da3606b9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9def468afa28269ea8a56777a457ab12f28352d5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.2da3606b9.0.tgz","fileCount":28,"integrity":"sha512-T/bTdBc8shWkCtO+V5kVlmTQpxQANbpmus3REiOlcJ+RAa0t8MdjmhLofgssb97jvjEd9ghY80PsoHWyy9y0hw==","signatures":[{"sig":"MEUCIFAkMTEWdNy3XRpdvPbFFpT1vI/u4HuacMxl8N8CjG45AiEAhfGhRLWp7pyfw+cc+VGhn4WdvD2yJzadLDbMR6JTxng=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c452408cf52d900869313ad573c1b84c9d6a3105","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.2da3606b9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.2da3606b9.0_1632166620457_0.6642759714054494","host":"s3://npm-registry-packages"}},"13.0.0-canary.e8c598d1e.0":{"name":"@material/dom","version":"13.0.0-canary.e8c598d1e.0","license":"MIT","_id":"@material/dom@13.0.0-canary.e8c598d1e.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"af98696d8832798e300bcb083506fe7a3eb3ebf6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.e8c598d1e.0.tgz","fileCount":28,"integrity":"sha512-txLkDy8w4VI+6d8EcxUEvCusJ7nrXfdSbjGcLAQY8KeqoIUff5hF5uZjZ/lTe3BIno9F4/I2X3aww6JekbdZrQ==","signatures":[{"sig":"MEUCIQC4ofERyfgoxMVapS2kZgIFzKQLOFtphbFi+bzWCPRwVQIgYrIMB5VQsqjYw35fxLcw9bnHMwU6fodYq3vi4cpTXXI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"11ab5557b275cc7f950ff2123684083e6245eafe","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.e8c598d1e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.e8c598d1e.0_1632172269863_0.2900190652015395","host":"s3://npm-registry-packages"}},"13.0.0-canary.1340ee9f7.0":{"name":"@material/dom","version":"13.0.0-canary.1340ee9f7.0","license":"MIT","_id":"@material/dom@13.0.0-canary.1340ee9f7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fb41f4556e642b7cd519b73177d3a1bfa8c3edd1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.1340ee9f7.0.tgz","fileCount":28,"integrity":"sha512-SOxlcK8awRTeC9v8CqMirHuNItbZQJf+0B6FJRU7jWompv5FVF9dQsh68yuqKD0h4t73iCNWwm6HSWUCLhi6Kw==","signatures":[{"sig":"MEYCIQDR3g+c1y7T3jMz7kfBx2xMdVhyvgs8k/oLJGRly2OEcgIhAPvHEsr66dCJvMEbAMhGac+MvUDqp0wprVJFqHkM9dkM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c9cbdc93fd9954f12cb74ebaf2cfa5806d078879","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.1340ee9f7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.1340ee9f7.0_1632333430309_0.84063832481895","host":"s3://npm-registry-packages"}},"13.0.0-canary.65084baff.0":{"name":"@material/dom","version":"13.0.0-canary.65084baff.0","license":"MIT","_id":"@material/dom@13.0.0-canary.65084baff.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d66b760f9d1051914ce1be65d68ececcdddf054a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.65084baff.0.tgz","fileCount":28,"integrity":"sha512-TyNDBa/bkoFpUKtUqV41Q48b9eWdHCE2J7y7PKce97vvEKcmAUnHBW6WzenLfQQaxxsCRP2qCZuBmYpotAZgaw==","signatures":[{"sig":"MEUCIQCFI7FPha0BNr9d26au+gPef1fVW9VkD2cK2lAWfuWPPQIgQBLuC8OWaF35f6/t7eSxDiaC51y5VMTZu12VQqPqqOk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"afe4cce0d8c7e5038058ea8198ffd72e99e1c941","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.65084baff.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.65084baff.0_1632432281013_0.7346048219010939","host":"s3://npm-registry-packages"}},"13.0.0-canary.c79aa0cdd.0":{"name":"@material/dom","version":"13.0.0-canary.c79aa0cdd.0","license":"MIT","_id":"@material/dom@13.0.0-canary.c79aa0cdd.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ef6dc16ccaa3bc2dfa1fdb1f46281a4365ae7446","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0-canary.c79aa0cdd.0.tgz","fileCount":28,"integrity":"sha512-Anjr3eiJ5RWiar6vb3DmKInpar2b6eJCSMXOzWzL5v7WV7GDZllJ36Q5EmNBFntVgdIo0qzPTPL3WehjYqnCYQ==","signatures":[{"sig":"MEYCIQCwrN+9rnBS+C2ZbB4Sp8hIpURkviB8Fi/7IEbRf0TpDwIhALV8I5jIiKTOX2JXxtKMqzm8RGK5DaJ/pAlQSi5EThnp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2caa02d38f883966fd5f78948743dabdced9b689","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"13.0.0-canary.c79aa0cdd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0-canary.c79aa0cdd.0_1632490855988_0.4711688113519621","host":"s3://npm-registry-packages"}},"13.0.0":{"name":"@material/dom","version":"13.0.0","license":"MIT","_id":"@material/dom@13.0.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3f3cc935f6e59fa99e3dafe118d3e48091118c0e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-13.0.0.tgz","fileCount":27,"integrity":"sha512-M9HLAYBZtkTUvf66FL+jAEvUOdhji1HkGA1mV6oyE+HY9gkCkmso+mngvzlLd5+uaAVE9I3WQFhSb9gp0cpXnw==","signatures":[{"sig":"MEYCIQC5Jfxo/rDcrxtj0bB4b20WBZ8p68WK9i2V0gTHdkzC0gIhANYl/T+Wsm50HLtZxpWllul1eBcAmvuuLJefSdnYzjKW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112487},"main":"dist/mdc.dom.js","module":"index.js","gitHead":"198431fcd8ff3028934d2cf3a5b292f8482a4570","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"^13.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_13.0.0_1632512709436_0.012897135605101528","host":"s3://npm-registry-packages"}},"14.0.0-canary.198431fcd.0":{"name":"@material/dom","version":"14.0.0-canary.198431fcd.0","license":"MIT","_id":"@material/dom@14.0.0-canary.198431fcd.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8089aef83cc334e5d2a4bed41d9d4150683bf6c6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.198431fcd.0.tgz","fileCount":28,"integrity":"sha512-9avZCn0kr5q2VjoEnS3Gu0aNi4ZMGQlurN8ZUSH1uryYqlMjcGIYqEUuOKxZkzKyoJTt7DRVZSTCHwWzqfNg1g==","signatures":[{"sig":"MEUCIQDvA1g0yLv1kQG6DUOc8JtK7Wuhkf7d9P7s2VpV9woIBAIgakZM8U8y3QjMuycL7xRIz0mMgZul1pytx/E5CGX6z08=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113055},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"34242e3354729334618dc12d6bc959e0a8f14dd4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.198431fcd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.198431fcd.0_1632512751935_0.08066821280811975","host":"s3://npm-registry-packages"}},"14.0.0-canary.9a02b6ef8.0":{"name":"@material/dom","version":"14.0.0-canary.9a02b6ef8.0","license":"MIT","_id":"@material/dom@14.0.0-canary.9a02b6ef8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f153044d0289699412b25121a345bc79caf1c961","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.9a02b6ef8.0.tgz","fileCount":28,"integrity":"sha512-zq8VpNnZmpgNhh4qsWRnEUeU1HjU81ALw9JM35wlaFIrywQY/3DlfXT5+n/sQ55u9M8EJcnNzTaNR9MFAiNBzg==","signatures":[{"sig":"MEYCIQD55wsECXJh+xgbf8+27k5d9mvea+VeGjQoFhmSEh37bgIhAJ3/opLNnov63i6Ljufqtlq5M9LO8Np0Bi7UahZts4Db","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"13e91b1150d6339b15d71c44c8743eb9e2026eaf","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.9a02b6ef8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.9a02b6ef8.0_1632575419796_0.6750036679025688","host":"s3://npm-registry-packages"}},"14.0.0-canary.758ce31d9.0":{"name":"@material/dom","version":"14.0.0-canary.758ce31d9.0","license":"MIT","_id":"@material/dom@14.0.0-canary.758ce31d9.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c9a4fe8ea1d872edcd43dc853277f65a211cd188","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.758ce31d9.0.tgz","fileCount":28,"integrity":"sha512-GWfh06f47dAqjIjlEoqC/QzohNqGhFAJkGL2DNMjrthB1tXfaQhGfrasgdZPKWWiQj4Py1VRQINwCwL6h8NfVA==","signatures":[{"sig":"MEUCICFQ3zsM8oLQggH0NZTL9kz/QZhBmvUsqN39QlYi3mS8AiEAt+b7WKfl2fepCi3RRGHIQElZxe2+z4qGkGe+kYNTQ/k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"09083795b738aece76a37f8a1dcc8daf958204b1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.758ce31d9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.758ce31d9.0_1632763713108_0.23309836834948605","host":"s3://npm-registry-packages"}},"14.0.0-canary.86b50ef74.0":{"name":"@material/dom","version":"14.0.0-canary.86b50ef74.0","license":"MIT","_id":"@material/dom@14.0.0-canary.86b50ef74.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f283a105e25ec9008323802be278936df4b3a6a0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.86b50ef74.0.tgz","fileCount":28,"integrity":"sha512-I1AaLkAEvO8w/Up0S8G5+6nqQwoy6mIMdbDQOzdGuVTlrXTgp7Dky2qkJ6o7uyW0Xzb6yjmESL2SvvSX9te2eA==","signatures":[{"sig":"MEUCIB0ddPjEyVmK79tz3oUzfg8mztyhKCngZvyEITZNYRHZAiEA8FFIXd0vwU09+U9ypn7JcY+PBiDebjv44ZRDftFIvXw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5941ece7c1e494e720865be940d098a5556de149","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.86b50ef74.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.86b50ef74.0_1632850934511_0.4393258917933036","host":"s3://npm-registry-packages"}},"14.0.0-canary.b2fe3528b.0":{"name":"@material/dom","version":"14.0.0-canary.b2fe3528b.0","license":"MIT","_id":"@material/dom@14.0.0-canary.b2fe3528b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c92f1df90dc7d5c0b0261a62a74c35fd91d8416b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.b2fe3528b.0.tgz","fileCount":28,"integrity":"sha512-04RBSGR66+Gmpi9JWnbCxCnAKAzOMQbea4tuiAH/zcBTAEvy8gLtvgFO1gZ86mOCcTOm+3ynzcmXlOCp6XrIOQ==","signatures":[{"sig":"MEUCIFbiCNwPF84JaEsbFc8z/P8xxiNtuWmk0fOsSjS3HeLSAiEA5JnTL/oHZrHZPbjAI7VZFp53KMqlKn8sxrXDS6ug45w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cce11b1c181ea84c0bfdbef26112377518afa98b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.17.6+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.17.6","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.b2fe3528b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.b2fe3528b.0_1632956167767_0.845087217500788","host":"s3://npm-registry-packages"}},"14.0.0-canary.586e740dd.0":{"name":"@material/dom","version":"14.0.0-canary.586e740dd.0","license":"MIT","_id":"@material/dom@14.0.0-canary.586e740dd.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"df5a716a61387299eae21187e19ece2f116dc136","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.586e740dd.0.tgz","fileCount":28,"integrity":"sha512-qFkZBu2dR5FFy21E4lX5XsxSb390rEl2W48HspkET4EBETPGGsmg+X6FMiOSKodjkJJf1jesknlXtWL1qnwm7w==","signatures":[{"sig":"MEUCIEw0jAHE51tTIBgLexEuXtLpwRJmPlUOFAcUkyhCoOw5AiEA8rc5FuOEwSkCrqeZ58OOdUX7xFIajW4m/DtdV0EVMIs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6c765889db11456de00c45d7bb289b6c7cf3ec27","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.586e740dd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.586e740dd.0_1633019430660_0.8022560323995349","host":"s3://npm-registry-packages"}},"14.0.0-canary.2ac92d766.0":{"name":"@material/dom","version":"14.0.0-canary.2ac92d766.0","license":"MIT","_id":"@material/dom@14.0.0-canary.2ac92d766.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a9228f8994884e2a8b174d64916bff3937239759","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.2ac92d766.0.tgz","fileCount":28,"integrity":"sha512-EBnmhZo1iM8ELA+PnDrUN3QE+MnCv3a1oBUKRFrWpbPPqxIwK7baYdqqjmcg5TZINn25BEp6Z5dHnWgGxcz2Pg==","signatures":[{"sig":"MEYCIQCH9rVS4YN5o7SlRSk0/cU4/8Cf6PujkyoS4FFySI6yLQIhAOcB9PAawKj+2I5x1kBbW+zuss9NO8VeNCfuwNSGQPI5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3a797e3a01110aeaf8270a13c2cc32d0871a8bd2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.2ac92d766.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.2ac92d766.0_1633462065220_0.30736936016170757","host":"s3://npm-registry-packages"}},"14.0.0-canary.353ca7e9f.0":{"name":"@material/dom","version":"14.0.0-canary.353ca7e9f.0","license":"MIT","_id":"@material/dom@14.0.0-canary.353ca7e9f.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9af140637f59e3cc62abb42867e60375b6812f72","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.353ca7e9f.0.tgz","fileCount":28,"integrity":"sha512-nKETPNDJ3rR8T6KoLzTLiyuBctYBk5YuVSWlfrdA6GQnJR50GplUcaD0BYycpYfoYlIDh0lsfSjuTt2hpoBu8w==","signatures":[{"sig":"MEQCIBpQkG/aZPfGU9+3sIC2qT/Tz7Z6FxDQ1sEd5KmTde9RAiAZ6cs8m67aGdcdYpIg7W/fqnGiIlbQ/5rRtBTxoxkF0Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4f091efbfcb52d523712f9b99808d737b06a60af","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.353ca7e9f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.353ca7e9f.0_1633718772194_0.2691908265892453","host":"s3://npm-registry-packages"}},"14.0.0-canary.c78ff0429.0":{"name":"@material/dom","version":"14.0.0-canary.c78ff0429.0","license":"MIT","_id":"@material/dom@14.0.0-canary.c78ff0429.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"28ab7a21d6be3b9870a5f4a9291c0fd60187b19e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.c78ff0429.0.tgz","fileCount":28,"integrity":"sha512-YbtomD+HjzrjCRfsAnPcopzMazJl8m9ulywl4b7bAlB6MKNjRAmNkWzRzkQ+2X4uKLmh/mKvafCH0X6zliHc+g==","signatures":[{"sig":"MEUCIQDJqvRlANx6onyAqfWMmDYySOJilQVs3T88P4WfwRqmuAIgG25pUSaqahDCErDmv3W6waWYHHh3dkYc8qzkLErpXcg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"55d918ee5ce9842b93075fa0d0ffd2b64b5f3ed3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.c78ff0429.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.c78ff0429.0_1633972879111_0.5950761179904509","host":"s3://npm-registry-packages"}},"14.0.0-canary.261f2db59.0":{"name":"@material/dom","version":"14.0.0-canary.261f2db59.0","license":"MIT","_id":"@material/dom@14.0.0-canary.261f2db59.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7ee09608c9742f4cba06d2867ce6e211e84b2d50","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.261f2db59.0.tgz","fileCount":28,"integrity":"sha512-iUpZG6Bb2l/PfNV2Fb/pXfG1p4Bz4PC9A7ATPlKfcU5HioObcnYVc/+Hrtaw8eu28BNIc+VVROtbfpqG/YgKSQ==","signatures":[{"sig":"MEUCIQDYdMYmlVIO15gSuwhAZ94NwslVyiB/ZD38cZjtfkd9cwIgPHPBOzRhSFF/nNIjxCKyaIT6w+jgunp2zIZFbPQAgHU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"22c1cb4091a589b9a53b844da4e8d98309c75acd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.261f2db59.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.261f2db59.0_1634749134807_0.5944175016435143","host":"s3://npm-registry-packages"}},"14.0.0-canary.9803d2dc1.0":{"name":"@material/dom","version":"14.0.0-canary.9803d2dc1.0","license":"MIT","_id":"@material/dom@14.0.0-canary.9803d2dc1.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0355a77d7eb5f1c4d291c6bbc70cb5c0e190482c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.9803d2dc1.0.tgz","fileCount":28,"integrity":"sha512-Db8WPOg4hfneIpR2w5rC6nAGSaBoQeUsAG2GfVsQWOEnvHVoOAf+rxffy2gzlC70LDDY43HHT3vKSgFmAGUq0Q==","signatures":[{"sig":"MEQCIAoGx3J6DbOP6fPeDq8+sCDEdgSOD+mX7PEFZlO5y3A0AiAp2cnOSdbbKeAw0P1xWgL2TfduSgjbSKFQV7rNs8eQaQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4ef0574fd4b362b2609f5dc9bc002ef96f07fcc9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.9803d2dc1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.9803d2dc1.0_1634757668707_0.8371722607542949","host":"s3://npm-registry-packages"}},"14.0.0-canary.348665978.0":{"name":"@material/dom","version":"14.0.0-canary.348665978.0","license":"MIT","_id":"@material/dom@14.0.0-canary.348665978.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cb052371e958d75e4e1ce361b1db0c999dc9c90c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.348665978.0.tgz","fileCount":28,"integrity":"sha512-i3+hGeGRt9Cb3dhdDPjDmJy1hJ4sTa+Q2GRuBw0Si6iZgCk8OWwbDZmIqWCCC/+pYRAUtZw+tt602WU/4PRcPA==","signatures":[{"sig":"MEQCIGfzSyZh/IcY6y8mt6Hcnrfst3b9Nv50+N8C5oCfqp0jAiBV48D5yJ5qFeCB1iPTSNhIvydU0lr79LanUY89lWRe6w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bf16d95c07dcfc371fc864fe30028299a2d5d0d2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.348665978.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.348665978.0_1634827792500_0.41323895876847305","host":"s3://npm-registry-packages"}},"14.0.0-canary.b2b979a8a.0":{"name":"@material/dom","version":"14.0.0-canary.b2b979a8a.0","license":"MIT","_id":"@material/dom@14.0.0-canary.b2b979a8a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a94bd2189679e9127a40de55b0fa4c9f0445126a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.b2b979a8a.0.tgz","fileCount":28,"integrity":"sha512-nIh1MuJm0xV/R7haUUqhMngFu+IvyASbYqTx+2QVXeVHLzBTTQheBvNd8Guw3qzZ40hEEf0HTkZKKyCX91ApzQ==","signatures":[{"sig":"MEQCIDEIFGo1KvYyipBAm+l6OKedWbsOMT47R6i/Fb9Di6KvAiBFovhv3HzoMrpern+4wevTnyrQC9W4GRNW9ExNvtNi9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"08377359fe2dfa41ac960f776df2ba00e50e9819","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.b2b979a8a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.b2b979a8a.0_1635433885566_0.29299783325573325","host":"s3://npm-registry-packages"}},"14.0.0-canary.1af7c1c4a.0":{"name":"@material/dom","version":"14.0.0-canary.1af7c1c4a.0","license":"MIT","_id":"@material/dom@14.0.0-canary.1af7c1c4a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9b9041c7a4ccb2d5865c8b63c3ba48863b029194","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.1af7c1c4a.0.tgz","fileCount":28,"integrity":"sha512-wQGo5kBdenfw5esfLOae1ST8gWx6Ac8Axl8BUGxmpKVDRJ0mkKCZkvmhi9GIvt68cE2rOF9PO4oXd8DeFzTpGw==","signatures":[{"sig":"MEQCIF+kyjb9MQvshV9T3gQCyDsP7+yxtmtlg9RTJ9gxuLdvAiAkIFm6jebDDu1HqXNQW2EW7cPQaeYmCjkkbq5cU9/Lkw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3673ef3144cd47c5faba873a239454e11e3d72eb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.1af7c1c4a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.1af7c1c4a.0_1635443523701_0.07962881828312818","host":"s3://npm-registry-packages"}},"14.0.0-canary.4afd353cd.0":{"name":"@material/dom","version":"14.0.0-canary.4afd353cd.0","license":"MIT","_id":"@material/dom@14.0.0-canary.4afd353cd.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"aa6bc9dc1bd6f9c621f05f906ed6eb7d3b97bda3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.4afd353cd.0.tgz","fileCount":28,"integrity":"sha512-4zqabGENGoGMFP+j9hfcazYPCMN2gAYm+VqmvdEHKM/NctFJIvtr6Z2jJ5UjIjDXWjUu4/usdyaO8NlPyDMkyQ==","signatures":[{"sig":"MEUCIQCL6YKtldyl5q9E5ivyJ2s4MGanBebe3lxf9ShmD2bPFwIgLXtLXc7SZlQDF1SWFq9212ofq2CMSXt96VjfOJ/DONU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"491d940b4e97c65f274b1b4d42b3842e9bd3a4f9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.4afd353cd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.4afd353cd.0_1635519650966_0.264871851268913","host":"s3://npm-registry-packages"}},"14.0.0-canary.a986df922.0":{"name":"@material/dom","version":"14.0.0-canary.a986df922.0","license":"MIT","_id":"@material/dom@14.0.0-canary.a986df922.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"02de6e0d58e12e7c5e99597a5303ba6cda803649","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.a986df922.0.tgz","fileCount":28,"integrity":"sha512-coo5B9ONb4ZWKifq3mz6iVAh6EEBZ9QYcC4ShhOLzfZhOe3TPc85VzBtEaf/w+YV/c3a3Nqk0CjeFnRX7dFYBA==","signatures":[{"sig":"MEUCIAOqudQkbfZW22N7Lh1u9ThwxkixZb4G2ZIHlzHstnB4AiEAv+YsAiwLwP2Uu7/Mc5919rt4NSlWnNIAUJoxQ2sJuf8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6fd5c666012fea37f8a5a820b4979cc66e59fe9f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.a986df922.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.a986df922.0_1635543260150_0.05853286701031202","host":"s3://npm-registry-packages"}},"14.0.0-canary.c3cdff07b.0":{"name":"@material/dom","version":"14.0.0-canary.c3cdff07b.0","license":"MIT","_id":"@material/dom@14.0.0-canary.c3cdff07b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"449fa5ec7913f95323a011933654ec14ab6c4563","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.c3cdff07b.0.tgz","fileCount":28,"integrity":"sha512-cCQE23l5puzmspBrKAuFDLYZNmhThqLA3HHacmBwQ7YlnTWJSOyMzd14o8h2l5FyiGJEQdaT5upe3y7KpWJ7SA==","signatures":[{"sig":"MEYCIQCk/9Pp2l1cLeN00eRzjnCfk/1WpYQbqCzOMFccrhYa9AIhAPB+yCAmzTfmdPx981vgcItm/jwjxMU2Vd+B6fyzVyQt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"078c19c333e3161ad6b51a3fdc993d883bdc19c8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.c3cdff07b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.c3cdff07b.0_1636484711200_0.9398805659068175","host":"s3://npm-registry-packages"}},"14.0.0-canary.468392606.0":{"name":"@material/dom","version":"14.0.0-canary.468392606.0","license":"MIT","_id":"@material/dom@14.0.0-canary.468392606.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bb8ae0e895739c71e47ca55c85013338b83f6891","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.468392606.0.tgz","fileCount":28,"integrity":"sha512-ko8hnMtloUIjG3WCqBlUHTardWXXlGg9qK2DkQZLokGihvPjBxJVydNp2UjGTEqADh9WPZ6lYHp81ozQ0bNoGg==","signatures":[{"sig":"MEUCIBv9mxTOWNmkLMbt1G/DYvTetVO/hKmzyfZeOJdcl07pAiEA8MXzO34GWHDEJQuSYvy1g2Y8t73Gq3Of1TfMYQQHwPo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ac451ce035a924184caaae0df5252896a7392e33","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.468392606.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.468392606.0_1636659563913_0.7554126056519697","host":"s3://npm-registry-packages"}},"14.0.0-canary.828f9803b.0":{"name":"@material/dom","version":"14.0.0-canary.828f9803b.0","license":"MIT","_id":"@material/dom@14.0.0-canary.828f9803b.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"350e80cfa16268d98acc91a1e9605f535058d659","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.828f9803b.0.tgz","fileCount":28,"integrity":"sha512-aBhQRpMog3x1xijnzXlt51V6u1yQIQW2dJgriSNRiLts0oMzxkhxGr/f7M/ott8vXa45cFDbXhCIDQQnQ82Tog==","signatures":[{"sig":"MEUCIFpen8EaZoe+zCCzbeGge1IfyTx2hfTHkg30jybRLs9CAiEAtvDOUwWJ9sum7uB+erLMfTWkldKy32h1Pa07z43/YTk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c64e9f941d45dc823621c068481be90a0eaa0f39","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.828f9803b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.828f9803b.0_1636660208366_0.037260885150923295","host":"s3://npm-registry-packages"}},"14.0.0-canary.8795cba87.0":{"name":"@material/dom","version":"14.0.0-canary.8795cba87.0","license":"MIT","_id":"@material/dom@14.0.0-canary.8795cba87.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cd5255b577eae73d977cacfdbf680bd85b86002d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.8795cba87.0.tgz","fileCount":28,"integrity":"sha512-bBvBVfuYDzDfwcOfP2IOkd2d4B8nCb6upwy1QK8l8Onh2WbPg6dqnM7CNkqghdN3w9FcDUgjmSs/a6B4K1TOyA==","signatures":[{"sig":"MEUCIEcqtRO82Lo79HOsatTAzK0RdX7r/nu06Weee11lL3o3AiEAkuyO950OJlQc4KjtxQfZeznqTPS/7vGVnqLCNWnVkSM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"12c2e8ee797434819828bade998610af66a528ac","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.8795cba87.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.8795cba87.0_1636660564718_0.6830626784271023","host":"s3://npm-registry-packages"}},"14.0.0-canary.cd7f8cace.0":{"name":"@material/dom","version":"14.0.0-canary.cd7f8cace.0","license":"MIT","_id":"@material/dom@14.0.0-canary.cd7f8cace.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"af523d03df47b09d158b7ed9b62e77b6db37956d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.cd7f8cace.0.tgz","fileCount":28,"integrity":"sha512-GULOhFJiJJRJmxt1Hqi8wQe7x3auxcr7bbFC9yu8GL9SS+cyv7R/Zstc0mU1JqmcqXDknqjyvYfKV2+s859xDw==","signatures":[{"sig":"MEUCIEFAlmSahX28YHatnfS60qrmPRofVkncU/+L8EpfT+U4AiEApOhvdY99DGE3z/07yszRqrKhbMdeMuCCR1xU7X7WpTc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6f1e9f39fe9a43e01e67b849cc2a96a5a31be67c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.cd7f8cace.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.cd7f8cace.0_1636660663417_0.22019203132221365","host":"s3://npm-registry-packages"}},"14.0.0-canary.207230eb8.0":{"name":"@material/dom","version":"14.0.0-canary.207230eb8.0","license":"MIT","_id":"@material/dom@14.0.0-canary.207230eb8.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"315c7fdcd3898a2893a911344ecb0d75eba06a64","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.207230eb8.0.tgz","fileCount":28,"integrity":"sha512-8H2/HGN+Z4h7rrvy5/OBXeJWxinqrIyZ+xKWsUZ7KKadurNRxY8No5QBFkW0q/lZC7/O2+ne5GgMxVHjn3tOWA==","signatures":[{"sig":"MEQCIFxpK8r8mHGGYNZdXOma15Y+7xhSWgkhkxk6BevGQ1hTAiBygKDlcEtAMIP05RtNy7/3IwnAUYZgZ+nGLJYZqy2tew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"de1b12d24234ecfbfbf5a665f46c26b71016be2e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.207230eb8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.207230eb8.0_1636669417224_0.9603081113163183","host":"s3://npm-registry-packages"}},"14.0.0-canary.991fb99f7.0":{"name":"@material/dom","version":"14.0.0-canary.991fb99f7.0","license":"MIT","_id":"@material/dom@14.0.0-canary.991fb99f7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1b40d7ea403d58ae5edfd27c554ee68b42c519b5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.991fb99f7.0.tgz","fileCount":28,"integrity":"sha512-VJ0OPjFNKO6oxSwS/bcNu1d02rgzjtwNETl0ydGH3crVq+BnLN6TOhHPv9GjbsOmxFzTGs5/NCHlv5RE5xXTdg==","signatures":[{"sig":"MEUCIQCEZ9p/s6FnVX2kiShMdM3GrFMVYV1Neg6TRwATv7NduAIgT/xUG8y/m5zwWAZoYAD8kvsogT7Ikfgc6LG3Xjtfgtc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d13dee60c11cfef5bdcac33da4fff6f13626c05b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.991fb99f7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.991fb99f7.0_1636670142727_0.03354013586759308","host":"s3://npm-registry-packages"}},"14.0.0-canary.15db4f164.0":{"name":"@material/dom","version":"14.0.0-canary.15db4f164.0","license":"MIT","_id":"@material/dom@14.0.0-canary.15db4f164.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ea76b68f28c574c8d5990e358afcbeb83a883c34","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.15db4f164.0.tgz","fileCount":28,"integrity":"sha512-lELvQTxqkJs90+d8bHmimiyFFLk3hPrcF+pJ+Ajri1RmWVRJgfg7KV6hZA5msU1Egc2A5VYorca/fB5r+Y5fvg==","signatures":[{"sig":"MEUCICzwNSDkida2L9E7wkuL0u4sjleBLHiQBl/4IeHxL7BAAiEA1dEc9Fy5MxkzAzl/FR7IVm4ENrfospOvURkq0nkUu7M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"562e11bb445a0e51783e848adc61b690a7a1ba3a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.15db4f164.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.15db4f164.0_1636738146399_0.9873917505974086","host":"s3://npm-registry-packages"}},"14.0.0-canary.8fcad5a3c.0":{"name":"@material/dom","version":"14.0.0-canary.8fcad5a3c.0","license":"MIT","_id":"@material/dom@14.0.0-canary.8fcad5a3c.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"90a1ad5c3f1a1626ec40687e64719580057e7b63","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.8fcad5a3c.0.tgz","fileCount":28,"integrity":"sha512-WVffyW+/g8NdgHB5avWo+Oqpw+QoekPh5Cug8xHXz8RnAykA9kHe8zerx0fUeYpyf0S/+fUOOJXGP/o4n7OJEA==","signatures":[{"sig":"MEQCICOT52EicVc4b0l0PebG29xNNwBrc8nWwyQj8fk54Pv/AiBgSCLppL7+81B0ZKmUM1dvD6FKYLq7Ye+BJuLlY/Iy3g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"14b654013dacdda833d34b73c1a94811202298d0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.8fcad5a3c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.8fcad5a3c.0_1636744386524_0.1257141377191493","host":"s3://npm-registry-packages"}},"14.0.0-canary.f81fb1d23.0":{"name":"@material/dom","version":"14.0.0-canary.f81fb1d23.0","license":"MIT","_id":"@material/dom@14.0.0-canary.f81fb1d23.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a506430ffe9cf72f288cb50345adb6c05a3d4a22","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.f81fb1d23.0.tgz","fileCount":28,"integrity":"sha512-BYlhQsEgDJvsz3eJ3UquAf2uqyACT8UDfgY0tIjbQH1yQlHfC42E8g+FGNsQb50poCxjq7W2Gdi0PmUNaNfuQQ==","signatures":[{"sig":"MEUCIQCYzBtIcvDa6/seDTLlhIYdd3JaXK2A9m0Qs4ClY2mnOAIgZQ/YmxGqKrughqaXHcmOUoCJ/hJvRqT45Bblt7iY/ZM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"60600a1b8cf651dddedd6881a54b20db7b75cdc6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.f81fb1d23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.f81fb1d23.0_1636756772634_0.4305509985352942","host":"s3://npm-registry-packages"}},"14.0.0-canary.783f6fd5a.0":{"name":"@material/dom","version":"14.0.0-canary.783f6fd5a.0","license":"MIT","_id":"@material/dom@14.0.0-canary.783f6fd5a.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"73684ef3bf74e264c5e8d7b1cf48f4b5676ed506","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.783f6fd5a.0.tgz","fileCount":28,"integrity":"sha512-wbmWBNAMw5bDkNrGZKcVFR35DT32rMWHGWAP6cQcCNHeqBn5YjUX+WDHR1nrZ9G9y1GLX8gnMfx6aykSe6nifA==","signatures":[{"sig":"MEYCIQDgqXlOc5Wi5VH2CM44TmRehvriP12g7LmASgqDxQ8+qwIhAKWb2bR2sHBFZow2C15umKb/4iXFDwinRu0G99haTwdx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhk0ZPCRA9TVsSAnZWagAAR8UP/iYiBxdxljnl3m6/F8E6\ndnGYsUqzw6ieORMHEKBXgR1Gb0A2lf5poGIQJLb9xc62F2ZQoR03Iau7zhld\nzMSESuhQqQWzWl6WtorJmLgfCeExo/eBIAGk2iJrZLx+RdkCxJHaE8EbNxGp\nBd7SUyaaIU5/W+HXV1QiggTyQxf4vju/nhEG6ghbmWiAs02TBj6/lx94T/kW\nu/wE5wz/1ajryL343LKVgcsPaCax7ZuqzOB42bRYI5AdLVaOFwUSdOyW7a/s\nBP1dXMwDdJM6gJBxc2L19DJeBN1IUHdRpsKUe4ZprEH9F2Zg3i6C5ViUcoSY\nn03jiMF6jfsnxd3CZN2pXt3APBd+xDBH0TztmYHhqQLmWxWW+bZJNeSZzFmD\nvmVTfgCgKif0TJek5jiCQpIzIjZeCt+7DluQ4u7xmSo4Ulloh7gOJfEDmHT7\n15RPUZjR9Iw4RhpAnJjyfaeD4bewQcdDAz505F5b8XmUkqJ2OmeA4LKK4D0B\n54wbKVKKZlYxewzQ0tdg15Qhl4X+2b21+YyJu+H8PpIcuoA2cbLAj34FyQqW\nUzAYg35tqv/tECxvPmugPlrKGHesDf9NQfe+HaZiMVEmuCw5YNFpr/P7RwkV\nyR/QmgMXLQjh2v1AdfQrBeUrcfSmz0zttlCOukQQBzOqB8oENJ62J5AjDjG7\nP7+w\r\n=XvfM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"29ba9297d5424f35d235c8ff87e393874c1b0a25","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.783f6fd5a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.783f6fd5a.0_1637041742941_0.007906996261416221","host":"s3://npm-registry-packages"}},"14.0.0-canary.d57ec74c7.0":{"name":"@material/dom","version":"14.0.0-canary.d57ec74c7.0","license":"MIT","_id":"@material/dom@14.0.0-canary.d57ec74c7.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"137c3d9f46057a8410b2a0c243adf412a49dc7d4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.d57ec74c7.0.tgz","fileCount":28,"integrity":"sha512-JQZqs34Ft9VsF17IV8yw4feYTROaEJPL8V0Vsxl478y53nVI32rUzg+JP6la3C13NNK/h4pxDTW3yOyW5NPb2g==","signatures":[{"sig":"MEUCIEfTtUkcjXHFSVy45jvgy4vIFrWvwDw2M2WrLtO2tfIsAiEAtfs0x2PX3nIpoHTAH+Er0UOmJa7mHn+wbAMoLQ2fcPw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhk9kdCRA9TVsSAnZWagAAhykP/jwUo3bVceFfQ1v7XIoa\nHZLOgQ6rZku1JzAYDdGKG0P1qRTqHt3gXdbOEGV88sj+8ssxKFYjt4zbdyoU\nrDbwos3L40FnrnkKBlLDy9MQO/UQdBVfh/F1u2//gs0lwu1jfwKWEUycANkw\ncByoXuQzfpikQPkI8XivCG+a8mZmhBPuCOmqDNqfvYRfsGtkxSjh9MGsj8d9\npVes5cw+HHQAhGvLxMYByibgriFIABK4D4JGl1d9nUiMsTxSePyEDpPUzJKq\nyCvRZEU6iw4Ra9cZSlW7fM/xQ2zi1DamnfjCC3RyK2P1fcgPeGnV+rhiVOMd\nmz8kT+IHmwEwGgTlCw+y2GSskIm2g51r2MPv0JHlAmrr8FOQGxDz3UiD1bw4\neXvJYyYOV8JpmeLvSJ2XaaSF22VQITe8eydmMyBtuKEF2BRAXghi7+77/tMR\nXYGtDCw6xC0LGgL5rzYXPaLMoMJQqvoLAEAuhysjnTWbqeHg5t2Mbvhif9qQ\nb9DrN9Bl1VOnNzVk4hqUkL2+hN0AxCI7vRRdahozA2HKKzWN9MiPMogrjg7/\ncxFm4FoVtGIoOwjl9ZW9wLH6Vf1nSP23IC7h3EG7FR+w4sFte8iGq9Ljg1NO\n0Pk4L7RdMog7AusDwkg2grOk+hvwUVqHbB2Tzxql1rhtf+OFelIEIYCelojK\ntMkY\r\n=ob7D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dbbd8db21de66e88b3e713faa99419e6b2f53c68","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.d57ec74c7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.d57ec74c7.0_1637079325075_0.9622130032523613","host":"s3://npm-registry-packages"}},"14.0.0-canary.554c71829.0":{"name":"@material/dom","version":"14.0.0-canary.554c71829.0","license":"MIT","_id":"@material/dom@14.0.0-canary.554c71829.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a20298ac23cc602be368821394d849d36ebd8ef3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.554c71829.0.tgz","fileCount":28,"integrity":"sha512-9XoPYMuBjjpUrUEfKMIFv8CmMBYac1+lGiV/ZxwSOyYGcaTWl5Q8A2+O3UK1xYwgzz/fZ8HR2000e8ew3+SDQA==","signatures":[{"sig":"MEYCIQCbMo7uVrfpyB/13dxem/j3sZwKRFR1/U32Ib8HRIBSbAIhAJIoSo+xNGvfvp+R/AhZ4H+2zrpfibpos9PkEKRvwCpz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhk9nJCRA9TVsSAnZWagAAbkUP/incOG5GiDQ0N4tOwx2H\n8aKDWJglsKIbVwoaYvqupdOHpMA6jFJRNV7JLm28Pp+EK/U3+gxJs6qDjJZ8\nc0gttrkromHBHM7DzTXDJ0HmWDbOYjKlf5xzu6uU1CRyUD3COKIdedVf7RqA\nsLv5iXZ9BnopEGDaCrhRA/i6Y+cZ7uyQvN9whUss1RlcWpjgimodfTQcvB60\nZpuLh21j+eirNFuQ2Lpm2v94XvOFl4G533vex801DCLkPpWvd71vE9geJdN/\nU/CTjihJh04oJp0ZKA4+Bnwlu+fwn0Kl3QDDzk53TbOKiryyBIUThWPrmAw7\nq3N7Q+li+MkcaJwLFalPsgYZ5TmnxRURZl9r9AIZlFLRUODqqFCieIdvQ/e0\noP5WfI8AjfXT0GXsg7ZjPCpU8aRlp2hH/pbKXGcegEZ7prRyhvckqO4SrTFs\nDUvmfPtuasKIwv8849NDDQNj3ZGTvn9WJ0sHAk2h1Zk5Opw6bIlZtku7KOns\nUfF7ooK21j24rUzLkSBjnA04Wvkjbb5PP8xXqaFUmCTYR/CBJu7tSfBgMmPO\ne+aHPeCAv6BWnZtzdhKPqY8pTGt03m19fTKTcZAqJmd/rACn6T+vhUYRll4T\nNB9njuqa//3+j8P9ANoebyhG8mHOA6hq8xH7USi5W2agbVziXbuBnExoh8TR\nmspP\r\n=s96v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"be0799ddf10fc34b46ab20d754f7ef73d9efbefa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.554c71829.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.554c71829.0_1637079497594_0.19835181729375106","host":"s3://npm-registry-packages"}},"14.0.0-canary.3ef470efe.0":{"name":"@material/dom","version":"14.0.0-canary.3ef470efe.0","license":"MIT","_id":"@material/dom@14.0.0-canary.3ef470efe.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fcaf72377d85eadf96bf8d36adb4c4bfbe155b24","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.3ef470efe.0.tgz","fileCount":28,"integrity":"sha512-Mlh5b0ZFORJkscBGRv+CoGsjvRROSEDXn39ILMS4jZR5ce8915hhRMeGPFNrhP1Mk8aZGIs5OE1411NZ6zen/Q==","signatures":[{"sig":"MEYCIQDiTthFjJRvOb89/b+Hj/cn0VZQP3bocyZppcfIl28LiQIhAJA+EhgfB0jAg1SjaHgYP5l2Czay6i2WPpi303xEEBxl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhk9rwCRA9TVsSAnZWagAAWdEQAJeeYf8r1HYkR6qNedUB\nSX5VisQpcsFqaelOKRQw2rew42w+QLAnmLXRbWiyr/i6hdqh8WsW4RK17nVN\nRU/ysTTHLTU6AWTpEcSqz/iBiU8vDbp8s/yb1HdLxDoAhKYepQbqQRUP/eYc\nSk8Y3sgqjeEeiC/PP6DkNnQ1WMG7AnV2cuiaXjTDh2pG9zbSwIEIQPXAOwNO\n9CqR+tJM8qjcwAVCs0jjqh/Pe086854bfC/l7koyWpOGuMalL7B9Yx0IiA5J\ndC7gju7F4rHNNmTgEekzzdt5nBr6yPPlJSkWpZrs3KHQpojuZRiM63Nc9Ru7\niqpMZZze9+aDL40oo/L93gsyM/n3bTlhx1c0H3UJcqpBZVK14qfgBe8yWsYC\n4bEJj0ywkS0y8xZdl4rgBFSYVbu8zuRYNSDBN3/xLfb1gAwOqrS1L3TokTZl\nYWJmu8fMLcFqy3fmhhSZIEwD/A6AtR7KkZqB+zghpBIZepTAGTWWtyNkVjs5\nBkOEAplT3LWrArDXClq5mqgHK+LvRW9U/K8nOBtt2+asbuU8VkLjpae20AzH\ndKnQyMirVIPUclQ/Evhigh4mTjyGPJExHlg+4FZaqkBxo78t4ohVU4EeAAD6\nIpPQUloi7RTy3b4HFxYvOAjh9lmg9G8zF0F2qXJskSyG1F52AuTvLSHWqYvo\n3+Un\r\n=ujk0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"49429a109e0c13bb4f9d8fce0142cc5f142a6afd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.3ef470efe.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.3ef470efe.0_1637079792225_0.538156562525308","host":"s3://npm-registry-packages"}},"14.0.0-canary.61a28b2b5.0":{"name":"@material/dom","version":"14.0.0-canary.61a28b2b5.0","license":"MIT","_id":"@material/dom@14.0.0-canary.61a28b2b5.0","maintainers":[{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"obrien.test@gmail.com"},{"name":"anonymous","email":"lynnjepsen@google.com"},{"name":"anonymous","email":"acdvorak@gmail.com"},{"name":"anonymous","email":"kenneth.franqueiro@gmail.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"bonniez@google.com"},{"name":"anonymous","email":"mattgoo@gmail.com"},{"name":"anonymous","email":"williamernest@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1a0445ab1b85b0991e12f76769f071392bd9b45b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.61a28b2b5.0.tgz","fileCount":28,"integrity":"sha512-1hYIui9vKgwpiexGRs8dBdmITIheMnQqHJQJLNS97hnkWuZ5jynWhgfhIHOcoVf+OHpuNXwmSljnDDLYEkrAEA==","signatures":[{"sig":"MEUCIQCx7HiiJo9NCFSHYRkbVYmpbHGkKROsLBDjlYeYviH6JwIgH+ViaXPIuNuiT++WmCJMJPU51uaf/MUF06Wk46mVljg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhlVDNCRA9TVsSAnZWagAAQggP+gPfYbq6ZOhaFxTCej8g\naLDBlFtySBcskQdLJKd0h5CFQSRiF2lIPrY8tNDQ47MODse2e083ibg9MyDI\niEQAHjqkir/RmaCRPAgCgEnP2dgLWhuNwwV/BXA+ESm5EtKFRuEfO94BHq7T\nfjsBShFHf2jPA9Mi9lwhUBTMWkwDiJe55MeUsfeEyOBgCWst0VDN5njcu4SY\nKh6JCHqbLfNihIR7PUerG++s+oD3EVKHvuA2aAayNUJvefMT4Fwz+rVhV5fj\nwSIMBYt9P9rGiOrrwx0Nz1Hi4fgjAyQ+hMFUfrC11jzh3/eh6PE+jJm78xHK\nAPoI3mrzefKT0aiSlNsD4+Yqj4E7EseK8RZczOq9LU+uxuK97rdwUFQ0e+Hx\n3zpxlWHGPBOwExLqb7hH7zhpQQj78z7EmlCHGzyXFmgucjf+epNdn838cIgt\nklsny04Jz+mfG92vvSH5Q7uXmx+dpTws6exxQ/gnnbPlbQjJGhZK0jvUjUQJ\n9o/e/VZgvzeeYnOy18THfgxoIvq2353LZ5B0BiZ3LxaYDKKYClPCqC0F6rCu\nJ8nIQu6E2O5pGV53rELnDvPND/OVHzHc5SOk7aPmB3LM9NXqG4n2iH30rNAu\nI63yJlZSEQSoaKf2EIrGOL5BZw3UnOAWS7Y9PV4j4xRCCginNLC7DT1fPpsn\n4zFV\r\n=k7ZS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"314b98aa8ec5a35ba8a45706765f4cd7496dd803","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.61a28b2b5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.61a28b2b5.0_1637175501480_0.024195143779858874","host":"s3://npm-registry-packages"}},"14.0.0-canary.fae6c652d.0":{"name":"@material/dom","version":"14.0.0-canary.fae6c652d.0","license":"MIT","_id":"@material/dom@14.0.0-canary.fae6c652d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c1868c94fd7412f0ca3adf2019213bd30cfb9610","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.fae6c652d.0.tgz","fileCount":28,"integrity":"sha512-dEak/O8IOPTseU8IwiSg/FH4nlSFY0QS2lLPxpVIuqI1VIzmZODCU1s1h5/Y3j50437EkEHfWfzRvZBNFkaYEQ==","signatures":[{"sig":"MEUCIFnR7STleST4inVrLaXDHX+w+F1KPch/5/acppFd2MDLAiEAq5qLV43VJX7z800bviNF0EgxRFuqvpUOTNdtDqlvjvg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhln4kCRA9TVsSAnZWagAAabYP/iRgwPH47sHuWxMaCYj3\n7YgWt+zw7lvgRmqirgy495Lqd9EXmh5pBEGzzC3L2IkstMXBNkG4L5755oJf\nwHwbis84SBILZtl9pIh38CRzJUHudoHulVydkdjSuSkL4tPWeiUSCOteOKFA\nBMkLCeZxf+UmBGftH7jpBJxlP0JXi3Dx9b9Z+fxiQuozP9u9kq++vzH8IoU6\n0su2fjX/WRJK5MZeEOTcyccCdl5VzLwrW7tsBxrQqIWRh54MLDZetuM/hn3l\ndaid85STjy8TtqpCkqpAe9Y/JQRCuFBCAotb84ZHWrmpt9bp+39BNupW84bE\nEBhn8cN25sOeQGRZ2b1Ar+8z6PJWWHfIefOOVoY323Bz497Sv128RsEab8pl\nSm7Te7MnJJCD1s42FZUXqFHKtk7MEjq8t9ng/6P4Wsc7+d0K5hW5YrGi9PGS\nopmil/Cl872dUk4+k68/wfIqjx1GBRHlqzsVx+BcffH48Zd32rq02qirAikK\noxoRDZoYQ95uo9PUKkj2eTCC9cjz24TN6Hp45K/XDpPUUy9FSEzxxin2nkAB\n3fLc9xgO0Y8hpwrsr3Ey/cyt21Ok+J4Eob0u2Ul0wsPRjvBpBXlnD3OYw1JL\nKHCQF7Vr0z9D74+37UFW2B1+bLFfa//Ts2PObzgN8A7GYCzSLmgMPEYSN4Fa\nwzCv\r\n=YOZ2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d27c4bc9db002b9009b70cb7437b393ce59b9992","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.fae6c652d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.fae6c652d.0_1637252644077_0.18157536846508582","host":"s3://npm-registry-packages"}},"14.0.0-canary.978a3b5bb.0":{"name":"@material/dom","version":"14.0.0-canary.978a3b5bb.0","license":"MIT","_id":"@material/dom@14.0.0-canary.978a3b5bb.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9c9e561109e9153c03e3f522c95205ce15a0793c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.978a3b5bb.0.tgz","fileCount":28,"integrity":"sha512-q3QxuT+M+8E66KjqUivRoElSIjeeDwLGy5OdW0he32aA/kGXNcssw4W5X0+KfmCsvB4aAOYu//8e4vm7JC989w==","signatures":[{"sig":"MEYCIQDJ15h05y1aJRrLWQOdgK1ydxfgrGnt1CY7Otr/e52doQIhALp7rRyBmtcGjuz4mAZwFjf1Rurbyz0j/yBmYUBbe4Qx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl/0gCRA9TVsSAnZWagAAUW8P/A1hG3g7Eu60My11euSV\n4Koe6Jz10tS2bOGKa/8TCPpDK4/IsdptY1ImlgqmzwcLnzhrLuyl3MXHrJbg\niu//tLgGqv6oBJXoqrIMd6IIW6ai3U70ZtZDK6j+GMsHBqedkGmpF4Xdug9J\nx1KtJQQvh82Ye1gQvXLVaH4AfyOgzsWa7Xo0P2b2IWFUPD/pwYHpAtdi/bGo\n7lLhNy01WYAyFqEoik6AsgVixdRJnbdoc6cOouCw6LJ5hMGxijZovPEBBrnY\nnOXHPj0y3EBMU9pElZqyRfmF6GTh6SP63DV0qheBkb4MOReuUgd9kC9xO8fE\nVYxrf7GAxH67zUIg6mN54Po7tuWJ4qw8e9wm9dpPA1q1d897sEdbPuWzq6HN\npP7Da2sTYXLy2gLXrHS4pXG93gWCX1HJvRcO3ZH4K1OcWhcKHhihexIIhbai\nptHUi8HSSg0EU1SFnlMCGO677FIeuQzRDtvY4/7bQ+rAb3f68xxpbASfhDv7\nHdxv3Y6kY0Aw8iL9iqfTq3im/9sU5qs4HHKRLAU1tN+rf1JM9J6D3oQKRa/C\nSkNrhQ75/kJcDTsFkHpRBwagBzBnTm95HHEdpk+Zta2Sy2zcXoa8Jf68lQ1E\nJ87kMUdcKd4/pWJugf78tdUTxtzH9Bgj21HJD27Qkyxcupg+AZaCMxt9nP8T\npCR7\r\n=3EEG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0d21a3472967f5ff791662e03961fb034a9227d5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.978a3b5bb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.978a3b5bb.0_1637350688250_0.7323906989169935","host":"s3://npm-registry-packages"}},"14.0.0-canary.e6f43cf44.0":{"name":"@material/dom","version":"14.0.0-canary.e6f43cf44.0","license":"MIT","_id":"@material/dom@14.0.0-canary.e6f43cf44.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"eb1108e28425ed2306cd3ec7150b9a2ad9ccf3dd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.e6f43cf44.0.tgz","fileCount":28,"integrity":"sha512-WkrxvTJC/zS+0B4oW+MWG+gb6swQhklJ9nIxF7yCkT2oc09bcg1NOsTaCO6GC9N111vb9tQICGxLfERBs8QuuA==","signatures":[{"sig":"MEUCIQClbgKmC99qADb1tqEYNgc9k5kGu5mW60wCY5rvSFj0SQIgTWunIYT2gadUwBKsT9ouMNQzGTRa1msIYnOuhdrgnoM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhm9SWCRA9TVsSAnZWagAALGcP/RAazuLxYVQo4H6QVKh9\niM+mdQE4mvNur7j4sZzZtNYUFoOm6Nm/gVBGrm1oFXZihRPTJM7vxn3tGQZi\nKDvBGcZYzKPP/izjmttfpG6hzN1yVbmuvtW4T4THyAe43IhwKPRo1hGGRixv\nRUw8vwhB+L5EpCT9p0szP2HXv5ZsHCrxEfjxcF4eM250cO7xZD117CPRPL35\nvGC6DiVgOc242KVBfPeuTNpQEtZsSB5SWIHxq2x02+Jsyz6/VCiL5+rGyvNs\nwb0NgN0aFdpTJMjuFx1fbSbU0v30SRwSICuhstvm0hJKILSYuEudevX3eMhb\nO8LdYRFH7iyYJgG3r095w7uTsgNoVuZaZ6Kmu+aSOrIWsI2OJ7NNePxhceXX\nvJ1AaU+oXXoNjtUAHPtF4az578Kj30veVy82E1M5RQinmRV3bLpnX7hQkqLl\nHrrpPw5JCEkeheIosdSZjAGMhfU1HQhAJVeQJJRZRpoGoOoH6zroHGJ8OsPc\nbxALbyxt3LrfOhIZG2KL7QFkEi+SF5B+F06uT8J65nxS/EiprpJEkZTTp5iE\nL22NFHy1kQpUTdiLptIFUrhoJtkg8tU6lm2GMXIrz5HyL6OZoa/Fl58R9eCD\nBMkO9scP00WTcN0aHOjCXJCD74y6eTZGiemYx0bc2L614weJ8G+SH+SGTdN7\n+J6V\r\n=6HgB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"36200e7acad50905888cd5fbe17075663a96ef91","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.e6f43cf44.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.e6f43cf44.0_1637602453953_0.8972877078910853","host":"s3://npm-registry-packages"}},"14.0.0-canary.39cf14bc3.0":{"name":"@material/dom","version":"14.0.0-canary.39cf14bc3.0","license":"MIT","_id":"@material/dom@14.0.0-canary.39cf14bc3.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"37939a240ff517c50838742edbc35563cf49bff7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.39cf14bc3.0.tgz","fileCount":28,"integrity":"sha512-aEl4wqolUHw9pDYys1TQaYcW/2Kyf4mhraCLl8XZ4T9NuSH2CSuyYqt0SGpBCsSX3/BggcqkRp/4Hi+PW41PEQ==","signatures":[{"sig":"MEQCID3r0sF1wB1IT+lXDA2Q0WGBv1a6hkKc53E/N1LL7XIgAiALNcKB73DsaCttnf6HafRwtwhv52gTGv+XJ2srfM+pQw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnCHGCRA9TVsSAnZWagAAbocP+wcMAoS8hOJzIiQBVJsU\naD/fxVp1s61KDa2qOgMjO5qP95BBk+msPilo6cNwj7DQ5kh287i2NLaideFC\nCORinDjN+4qrxZtsXXnksVHZLLk1j0eRtIos4YVdd6K8gM2wnf/n/aZlBfPQ\nsUJN11CvDTx2e73WZCIEyqiMGg1XxOGWrD1UUgcbKt6YXjlXPinvAtGnahWj\nFr9Ll+CEd2NO86jIe/bsWmTaChdAxU96wFzRZ+cFfqrEgSsnF7Y3Ho4M0stJ\nhUEruXa8LZPifFvPmOBTfBAhvbgOEFIEobgBSJaxdau4Kx00DWs9yvOmEHC6\nzLRtmCEN2EM1TkYNUKZ+R3OnBy8eqjHPEU889CZEZyik4kUewucrcXx9ltVN\nQq4FpX5Y1C22DXmhr9Aq8Dz5Bwu8eJCnusdUkjr2tVMrR4Xk/pBfvSaK96zH\nqrXJd4vR5qJ2Ckt6D5YbuJW0VjvmpSt4l+oOsZ34KKLcfJtcntDQEuFt3WWN\nmMwEFLnCtUAty7jVV2Mo7RT+1QFQdafx7FUYKuywQ24Ywh08Gcfu41xQV0pC\nlsX9QB0y82drmNU9ETAKBmMKgnkOqunVo1c91D/AC47yV+G9B79E0lkVRtTi\nHScA3GIeDzs1dIrgEoFO1pIYtuyzs16D9/0yRDFnjHAVzyBH/1j7ABv0TnDM\ncHZb\r\n=CVQi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7a4dadfef1095fc344517a394b0286ecb59751dc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.39cf14bc3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.39cf14bc3.0_1637622214147_0.5109879680301019","host":"s3://npm-registry-packages"}},"14.0.0-canary.93134d453.0":{"name":"@material/dom","version":"14.0.0-canary.93134d453.0","license":"MIT","_id":"@material/dom@14.0.0-canary.93134d453.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"28a4426b1610ce7095a3c4022b97b393fd6bb224","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.93134d453.0.tgz","fileCount":28,"integrity":"sha512-U8eF2aAwcdLjGSRBLNvaJYuW8Zd47CXcQI8m2dyCLmZJU07y5f63rG8K3p1aR6Kqgh8TxXhXiu5U0n0eOTvr4g==","signatures":[{"sig":"MEUCIDx8OaLVEoh7p9+rlXqJ/7r55wch8hU59SRvVriMDNhzAiEA5cLq94TnaVXV30KqTpb2s7dy9PI1LsWj8lgkH/vDqkE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnQrQCRA9TVsSAnZWagAAx7AP/0RwtyMdJurAX6TYdn7m\nso99tm5ezt3VU8QqqLfqF8YZIeD7UasEjVIOiYwDgAaEM5JmquTxBpEPKqCH\nAWlq4HHO0TA+v4N3xjvavHo/UdwXB2E9eGmG2cP1BuXJ+HCCewl/enuLsLsL\nmpzRg/ZN80B6cpHmmXLgt78eYQSZIYOCE/4aUCFyh57vfrB97x5df3JeEXqR\nl4+uo4xHSi03I/+YXNggr6zhyoE/vNnzVxMUTBlFAiEu1DbtwYeY6tYEZRwk\nUVbzbw8UR8+fFy6DQdulH+lz9jeiWxIT3gkeiBcYqjPqWcv9q4+D2LdcbEhU\n8I5y9k3um8Bs32KwIGWOAk2Kr9luWZ8Mvt2ggUVyHfmu79asX71aaDY+muoo\naxwVYqxL8DBwe+jqgctvPtMeuxpX9mU730PuxJqm0GmavDD5Tpcae+OLk3sB\nsGfwVnLteFDEuuCahKlLjmEg4iRsI8s0bEwBNUjTOx02ug8fshdBwS/9eYAU\nQYN9p4JHggcVSeNAJ4oZuzL13T5BbaHTBeMPoasZNZzDjvKUjtRQhR7HiS6c\noGzNpC6VJ8V3ca/8qQxxcjGU3/aYRTVLRHt8opuX8LhjuMAj3Zf2OPPyfHl6\ncu8DgIh9M8KK8NDTvN95QwjCmoV/gwJYnllfmFU9CLrzuTuSkEORSgLT9q/3\n8uk1\r\n=EzCa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f37d4e46e027a3258621f6950e12796013661afc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.93134d453.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.93134d453.0_1637681871894_0.38938677528718046","host":"s3://npm-registry-packages"}},"14.0.0-canary.bbd11268f.0":{"name":"@material/dom","version":"14.0.0-canary.bbd11268f.0","license":"MIT","_id":"@material/dom@14.0.0-canary.bbd11268f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ad0402a24ca98002504bf6da7df364635a8af225","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.bbd11268f.0.tgz","fileCount":28,"integrity":"sha512-xwkpH4KGzPDw4MLefxKTIQ0y+rYFzrfB7rtcC4Dyn2WQ0/zO2tLrPclBvT4QAbEm8ioLFtZphbt9zPMS74qojw==","signatures":[{"sig":"MEUCIQCvwVGfo1F+51ROfzsli9jLUnBYcfmgoSVOJm0Wlhe68AIgUfMOKPkkR6I1yLDGr9wFouuEb/bYlO6GSgMyXPuDxUo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnWu1CRA9TVsSAnZWagAALacP/RbR9OurIRxBc2q+rjaI\n9oDGZED+kMHmbsg9OPL7Ie7U3GSWVZ4DwDmkuNL4WZbSbToSCyHWpozyI7nC\nDqbqah8T6KS6yPJ/v0WnJHXqfLMEoLbo3GCNR0478ESzM5q6+RzPHLHm/2A4\ndLjWs3SNrP3K8is4rU894NQJSimafogCbxYjd1zHlkoDGcGWw3MkgR6bVwsR\n0cY6M5bU2dRZXV9dld77awjIsA1wwEN8yt0N7GH5A4T37M8esvzyb4JWTHai\n/Ngpa5Soid4teTIiQkzx+cfcD9fI7QKECtURXZ/lPq38oEnOXeul5iZQyT6e\nnXBlFwfr2RwZ1g4VA5FsdrkVdkLPV+Ypj9Epm+Hx9cC+jPg8+HgkIjuwfrpD\nXVSataqbQhpGHb56AUXT8UL3FLQbW/u3VnVUQHoHQ2/6qstpqnvdnPylcdQa\nwZ1QYrUnay1ch1aksAhjYbVqqXM6j5oPfoyUTTijze0cfJ4DKL9ytDOZKs+Q\nwHONaGrbVGbESYWn0M4P57qaqOknT+GkzIQKxwyphnZHalkVBuezXIz1tkQE\nsK9aYBOtb3wmL2qFNtz8nyQ629u5qZ8zWEv7mINet7KbWLZz/TsmMiY2v52l\nd6Brd8f1iZfoXytNbMSin64aumSVpn3FPSl+NlPPqZdPmsqw0GggiPJCLMiy\n/zVW\r\n=HXie\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"46484a77ecd0c6d7b548301f4e92325ffc4f8010","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.bbd11268f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.bbd11268f.0_1637706677650_0.9840982599218115","host":"s3://npm-registry-packages"}},"14.0.0-canary.3db9c4d3d.0":{"name":"@material/dom","version":"14.0.0-canary.3db9c4d3d.0","license":"MIT","_id":"@material/dom@14.0.0-canary.3db9c4d3d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ea5d941827178b10bfea1311384fe0763714381c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.3db9c4d3d.0.tgz","fileCount":28,"integrity":"sha512-uGZZKEz/0SfvZB9HBEa5Cbs0YbpfIaKM9m0XGsyjhYlIEVxFzGk2XEfxGEH5PlBcci8ZKmuKjHZljPbJJ1tDCA==","signatures":[{"sig":"MEUCIBLjRQkOsHffQvRDqqAgr4YM8GkUmQOZu6yqa4cGnB1kAiEA9p3Vor8il4E6z+21dCxab8Q1ASoFxyrgTBjfJoGJqn4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnlv4CRA9TVsSAnZWagAAgmYP/1iCV44qy35HcvXIan0F\nmoKQweQnY6CxEdLhSCFoR/cxDqwFHxOLjUQxV3FVNDrz7Nc94AhxeBNy/eEQ\np+vtLPlwCE3N4p4t+0LpJFQyCJgRk1ZaOStm8mzfPFyYTYNvHqwsqei3hAH5\ntMlO0QrB4thWdemXM9Hyw1Q+B4c5jg5+ngqPx7eti2aHfVtchSMd5o17ha+k\nQFWf3wPLkW5S8P9uEe2AGdQow4z9tHWmnQNN4yocpBukZ13IsW5JIOh09Y/H\nsDoYQejpvrLaFlrFdzMbLR90uhiKHreGMfePxx/IddwlZNLALKeL0n8K3PyI\nyK3fD6Oz3y5y8Oena+4TDnIgWZ1SXgvoFlzsI18mwh5TNa9TNDtdBZ3nCsq/\nu8nCuDPJ95+bDrIl1tRKsT3wjbTb7vCEqjCyZMMowjHBRQidV357WbvffyCc\nipQlYjoyQQUAeNqrpKjHO4UCKQs/KI5tMtNylWOwG4caLzwcP8/TWQFJvR36\nNQeLkHAPhHoS2jPuPpWN4fUkIbnwcMGKx2yED5RTp+d8vZ4NYvmEnTc/ed/o\nr+1L6Sl12TRPCgPn1/OA4bzP2pWGaEys72cgKeZ2gNQpZtqViUbn5aW2HsnE\nyn4G11LF61LRuEDfQH9SWfeLOKWVmCq0Oxrw5hnbNavVyaCPBskCTF9Kpxom\nLzek\r\n=0kP5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"61e9de8c9bd6ef83a5f0949cf53ce4a8b689f158","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.3db9c4d3d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.3db9c4d3d.0_1637768184251_0.7065793040471804","host":"s3://npm-registry-packages"}},"14.0.0-canary.78305b6d5.0":{"name":"@material/dom","version":"14.0.0-canary.78305b6d5.0","license":"MIT","_id":"@material/dom@14.0.0-canary.78305b6d5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"516de5a9331aeb53c431d3d4a2c07413f8693800","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.78305b6d5.0.tgz","fileCount":28,"integrity":"sha512-sn455DTyddKz9pEM6lv0m6brjtS4ErNEmGwvLjD9OTvjUUqf8dphHHU713QwiE6Xo/J4ps6R4UpF4jEAL1nSmg==","signatures":[{"sig":"MEQCIFlOQUonXlVkTrGMAMFjuWtsC1vanqCWTxNshmMqvIlpAiBk/yVgjMHc49O8H12NHtPkmo6KsXuOpngFnLJIxJP4HA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnpdYCRA9TVsSAnZWagAAA7gP/2xWPCN26t0cx9HcXRi/\n1OnM61GbNHm7h64B9wCWW9nQAWdu9z7EkijUgSBLYLxn+SZba9/DfwXhLeXN\nRckwhIAEvGmXH0N4Woha4KcXtAE1mu8GqgX5I7FqePAag90ECRL4VrgkSHMI\nnRutyoEiZTouBsix3joZoldTDuG4HGBmXe5yZ4vQ3TyD7NT5VP66CulkmOyM\n02MKW6Un6GGTDBaPN4BApqfPA0R5Mdiw43YFpSVy+r9N26fPmMjSihHFO7wx\n5BzKAFVuMUUOr/1zEcEuLpA6NBZmNClE39Yr7+Q18hCtjRndTxaElgH18yp5\nXpu4l01HWTMy2g492HZGLyZAuK3yeVsRszs97c+HcXhDDqsma0ydbkz/vKSU\n2DeXPvG5POhDrjhIvg96TszJDQgiWcOqvgLo0Qy9vT3U7NQi83YOIkoPZEKE\nExAlIkH0Tx85RIsBn3z4QT/Vl5eor6i8ajE3I4pc+cStqOr+6qKosLNaIaDa\nTczC5e/gH47N51e6RwQ6+NQjqhANXGif/WHxetWAXKVg//tRx0bTE6LfQkBJ\nEmVwq3jLFoT8uNiRMV8fHQr1bBnujg9Z7jXx0AvtyI0smQVcQh6Z21J0USsC\nzL9sVeDUch4gUP5z0Y+vSFxp5oHbMAy/Bekb6qLepSfeI5xHMyfDnWRhdR9/\nalIr\r\n=ktZz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2885de69eab36903fec52b85e7001eb561624eff","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.78305b6d5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.78305b6d5.0_1637783383785_0.32345436676805206","host":"s3://npm-registry-packages"}},"14.0.0-canary.43d08ba77.0":{"name":"@material/dom","version":"14.0.0-canary.43d08ba77.0","license":"MIT","_id":"@material/dom@14.0.0-canary.43d08ba77.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9c3633097bbfb3455b00c7b13d2e9b274d219135","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.43d08ba77.0.tgz","fileCount":28,"integrity":"sha512-ggzSZwAPo9cnjn22/1DbhCRzHlRhumwqVhuwKd6ynq9+EwSvRZp8LbMrSv/PBqw/MAS3e2rtL+XxwUkMUKNyCw==","signatures":[{"sig":"MEUCIBAbBK8KmUUkUO4IOrvC5L/4HqAu4fft1hme24HbChiSAiEA7zumD3Z2F8nCcTPFGepjWpaAzqNXh+vopC/dwHaia5k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpqvMCRA9TVsSAnZWagAAzvgP/jxV6ojJD8JY+KqmbMFP\nMkvIbpDcnLDr6/vEFd9d3dy4sOMaQ//t11fRXkwWVZiXVATzzPLWN3zxmMCL\nS5jBFeMqrbJXmnD8p0mcS/VduqnHMUwHb7MccMVyPAzFeRjRMUBBTFEoapRe\nynUwaRZkf9Mi3WH0754wdyQR/GulO2QktwYUzSeLz/scAIKpF5e+jxbRe/dS\nrQBnXak1jEL75UE5PFXzgXGw51NglW2pt1yYYDLZjhrZCFVC3fjfirEYvh/N\n3niXIHQU9at3gnnOXDedc5BOGvWOGOYIS4rXRfb1QSd80JW1j9X4Viq1yfbZ\nLUDGuGqsvItueI1mmuGGGZJqUwBEHhG07bDc8iVQbl9wEKgpxk6d8jro0PG/\npaKu5EKjdU046l4Clc8aPRxBGtlAJYkMKdEtUCccVsf82d90D/4aI8hh++tq\ncNr4oCwvx0+YTAymHJVDZn4B5KbIYWOSfe11brznIcg4F743t7BXEILx/Jxg\n6EuemSGTYS/cxSRqNKq+AmNT1IyRC+XIzeVxZCAsssz4oBoaSLKOvtglJHht\nBzubfculPJG09lebBlATsF0d+SwasXuGKH+nmVP4PBMtdjbjQ0ldYTQiy5pw\nqyG0WSc9Au8/bUjw4Md9wxN9Gl6o0Qq8fItdAMc10Tm4v6lzQXRvEcpGAwA9\nAWbC\r\n=AtBi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d1929fe60ad2c7ba249562f1c1702898df8f04d2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.43d08ba77.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.43d08ba77.0_1638312908450_0.19894319085631396","host":"s3://npm-registry-packages"}},"14.0.0-canary.17a072535.0":{"name":"@material/dom","version":"14.0.0-canary.17a072535.0","license":"MIT","_id":"@material/dom@14.0.0-canary.17a072535.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"15e53ae6e64413bf4e32021c762c2856b01e0641","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.17a072535.0.tgz","fileCount":28,"integrity":"sha512-J730jBJ2I6voASRY9xpqDsl5se7jS9YX/bud3sAtB/ULdyYVtvU77kgMOfFePfPWvEk8dcuQzQ/hgd9IK74a8Q==","signatures":[{"sig":"MEUCIF4p360etMA7zwkqA0X//L0Y9bzki15SAgJ22d04FimiAiEA3wGhDxtp+/2M601QIXqXlqeO+Z5pxfe6oZZNs2toeA0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqQqjCRA9TVsSAnZWagAAKEoQAJ1tl8ghGbxv+6pFc3nm\nbmSpe8az/VHqPsyOigI5fBu9kHREAJpALcSAdXGxspyYkxAzkdU39QYYbBjK\nEJJuUxJlUsaNeTYkR9fFqwg8yaYxt8t0uc1LWKocbH/FQn/12HC8r0v4VpjN\n5BfzO/neYCPAc2qKVBo0N4eBt+yNBEzKZ7aqXLW6kx9mHJVBFsLtEL5skk1l\nea5oP2WbL+Yg2cbkxNIAOCigIYh/QkwDlTbPmxju00KKua4xtBzRZC0Y09pr\nSVuPLVhiWM6U5sRIchxfK3Xoun65BW+GP3txc+uQDf0/mIjRm0WrxES2HY/9\nbumTWm/RtNxXZ3V9AmCYniIae0+wcEox23WEBjdoFK7SsVWIKkv5FxsHs3oi\n+RUl6sPDPzMFMCKSm9DOG93tbra1Uw5jIg22fJABTHKSlMTQ3RX5nkOP6EIX\nXRWFYJVvLTMrOxWea3ehF7++aYTrJf7AbFw6NFoa7RdXbZJbUSeYg3z5MSMd\nrCq1L17JtfMlD/kh+ilBZxTufhK7rtNWlZ5zuYDkKfDY/slB7hpkO/en0mye\nE7oHCDvqyX1aoFkrHEOT/ulaeK+O8wzUL98O1sZsX0g4TtDsa6tZaGs6wWgd\nx1h28QKWvxwnIxt60JUj6Xvwqse4KNStGuFGnONChCWbJ4+wztWGtx1e/hUP\nhDDt\r\n=3qbe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"317cda93b55159038a12575fec5c35e9ff5460a6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.17a072535.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.17a072535.0_1638468258924_0.17314305609190694","host":"s3://npm-registry-packages"}},"14.0.0-canary.5d809696c.0":{"name":"@material/dom","version":"14.0.0-canary.5d809696c.0","license":"MIT","_id":"@material/dom@14.0.0-canary.5d809696c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7e5b3b18ec1cdbb0a6cfa163ec7ff9098b6c1dd8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.5d809696c.0.tgz","fileCount":28,"integrity":"sha512-i5v87yPHn/5KiOn7elo0gz/xZBmeTaDvc/t0fmhuKhPhMvh0mec9Ds3nG5mAeB6R8omobn2M49MlETljnBBXqg==","signatures":[{"sig":"MEQCIAfPNpKf4XI4BJg1YlFTl1BPSArfYQjOV5GfM9M3dmvrAiB8kIi7wprDMgmGi3nqyP/mXY+cRBImMovlBCm5yVULFA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsO66CRA9TVsSAnZWagAAm7QP/0BtQJW6FUmmcrJ8Drfr\n4aiEVcxuT/kFRNhm4B3dk/oZf+wFH8Vo+S0/ZYqIug9gY2aBko2l1+fZSwG1\nmLw1zVl4070hDBpO6cIJjkrOkit4b6fBpwMtOGsQBh0s7pI+PegXsut2gdzA\nfX8ZA1qd0NYLIrq+6LOzD9MQ+LD5NDQJ/C5nDCMcigr3GomIfDAlwjDTS8zY\nHKU161xjtTLut6eny2wGOYtjQnVKtKweUnUKGWrxw4CGzuUcaGzLbkv9Qs/e\noStr6i1EJE5LYePuTWJsoaAelsr6b/+tvWm52doy43/OB+Dkiw/RfL8nvHSi\nkqcX870SU7KsKu9nU/YMrZ7xUT35IbbHs8Oq94OKl9/ERvgclHONdIHkqGgU\nYD58wsOHb5DNfu9n3jp/ejUScAj0Ijw7c1tWiF8EhXxIOS+lFyX1OnyJjqdx\nQHa41xxjqCc4bdZsj0RdZaeZdVKC9n9LWMUHHF3mneDnMwgRwZaWdH+UM6kk\nzXXWdTLeyOUhdvrlCAb9Z5OQVeuDDhTBeZ9uIyj6VfjFtOPzq3mUhDwMqp3J\nD5emisd8wOTrpu9kUEYry3VqBzXWgT527vRR7JU3SgpDN1/cLGWkWB3HIffL\nNjMSbeXDo9iVHpFVWgDBZM1G1GcQPSKHmFi5HA98/5MViQDunTBq9VIU0Qco\n2Q6s\r\n=Zien\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"955aa3e4252f722f096ceef387b285a197760b82","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.5d809696c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.5d809696c.0_1638985402423_0.03680475924565996","host":"s3://npm-registry-packages"}},"14.0.0-canary.b6510c8c1.0":{"name":"@material/dom","version":"14.0.0-canary.b6510c8c1.0","license":"MIT","_id":"@material/dom@14.0.0-canary.b6510c8c1.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"54d44e2945ffca3630283a9cd8ba7da03dd83294","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.b6510c8c1.0.tgz","fileCount":28,"integrity":"sha512-oaP/or/hwEA4nn/jzBMuDBX6LLAcz1ri6cl/kEFnlEX5YDhGYyzicRUSBh3lGSRRBrq7dlcFecVoNFHed+lpnQ==","signatures":[{"sig":"MEUCIHa9wkSgo5LcDUZbrMH6vNXRVBOg69oxzn3s/68nkgYxAiEAmLR9KdmUVWfzV2sC2HcsO7kipGHWtSZZUtIl2b6yGSA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsPPkCRA9TVsSAnZWagAAQngP/3liZmf7nF0UEQ1i+Uf0\nm077d7iyqtden28ug9xFAyISu50H9FCqbbYcUPtQoYRCrzZdBGSx7773EQRI\nJQAQP7CfYRHO6zA+cS3mVdesUQHtws6m0y8cxKG/VuEz8hJcwWi3XBVf2RK2\nW0ljHTv/y7oLQek9dDYcJzpIMNmBeE3VsEMu2sRhejXVxVwoO1w8tLcqdJoM\nk1nDuM2lmBBwcNpgortNqg+yHKOAy2hVrNs0QZIR44pO5qFxsWXMNnHd5Mlf\nL1Tu1Y0hamSaYSCLIfpE1ux58ml3yE6xGYw/juEcoxUPNTTIAh26DKP87c7b\nwOsPMdLlUxiDgn4djYwOWzpc1XoiNI/lL6wWeuOWQLWjI7itJmGvqGw13BZ8\n/5kkUgSqRv9OpL6lGmy08dC38h8NGumW4+SffoevfFXzPr32lT4j9o9QTjCk\nzZz7kB1ZukibX7xGA8v3zW2JqO1CyCzTRI3g2iusjryeF7glLKCnUhMKMEWj\nC6coJGPY7XvfmgC2hBIidMBQMWGtNRfSqna/E+RyyxpFYsxtKfQKLzef/LAI\nqIps/prxl7ujISO8qBtEL7+6H1YjMRJxOU3pDiKAK5CYKyko2vtC5lKtOlFV\ndG4OLixJEeoIu1rgZnf9n/mr14B5OgTT6Qh+SFPmQtPsiXmijBN7CEnjzlxv\nU+ns\r\n=bz6N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7b9b6695d55be857206c67de94ea9741aa48bb38","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.b6510c8c1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.b6510c8c1.0_1638986724472_0.5901965380658523","host":"s3://npm-registry-packages"}},"14.0.0-canary.f460e23da.0":{"name":"@material/dom","version":"14.0.0-canary.f460e23da.0","license":"MIT","_id":"@material/dom@14.0.0-canary.f460e23da.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"32227c56ea1db467c189eefb5b02a917d07be9f8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.f460e23da.0.tgz","fileCount":28,"integrity":"sha512-y3R15r57/akpbIybMpIeKwu5MgM1AQfJlqMxvKy59aX3wr2StEFNLaHnkbm+aX9PuOQzOREDpz92O/kJkJTZfA==","signatures":[{"sig":"MEUCIFq3DFAv5uY4LkiPBBupmI1SoX7b0vtuLBYJGtgJFlVYAiEAkwA1gf63ZZZmLTW+j+8l8wDlJv07Vg5BB1H7+BRR7l0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhs3EoCRA9TVsSAnZWagAA6q8QAJKC4bJxvUxptCRE69dh\ntwzl6OfnXoZkmKHdKbytNi6neVjqDHcjOIX/uvu17NYIzri8grM4LkId3ZZP\nmgpvoZ+01cmLIjKQsFws6UfYNMOyutXPRbMyDsr3ntroBcGWt+9X23tuhByJ\nOXRLRuvHW3Dzi99hyCX5WN0+tpUYCvBADxI6ULQn606zFKlyMAHEmONUmo6n\nxfKA464KZ5yMe8oxj2ZOoOgXOlyCEWTnKQ+ZnIrqkZxFYYnFTIw9HDiSLCQG\nHnPqScVA0+qxHXEDqzjbkBvGD7OzVRiPpBZf8oxwAwMngof4UpiiAExsgie5\nS9gvjdHMttqfW9Zg9h40bqanhnRbs4uZo1m+YNYvum1Y4AdIijBTH/1KuZ4D\nzWF86dM+q6VUMVYZATJs3BPX7DiZwfRSGkMd8LlCJ7RrSrlr4qGod9CvHCOD\n9MjnQUOBmk7HwiSmMBVAKNfVn2B+DovO/qa9ufxSEdt/vhTCs7Vjsxq419T9\nyj3Oj3r1ykayYqIHABurN1Wg95vQc7fr2qhTfSd1H7mPjTdyaNI+Beuf9y6p\nhbBAF1S1Kse4Y2U2ugrwUnjHoMioOE/dooSCo5LcNcysoGUNbzzk7bDvUCWJ\nmF3L88OvboUz5pi6HGzP4/WwcfxyUg5lHuT51fp13OoEA884evRsB0RXif4Z\nKbLV\r\n=rWgN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6d994090cf732fc4f1fb93f91d64e265cada1b1c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.f460e23da.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.f460e23da.0_1639149863941_0.6968163189343932","host":"s3://npm-registry-packages"}},"14.0.0-canary.7d8ea4624.0":{"name":"@material/dom","version":"14.0.0-canary.7d8ea4624.0","license":"MIT","_id":"@material/dom@14.0.0-canary.7d8ea4624.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"51f68a70008bcdffa3bfdc6491f934a7d1f44a9b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.7d8ea4624.0.tgz","fileCount":28,"integrity":"sha512-JLL9HpPNs4lRYmT6sw3tZ8mzvVqRDQxqKxiDX7nwJPQuDcK6vx6dOlD4XrceJ6dnBiKsLwnKi8vtAm+QTNS5fw==","signatures":[{"sig":"MEUCIDcKoCIY1bYjUvubEMlLuEO1/thJR7aRBdTlVNwEtYH4AiEA1gYWyH3F+2QAH6sI8Kuo4rm3F0FysWV8iaF0r16s3fQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhs6pQCRA9TVsSAnZWagAAY8UP/3mOPY/KgloRWYqbRcfP\nkFSSro6rX1dZ9U3hjqIkhlw/QgfmA9z0Bo7zGyTCSddMMV56Fscnkr+V7wlA\n0fXPex/GFv+0Vp5+Eg3pPGkR4Likb6stzlvPtKOHdIUA/wfbQg0C9DvEmD5y\nsf+mAYMN3FS6IEXj9KnVfV6Z+HJei1oyklawhWgkrQvSEO695IfRmBJSVvvi\nUcIZVEe8fu4cq1E2AdbQ/bsDizXKuEEX3oTLDkM/cqZdAG2NZMRzgBmrmC9x\nw+L/xCZw8Qnz7vjCZ2k9QdYLnrzi4Vb/nomkeC/p/OUdzESqDKZVNjEoszsJ\nP4tD7WJIvYHGu59vcZ2Itzp+mpNam2YsUn3IC36EwavVTPlHZQP5HxUks6+U\nBHqlVMazbks7JuGlbIrmNyAWow67+XAHo20vJgFvW+Rjv3M6m/+nhIqKVfff\nxz3ULWVfLNfnAKF6ChYvWAtkjHrGSTFPAGzwpjd1jUabg0jxbEAqcotU0oIM\nD/tYxkQfc/VrP/6tvCvvSs/eC3jc5YhRYuoWWTxDyxRK/YsOoeG9QyeB4k2r\n742zIFUg8K7SbVqf0t5V79z7zT08nBpK3O6Tm1s7ymJMsJfeJwF8sKKq9swV\nWjbeyXhfCjLqArICvhhuV7xl92Rs5rj9nrRL4yEiKXBIWAba0zN/ZsBx9TwT\naqT8\r\n=BTPa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c5733baaefa11aaca3bd6f32fb2ac29c20894738","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.7d8ea4624.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.7d8ea4624.0_1639164496771_0.34673892117610583","host":"s3://npm-registry-packages"}},"14.0.0-canary.8fffcb5dd.0":{"name":"@material/dom","version":"14.0.0-canary.8fffcb5dd.0","license":"MIT","_id":"@material/dom@14.0.0-canary.8fffcb5dd.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d836da1831364ed033616c6c4bafa60b9700e380","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.8fffcb5dd.0.tgz","fileCount":28,"integrity":"sha512-XXbMdUX5UAExmXpKHm+lnsJLAXaDDr8etzRbE+xx1cXAmhXLUj1dK0gQvfTo/Cvjo6qVct4YHkzV0RijN6XEkw==","signatures":[{"sig":"MEUCICCbOoTTKeTfRYWKMiMlMnGq1+7WAqH09VaLDV846GamAiEA8QjPbg4ZhYrQs9skX3QfZBbauJn33BGk2UTaSL+WNTU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuFupCRA9TVsSAnZWagAAPJ8P/RcR4LlGyGe0gasPJgOI\nMdcr8keN4qJLKxW4J37hRgn/+Aq4wHPXwzkBDBRCAxaairCUt/NJeDPBqJN+\nNAOc09sqoFQnHmpALpFtsQ5lbcmv51pbQhUBC/7Tr8/t1n8nCrfPykLZazfp\nH/6W3dE+/sMTvEvyi5PoQl8WxwSGBLNOMNNSHGLI1GsnRp0y0CQziCARJKbS\nU2on9ZhnJaIjzIImcq75W8dlFajcaTCWLBBZOKYgplYmV/dPwLvFo8GSttHn\n1JvhAMQzTHdsPm/3DTJhA4X6SlOpiutnLpiLsZJcQ9pFV7Z3gkJRMmWfQEkK\nOXnSq0QFKBQX1BqX0BXAfGpYDj2bu8G1vNA3Rr49wv2DXV6yjIefB/I9j1uN\n3UU9JpxU4XTHcSglLqyiW/tUCO85M9tlUZvok90U+Mx3ef1Fb9WJPJlzfTwa\npbe6VOWRsCGTIZPC2HVo5NSoSp6GAlPZHkMFOFd5WphxlYSpsfYFfhUDVrhI\nt/mTTG09pZ9+dnSw6FsouSPWyf7diSkfBCLFi92rjeGMj4/zh3GpFffysKvC\nl7W9k5pcyTRzLtAwfGmTvFKnbN+j0tFO8x64FXqixf/sJ0K0SyHRv97NPyK/\n7HKYlUH23O0JI8hu7+wCm7+u6eT7hIj/42FfHIl/8Xw+MoXJb5fU6Wpai9aq\nh91K\r\n=7nGo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ed22e4daefd7bb5e95668ab484a3a4a65793437f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.8fffcb5dd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.8fffcb5dd.0_1639472041042_0.20018943998213357","host":"s3://npm-registry-packages"}},"14.0.0-canary.21e1cb9be.0":{"name":"@material/dom","version":"14.0.0-canary.21e1cb9be.0","license":"MIT","_id":"@material/dom@14.0.0-canary.21e1cb9be.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"25f3cd399a3502ae70357640df8fda0f1f575189","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.21e1cb9be.0.tgz","fileCount":28,"integrity":"sha512-UVc9/7gb0JTE6Hk+DIdsnkFwpCdP9ueBleTrWJ1J/vFYaWcKCmLBrr52UXOmMqkni0vI27mVMWWfI/l/QtDDKg==","signatures":[{"sig":"MEUCIQDNQ8uY6mxFxgCoRkjtZGgPu1ix+egIeZpAaFHbpOGyqgIgUMxk1cyCPYzA2I4n/2kvGj5HzZ7dKyHVcOf3pQZ4HjI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuPLOCRA9TVsSAnZWagAA4QwP/3xanGu8nsLkOIERqt+U\nW9YFTPl32Az2l1z+hjdi1sBsZXES9abNN9U3x3gqYa6kP1OmUfhgVPisZQJp\n9/eAKrmUD9fMQb26W46k3yY/Tkkobk7H2E1BcoLxyQaumidMAA8Zf6mzwCRT\ng6uzr9L+uN84VwvLYFL+U8/AMXBE6+kRWszr1/akS15X/h8yeF29R5Eb8S5E\nMQDAWNl5v2+dQUE9kLm1Fq9oE9zLAKG0EkiAwi1qQhmpjJSXqmaGsGoS8lCP\nc51ruyS+p5Zjws74m+O9I/oudlN7Jrwq/lqgYj385zG3eUiw4WRw7/Q1G5O7\nLJTOhpBuId6o6snseJcE51bDvNVrRjfbrOBvPiy5VFyPFanp1hlyUt5+xh3J\nfKQvUrN8BhYIMz3DOxOQQvrfmhIBslf2jV/kla1Uf7AAThzgGNvQtTf+f105\nI55k3iNliKOwB/eZIznMh7V58Fw7zvaeLsUn0ps2WTkxawRp1azPdMUJRC/B\n86xI22W+XDnx1MfVMizfgcSSLNhzPylyAVLRdaqtAHSco+DiBz88jW0611r6\nwrv6pCJTUFHc9mfo5pQkNw7vMhnSr2oDeB432NySP+ZjkMGPWS3EOuA0Kb9X\n4SDncWXUtWqMYizp1QbRdfVPxYKl/19RkoN17KyU8s3PdwyPhKgMFHkSnFi0\nJn0J\r\n=xVI1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"091bafb203d13305d394af0cb6817b1bf05c64af","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.21e1cb9be.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.21e1cb9be.0_1639510734622_0.6876261172833678","host":"s3://npm-registry-packages"}},"14.0.0-canary.ba78e8724.0":{"name":"@material/dom","version":"14.0.0-canary.ba78e8724.0","license":"MIT","_id":"@material/dom@14.0.0-canary.ba78e8724.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"71ddb959a327642e3178ef06e768f85d7553e0ae","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.ba78e8724.0.tgz","fileCount":28,"integrity":"sha512-n63BzAaarB21d53b+hRZl3HwKE9AljVIdpBhVgCoTh4GvmH1+VKwJwgV0iBHZBECUTdW5QhznAzx4FcK/pVAtg==","signatures":[{"sig":"MEQCIACRBNTWm5T3Qd8vnEGEu0LtKva1SnTL8VYaeoitnj6vAiB9qMqyN8VpBw40526/p08tz+rzAtpdpha02yoySRb2cg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhumgvCRA9TVsSAnZWagAAc2wP/15MrGoNKgFksaPxJG2V\nyiJDYR15PTGOFVdbEO0m9H81wCkShO3O28XwRS1sqfxPyVcUBqjeSiafpm8c\nbQY6njxGr29dwLcclvUM3XfSrWCinYP4CZ7xokZeL+XMhiaZi0iDptjKTQLm\nabjBYmauaE7uXCfsfgWz+2rBP4pPG7hZYfOPMzTGBL6iYW/WsITfXxE27cKu\nX9dYR3OHATS/snRdk0yRH+n2wPxN9WrpLfRTtmErC6wNMztaITJi8i3EKy+l\nqJ0iXc18OFb4EMbf5AP3X7Xxl1qbfoKDTLotzlR3EGomDnpDW64NgnydY2gt\ntMtnkNNNhwPwCtA/7+4XTioekAdY34e9i9zpb8rie1S+2R4leehxwWS9ciMl\n7cLGu9n9XXnbs7CDnxwc38lO/ZWKQe1Eqm+McVINto6OHCXjW6/1FXpQhL4N\nOB2KewXP7M2GvhW9MRm1Lu/zYsVT3dGTwsOueouWz32OvocLUDtifUd28b+X\nVs9OFQ60xgIvcbmIOrSBAKxVHUpRJ8bEKRMyjZ5w6Q1ulV8dROyJI4XvBLg8\nzDNCZgzcMcS64hsmYuw8Hy2hipsLZ1jR3c6Bu55yQrL4wEAHx+VLU46IaWCf\nvfBB7qcRcZo+4yZcVSt8JpnPVe4bnUlvhaCTkZPXWX8guzMRTWAkmQmue2Hp\nwhCH\r\n=+INV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"396b66ccff73478ac662f95bc36087e71ae8d980","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.ba78e8724.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.ba78e8724.0_1639606319492_0.42448483788932845","host":"s3://npm-registry-packages"}},"14.0.0-canary.e3e073c00.0":{"name":"@material/dom","version":"14.0.0-canary.e3e073c00.0","license":"MIT","_id":"@material/dom@14.0.0-canary.e3e073c00.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4b697e489807f4fd82e56bd6b0ad78bb6aec1ee9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.e3e073c00.0.tgz","fileCount":28,"integrity":"sha512-2m19jhO6XgoUkGNkukjxfTjlsbeNysYslwoaXgcJtRTysKKdly5J5K68HdNpjGNMqKiRZWJ0YWgSzB/RWJKJSA==","signatures":[{"sig":"MEQCIDkVtguhBnhoXNY+FOavTuQ2vZYhNN+VO5wHM7X2rJ9pAiBNtYn4WA0sOB8+geqIJUDIGTmU3a4RYlh6JjSgcOs0/g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwPDhCRA9TVsSAnZWagAAVoAP/jFGSWXkq0M9/2OKsjUZ\nb0pLPYRZRUWV0zCfh2dN8LWwwiQ1/I6XxG2ITuLbWX4LMUdWxL6g1L7+rnOt\nnAkXU8KmQflCxJhGNgII7+vQ5LLVaD7gpvu7/ZPzmdlJLV5uR1scd3zX4JvQ\n5snSvlu2iRskDRZmMNRTM2RDSR4shmb5oYW6p4lai4EzWCvf5t3sXezrL/mt\nNxDwULTHn4vAIIfMZwfeGVxxF13NDRpZLXwp+L1bREkn7qe/23GGASqPn47G\nhUgKmO7XFQI5evlmPtwEy2A+f8XVaNvPZsdOT9nvNwH8Ize00JQf79HTBubQ\nBpVLNKa3NX8LZ9Uws3pC4JPjkYNCvqS0XtwInCwN7GVS7gzYEsUqNsmQCbqr\nfXPuwcuXvP78kCK3w+MCVmqqFOjCA7JkNWIaXRBZLkb/7cfQnO2tomweRAC2\nMWNt4Rk5ld/KS7sNy6t7o5AcUSuEtsToisjqADK0lMjZlVhyHHm7d7wSNUno\nOyjXrB6obo13jtFeAYmVxXKRZznbMnNcxaUWHHh2CtOq7wCs0Bqd+0fW09KE\nkxQsTKwagapOisdE2u5y6ZCWkOFA/bHK7eefZj5cWAS5+D2sk0zwSLLngpZK\nGp1NPd2YwjMwzXAH9PUB7N5sxa2IuM+Sxw+ozySj8MEu3mFgFJsSbl0EgyvZ\n+8g/\r\n=0Azw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6ed0d4833cc10e9b5406989bcd66b072aaa259d3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.e3e073c00.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.e3e073c00.0_1640034528796_0.8684697541789261","host":"s3://npm-registry-packages"}},"14.0.0-canary.3366a71d7.0":{"name":"@material/dom","version":"14.0.0-canary.3366a71d7.0","license":"MIT","_id":"@material/dom@14.0.0-canary.3366a71d7.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b8824b169d0f195b5b14e87011af091a88f86026","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.3366a71d7.0.tgz","fileCount":28,"integrity":"sha512-SiWeZOLqhs0+ETk/GYBz4GSnAsin/81KDjU/gW/JiFVDmzss8WhyIJNEqSeXUu3luJxL3tLFGkIbZulJIoxSVA==","signatures":[{"sig":"MEUCIQCkzcg3xPZeUe6zxQB+WzufZgA8KjtwNkYm4uzVLhkchQIgZDY0LSUnkIcb1H+WKk2tK2pzJjJtfnbYukM4t3dmJns=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwxqfCRA9TVsSAnZWagAAjDgP/3Dcw+D1KY3XY+oX9BHl\ntK1tO3t9/ZszEc121ldRj1OJxuELzPEF+DcxwfamPZVKwSHbqy1KMlKjyDSB\nceBEsk2CDexcRo2/+Z6ZJbHYAVCjAcMv+i9WZO2VjALAPdjY/KlMyIRM4GSI\nMLMrGnzvxfG/nt9qdA8v9EnRGAKKWokvsWRgjhAb3V/gWTqdHyunFkXua43z\nfaMyxM2FvPCxXrpGnx71S9OV75I/Bna/+2XciIWzSK2LMUeDjwbhwNa8ETEi\nluQwfSx6D2p/+sZjxGo1x+zAnkWRMNMZ1QRWf5hQjOMBU0MofJ3bkYsYwXgk\n0JIKMABGXxgopTKXp8TvppvXSCsZbH/p2fGBGVOjijIdeRsiR1a8vovvj94d\nxJ3iDtPCG5nIfuVFMAIvuZqYGpigpP1iAX6LtSycXr96mD9z/KjE+YuEvofs\nu0d8vr9y3z6f44fd5s0f2PUdCNDvRC4Mc/SA1kpxwKoqx9THvL5D10Za89Sd\nAMwzvs8A5LxAXWI+HzZ1KgYkHJRMUo0MgGICek3LDl0jjn7+djIDLFw0Mf40\nINxM403xZjPj3gvtL7DombmCSvX+lBBMpxq7hLDhdqSUhy+KW1GOI5UpaAL0\ny1POtf/9KG5OB9iIdJ/4ZXqj1iYyAqEtz7ggoOP0J4eoesp9Wy/uiLCPAjPD\nv+UO\r\n=h6e1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"36f8040c2829cecee06f5c8f52e08e9cabc9004c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.3366a71d7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.3366a71d7.0_1640176287149_0.9722129723652764","host":"s3://npm-registry-packages"}},"14.0.0-canary.c047f7c19.0":{"name":"@material/dom","version":"14.0.0-canary.c047f7c19.0","license":"MIT","_id":"@material/dom@14.0.0-canary.c047f7c19.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"af0e2f93ae2482f5353e00741b3d63e2192b1dc9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.c047f7c19.0.tgz","fileCount":28,"integrity":"sha512-E+xWPA1et7yJRts+FMWruAUx8f0GVa6gPKcRt2IdbtP/UZuaan5EzA/e86H+zuvY1YG7GUbinr77z8Auon5jBw==","signatures":[{"sig":"MEQCICfwehtVoqgnTl7aMPMEqfN2KbDOhOEfIf2g6ak60pG7AiBY4UdxKAsOAOyXN36v6O7AN/jV47D8o+tr+5Q6tHG1pg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1cr/CRA9TVsSAnZWagAA99oQAJyq648afz8ovS0IjDbj\nHQ+CDyn2vu63A3uOTC95XBmffdyJAcaiwFKsQ5mVXnsHRDa9yyyjsSV/6NGi\nRktNqQcr1OnPd2PsxkSDOnzkuDuxrEhuZ/kB1meSwuo3xsYmhwv86i0XTXVL\niD1MArXMFF+gIJcM4VcCdvloVnLl+HQNcsN4BruHwAh2TiWm69RZSOUBztZ2\neoKAx/VuRUBKodqDjPaepv6n4aZt6wL0Hy+qpzWdviKXko5dQJw5ba5HbH/z\n5/4C8hCSUGQ4CXYliu7HjE4WgnLfQIoPotcTox1nCjT9PwASxqqbLoOEB0L1\nM+CIKSrlvqNA0T83y4tv8Z2eijgA5+Y4AaijNB5P+TKh30upLEMkqUgLZ4rX\nje/AsOMVjovL8RUjDiq2VRFodAt0hZ2Li1w+PUrITKkTLYKXDBboXorGqPoZ\nixFdLqjVtsD+9W8lamjYAx4paof3x+icYlrbJrZ9qArREHjLmXaUem+ieSMT\nL7AhFCH3FRb/gqXyd2NTcMc4/HZiCrUGlCbixMwwyVcHR1cjud1SgkZnrpd+\nW780YETF9t6GzJ04oggatznSyoMa36HLOiniTGcoBRh0oV3nL8iP4D1LBp5/\nsgSWlw+96UgmiJT73DremcEOJmGHiPZy6XDPqpfy4Xd5fFbkzqIwmnhGYt23\n4bMQ\r\n=0K4+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f89c0e152ba1bb64d7b262b279d38cf5d93dd788","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.c047f7c19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.c047f7c19.0_1641401087263_0.4236095716396713","host":"s3://npm-registry-packages"}},"14.0.0-canary.05db65ec0.0":{"name":"@material/dom","version":"14.0.0-canary.05db65ec0.0","license":"MIT","_id":"@material/dom@14.0.0-canary.05db65ec0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3d65ec34f2f145283d3c01579054070e73d2e483","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.05db65ec0.0.tgz","fileCount":28,"integrity":"sha512-8TlgjeRSV7z5fi8HYHWBP2Ul5EkJ670vzzhrjAgj9Kmdw2zdM9sr59sR7lBzgYQNVx7akwtC9pSt4j2n/E2xUA==","signatures":[{"sig":"MEYCIQDro51T6lkzvw7kx9vxw54rWjKGDu50Zb2TlLjF25eXUAIhAOzGRPRA22olOockosx9bEeHCL92wdz4c74ZgB8kXWU1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1yMqCRA9TVsSAnZWagAALtEP/0VpHdmjJuMuF1eUkhYS\nXgldTJAYfEjic2BANY96PhgtCaW6wisH8oXxeCSde1lVCpneZ88x8B+E7AqA\nE4eN7QpE+ICjn4xVEfhHpoW/mid0S+tUjvC50AU/ckQj3i31l5dxgrP4BguT\nwmKkMd5nCHoiww/iFQRHD+qYKgtjmKvdmXc2lsD2ZQ8r7UeGbIUq/7+ROsF8\n4NFjlIJZREI23YxaJFMKVj81WGYNp31jU0Qq88MohyN7H0RwGc61cswZm2Yw\nfGQzBptzy++OBBwXov21DZgDnaBB7G/FG8bxJB3+3u67DbxSmZiuC9qGFKAO\n1Jmd0DYrs5mJfiT04WP7H6csJKhnobAiWvS9ESoeNQYFgNZ8ARlI07LJVYqz\n9iA2BYKCVJpJHPH8XpQFR/yaBlV0NKSIHZH70BO5vE/WgV66XUTnjukoOo2k\nvPfyl5eHqP8Ab7LEddz66YLuGvDm1c8P7Anl/3rFWMsU4rWWwULZ6QQbGAq9\nuCNTvkjawzkX9X3ipYKKrcHnLnos+pJim5BNgCkgBmAf+9dbL5YefeBjiV2G\nGguv4N70iQ5Zy4WksRN3qhsP7a2F4aWd9t4e7eSpvrqlHOzgcypFXld9LRWC\npSmG9QoYIYMJvJ3Zfh1M7WmD9rUIKmjSxn54PJwwoh1u464NOAbCj7LRcvcU\n35LC\r\n=8+cu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4ee3c4fadb795ccabc127e2a968744c5bed23d38","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.05db65ec0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.05db65ec0.0_1641489194467_0.9622007472137133","host":"s3://npm-registry-packages"}},"14.0.0-canary.6ca8b8f85.0":{"name":"@material/dom","version":"14.0.0-canary.6ca8b8f85.0","license":"MIT","_id":"@material/dom@14.0.0-canary.6ca8b8f85.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"41b7ecf03984526ae6bf147c629e79381e862ac0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.6ca8b8f85.0.tgz","fileCount":28,"integrity":"sha512-wnauuBzeP9ZUENCJxvXf34BP5Hct4X3XwHlkAjk8Hr3Den7eObvCVNvRXQbXAk5GG0AA2nJqeSkMiOLKGZdtzg==","signatures":[{"sig":"MEQCID5KaTVV2fXzWLMVPnf6gkLB2tqHAGO+M85Wp/hu6lySAiBAQZ5qCMNN879scHyDwC2aVcyY/lHEdbHLsVJ1H+LmLQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2GN7CRA9TVsSAnZWagAAMa8QAKBf7PXEIsf7deQdeqa/\n0eWp6ukqh9FR5ddZu9Nksth2MJfZBkoSeEZcgUlxE1B2jI+bTZALZGEktIyH\nc+pTNzETOUJSifFtabvJWx7xTIzm62gFYChg2TWOYSrh74ghl0ReUGcyU/+G\nv/sD6yK0+P15yFUX1VMUDLqN/1wyeXo1sMaxOqJPnGv8L+FsnEp7ALHrGizw\nAR240rU9qCNS+U5X9dC4LCdJuYOLUqx7vo3NYvp24jzVe/FUI5fcbDt6LTCP\n9fJXfEsb7j1BjKw75pEcIXcmTg8CdpmofUFUueQ5u6jK7Ga5VArGlJbhkcuI\nOpPM59fbYHbpRJNgNyH1T+xtAJsTrWzFJUHceK6lYmMZ0/7HEbj5eRCo5iV0\nuL/2N/ozyDt6NOkpwCP8MBJACn2yc6lR/LcNvYNGy9awX+JYAdbWkA8lAutb\nPAwkfFTnsqMO6U4p3YNQaTj7TwafUM9A+ithuLllDV7rhDb1cxLQMOd7YtIp\nmJAcwrL4Q/oTAqDehW67jV0juExSE/iYvTW0xI1nwHRrO4tq5b/SwMN7QQUg\nRFLaOzmHerG9IWc1nBnSFLDzO70os+Em3f+m4dGtOFB+W8bsgwxAGKxdhS+v\nzK6Bl+gpzmYoXSoTX7GofPI7SBFNOhvu1ExPWzVha+0HU250ZmGRNqWjvCW3\n6ya6\r\n=95XA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b3237bcea052016fff824f201904a358e2cbeeaa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.6ca8b8f85.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.6ca8b8f85.0_1641571195530_0.9328390891028557","host":"s3://npm-registry-packages"}},"14.0.0-canary.173ee7a7a.0":{"name":"@material/dom","version":"14.0.0-canary.173ee7a7a.0","license":"MIT","_id":"@material/dom@14.0.0-canary.173ee7a7a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"655ab468a62393a7299f6551dd311f8a34fe87c7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.173ee7a7a.0.tgz","fileCount":28,"integrity":"sha512-NlVIhCcDBGXcM2eYen1jUlCpY1i8cA47qSWHhTM4sBy3/3Z30Uu17OTxPJ9YzSgamwYV9U739l9bYldTfZqgLw==","signatures":[{"sig":"MEQCIBc+k9I8FBuVR4gis9ep8MWzIjK+2KZ+3LegPCGUrX6YAiAr/Q18t2z7njZRjNO8X0aTO5E3osTe/1UrwYJ/6NqZcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3GR3CRA9TVsSAnZWagAAznIP/2ZtRUIJLF5S6KrT29l0\nI7ezPS9BKBjSeGmOs7KKtpmpol+WetuK+d0/YzFIZmZtZiDDHfED/AlCCjK7\n+dsGP8MJpr/0nfCyZjZlaOAaqifi5JdkJO0T0v0feuIfI2XIyhZZYxyYUjj+\ngBIMBnSin0ZbuWoNDxjd7CRq5BrgsQbJGNYmbLIpocsgzHg2uo2Sy4Ha/kEf\nsn6bhIIOj31ZEKZSiJT2t5zMG1v3nWKewQTv0PpaFkrfK3X3QoJa2pyA0HWA\nM2lyMz75wIttIpIR6VNeWJddMLFK9EAH9CNQxpBa2s9/ebYjIcvUih+W9BDM\n+xwV8jN6hOc4B1j56n+edtRzoOLkHvPHu6Zj/sZmJPs/aVhu3yo17b748fGZ\nqn/HexlD4smbEyHeRlh0iEo0hk1oeAM0SmWX0jghHHf3RJ85Wwxfq2LOM7MT\nuyHGk6E4TqO5bPY/JmU5cUaGHzZzRZ6OrL+Zytj1O2OKyGcNfFQnCopuWLIM\nrUjFjYV37URf6FwhV9IlI3Lm29OQbWMZWDdCz4W0DzsIg55TTmZXWVLG+2vo\na3Gx4sRmdpXyTkkSHTymw/GXrZNIKfrc0CVqC/zq4mxTw3qcb0NjuTDRZGX+\nBnbuTU/abX9NUILr7U0VrqH0oXqHLlSAy0pyHdET0qm8JcewcdpiCX/N2kQ4\njL3J\r\n=zlDQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f034f9d63d29784b9608c7c25ea586070efbd27a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.173ee7a7a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.173ee7a7a.0_1641833591088_0.034014157910934095","host":"s3://npm-registry-packages"}},"14.0.0-canary.b704e4dfc.0":{"name":"@material/dom","version":"14.0.0-canary.b704e4dfc.0","license":"MIT","_id":"@material/dom@14.0.0-canary.b704e4dfc.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f9e9484aa5599f1c10680ed87094123fe749d129","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.b704e4dfc.0.tgz","fileCount":28,"integrity":"sha512-cD0NUBF5Lx4kUcOG26d238rsw+H7/8elTyeI9inDuAqHgFU3oxtHUORswyVcLy2aXXof1bqy5FFZ6nFSQM30TQ==","signatures":[{"sig":"MEUCIQDaPyUbpGdFl8g8OtQ5Ai0VA4yVPmgXHVJNN/JCfI2sOwIgIhuiFABKNQLAhycuz0c6UX9UYN6J32gMojT8fikX2lw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3HuhCRA9TVsSAnZWagAACn4QAIpeylBd2VHViWPHRuww\nKyB12rxGViZpmyBJqw+nCuNxEpdEf5dmzAVfJWoyCGbo80ydQ3MObPHxw7+2\n7NIDqYL796NLu5Bg//kOKmKU4I0XcNfLh2eT60MDeNPXnK9G/9HEFivChvzT\noe74vJ/vzdlFpYcwICOZmi3SsLGpH/zO5Fzn01wc6CJAJ09P2/isqwn1j9VG\neIduUPhrP9LAC4aRzZUFKaEJsIQX49FI5IByThf+0oALD1EaALnCdWUbZbuk\ne7/KXZwF+E0wKbZi1/NxOC89R1PVgawAIc4qeRK2iUjg3VNN9uC8nHe8cY0A\nsxgeESkp8KnN0jRJ9oYz+b/ZsCYC5SdpSbTa9iyLbspW2jNa+IZEE+n3VNVM\nR2hkRx9YGUmWfpJykOuq2kL6RRMqTHGxq488s8Y+Ef72yRiBhhbjuuyoQ9f6\nzOJIdBDlbO6xtV2Y8iB31HLKNXN4ljwvVtpUpJK+EdJ6a3i1VaT3yoFHwKqb\nNJtokXikPU6McIC+QxTiZgmVKewIN4LJOykgEROW4WlpVAyMmYtpiIwEB2ml\no/fypAJG9XkRQjXmv0PI1nZzbyXnToTcoIV76GWlFuU51yvcraNLUgL+caYA\nlZMsib5HNIKz6puFS2Ae2UOk7GbdjYVwVnIMHuuJd1jGrZUoYDMw96BbupTa\n9rDL\r\n=NrK1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7aa8626c10b7e0fe9826c55e7f08c4ab0aa493bd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.b704e4dfc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.b704e4dfc.0_1641839521225_0.25390414365191805","host":"s3://npm-registry-packages"}},"14.0.0-canary.c14e977ee.0":{"name":"@material/dom","version":"14.0.0-canary.c14e977ee.0","license":"MIT","_id":"@material/dom@14.0.0-canary.c14e977ee.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7026f879df5f8e562701384f7b18a4cf6dbde474","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.c14e977ee.0.tgz","fileCount":28,"integrity":"sha512-jteSEiU3eLSL9gGjjN860TneZD9CJrrnbtbqAQd0vgtslHYY7bY+QrRCcFf4GKotoiyaLi2409SrSr/bCX/eiA==","signatures":[{"sig":"MEUCIDywEPBr1owqONjGRDn7429VLmGWi8qc//I+/eTUFDcdAiEAuowOnUEF9YdyOp/keCq7/06sQX2GFF9Z/usXc0b0TVk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3abKCRA9TVsSAnZWagAAn8AP+gO41ExUygUgJ9I5aetc\nlwF42O41dKa0VL9JScN6jLO+V/yIuUZzfWbuTB5D4bwoqVk30Q7fwU3fKTRL\nH9rQgBELdxskdB8q8AyeoWqLPTL1dAYZgf22eHk9Kkjbdw4yjba/fcPlsy72\n6PUVzW+IkmBOvG5eKVtHLMlibjGlGEJKH1S9smFhNKtHxJEFK2mORr5m6rMF\nKyCy+KKIRmfT7kv8iiv+Jw7QtBDoPfPO6ViDu4Gpohp8UXsTLoPPRuVIzX0s\nLmQK1k3NEnE6MPQEgWYzwTqWT+PdTwgOLp09M+/7PSeqJp4DYwmO+vdemxLt\nBqjrcJ58qT80pZbA2iDqKK5P/21HFqY+jz/fgpi3iHLtfLgUBB706eir9sBh\n6rElNhZ0snS6SRdQQkd8IoSDWHRoJocX91J5sRsUIC/RN1PZ5aIVKupH3Ka7\n2sg3xoa/K7USLhvq+gimlFpbL9EAAcBOyF+r7992qjkJcFnhdwkwZ6yL0ueZ\njldk3Upqpsf8nez+KE3QUAfxVG6ciaHsGPyGM7U7jkHqw5XUV/gfiIBJq6be\nx6lyxdqecso7moF+kNN34gR1QHjhc8Rqhl5tNcBQgr/ppyWHZJcWdPAa48P+\nc5rkO62EZkKkbQF6Mla19X5e4ymMaYuFTqkgFAnsfnVvZmkrMwK6S9euvPJL\n0/6y\r\n=cYGL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9f7e1b7371c604a5d4692bdbe25aecc578fb16f5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.c14e977ee.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.c14e977ee.0_1641916106391_0.49939531807016846","host":"s3://npm-registry-packages"}},"14.0.0-canary.b094eaa4e.0":{"name":"@material/dom","version":"14.0.0-canary.b094eaa4e.0","license":"MIT","_id":"@material/dom@14.0.0-canary.b094eaa4e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"74e098d50a225909924feeedcfcd1de1909fad30","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.b094eaa4e.0.tgz","fileCount":28,"integrity":"sha512-pvZD/Wqpyfxn2khtFxYJKfFBBaO6Sd92t7/LJ/+ApH+eX3XMA/rD4mo0nAphX0PfO9hhaqlrYu7JggOqSzeekQ==","signatures":[{"sig":"MEYCIQCqvCv74tUGmWV3Z4U1sD6LGhZ3Eijn6wOvK8N93Toq1QIhAKsrgX6urqViqX6IvlOFrLUAnAlJgyzNjRBjvv2LAa+r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4cPUCRA9TVsSAnZWagAATV0QAIXCZFvzdLyjQ04FakY9\nlPAKeE0VG2BDUvNykArw5O8iNa4fYcsy5lS4RGDZ6DyfH1XvXplnTjLHjLLi\nWOWMHGcguRE2w5/q01LwJ4AyS9YmPZauZYfhudAbkClGe+sYz6/6s3/GMVIn\nh5iP5VLxzkKSlhoyzA0I8UiDh96hKRpjNQJGzny3/Cw+dM3ctyV+GnW9GiQT\nhvuc3yyzOlXU5wmfVABxbdYJmooWc4GjzWn3GCkUT68KNM7g+ILZk7R8CSJd\nZ3ZSHnMIXV98hhxEI5wfRYuh/Qw4pA+H5NByjJpoUVPZl+x4yGJmt4ycoNbG\nZ6qmKuSJwbYjgay3Zhkg+JEpmc6YmMh38wY6XCp/6gkMgLtnZg7prcIzqHzU\ncyAe0ydEyzBZNVnEZ8zRr5OZF2I8f4AOjkMBzqAoIuS82oS1j0dNPKJvcXt8\nAqDcg+dYtti6x/VajeeeJZgFsWjo5wXmTIMetRWJpDgjbp+et0CpMLH8Nqph\n/9cR2SwLnp6ACJkkn9ueQ9m0PR3Oy7e/k35BrVu/woPQATUd/gValL8W+TNU\nHYb96dmuQyFO2GgZevu5UYpOS0F41okGdVSJVF5rpUpn/zGAvDUTEYi8F78Y\nRXRHGP1krYjwUQP8Po9Kgy5aUJWSPW01dbqbpRVZmPxKgXm6ehzy44QK6M+R\niedh\r\n=3DUM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6b11b48b933746de14be90d79974d10e1fd48289","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.b094eaa4e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.b094eaa4e.0_1642185684548_0.06997674069870263","host":"s3://npm-registry-packages"}},"14.0.0-canary.390220e42.0":{"name":"@material/dom","version":"14.0.0-canary.390220e42.0","license":"MIT","_id":"@material/dom@14.0.0-canary.390220e42.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"625ddab08051b2901ba10a46b319d99180f78218","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.390220e42.0.tgz","fileCount":28,"integrity":"sha512-PcytKdoEzQ81yISjKpFhEtCuwDVs55cKkQZySoD2ZJXFX/3NXajSyXZRA9s7wHBOZ3ct0BWlNJC+c+nqK+pnNQ==","signatures":[{"sig":"MEYCIQCqo/CzWuxZ9VNYLR1Z0Nc2yeEZoilvNNTGvrbVbKkXcAIhAMReN2yexKU/U1IjtJeG6kacqW+WDECmZDqDxjjTJLxP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5Z0SCRA9TVsSAnZWagAAjIoP/jrpR/eDaPLmUlpjtXAj\nqtG2ra/pAZY+23moDL8XDUUryrMSmfspeiSeeyEnVPDE5xePfJxb3xbG+3FP\nAMzMVPY6L75LM3NTe9196WzPYlh98w/cKnBWmFHuFpOjq2F53EjDzmoUOHOF\nA7IEx+TBmD85WYh0s0MpB0rQ4ksb9OdkN1nBXHvhR8QX216f3ektSnm2dngw\nwsb02RYFt1gX9hb9YzRPeaxG2gfkq+Do9P7vTYRKp/iPaPL6T10ECQlaAFtu\nIs3rYuEThfE2ZbDkaUU5Y3uXBocRQLCkD7ygexUJYel8531ajS7d+WspUVGU\n3HocvZS4DYGquxVO/VdEFPqsN5Ea+hRUfmh784FgwVoGYOMIahevVR+eqMuu\nMInTD1hwoNAGNIZotd/1q19CqbSNhUL54i9HCHM5oqyIwxopcK8hIjLJNtin\nBB+TKWqfPtzyv4uIYEh+lU+cRwva2BbCh/LirKAy6ZrXe7/GTXQ4JQRsLska\nGxYE8GZwPfI2KiNOHtdL8sW9EXWeLnR+2nf4tze6hs20TsxbQIM5b5CuLaN3\nQs9uFoyV9rPZVWKMN9Sd2/Bmw8vrriaOulzWsQN4F5R2nwxNxrqKjDRchCSw\ntWQWYF76W807MqMDUeQY+RiCi9FSJJJEr27wYW9p85uBCfMHv1eUpjSf+9t3\nfALL\r\n=1ISs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dd9f4e499bf257838f40df3957ee3c321500fe37","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.390220e42.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.390220e42.0_1642437906719_0.4144282920419826","host":"s3://npm-registry-packages"}},"14.0.0-canary.4b5391f8b.0":{"name":"@material/dom","version":"14.0.0-canary.4b5391f8b.0","license":"MIT","_id":"@material/dom@14.0.0-canary.4b5391f8b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f8e5b314d056071a108dd2d844fed17f22776a14","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.4b5391f8b.0.tgz","fileCount":28,"integrity":"sha512-EKOkOJLNp1ufNsm718gVwiBljXRHIDUeYjGkoXNnwajjiLNK/6yrV/JNY91T00gNGzfGcIYfS1C0cjiDkmIllA==","signatures":[{"sig":"MEYCIQC8/frsKX+dmXmTC4tmH4cA5cDtcrYlmdbjNY6xjL2SbAIhAO68o2ApNY7AurmFwO0bJ+NYwxIASKxgs23mIWcxV68Q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6KQVCRA9TVsSAnZWagAA4CYQAJmHvBJEKv/XFHH8inOt\niE3ZZDjJbrQC5xTy8Zvf7MM3nSlBHThPN5TVejwfl4u8zGpXg3D1ApdMhQ91\nEWJFYoiHc42BffRhQrcXd5c9p0/yDor+LXvGjSPaoCaxyKpTKOnBqwidoSSq\noSIlj694fWAdNDO34+uKn1rirWpFgu+0KNb9XstJ8gPubT15OO9n7a8bcSNm\nMq+Mc0gs4hyNUwO7IlzhMSPsSZqqwmSwRN47SKJgxvSB3i5rw1PflSkdChS3\nsOo485h7nrTMN8rbRFKyPJoib5xG8ObuB1Ss0IKWtXothgVaCsNgYCkVOJ7l\nrgUPvgX+KS6CRij7y1E8as+CpUuTWqJ5TXIjN3rKM9QTeyAAGibWYUCNQpks\naYJ+FOLTwgaHa5S2HnvOC/6srSplVJk+c6bLp+nFYbJ/fC8cnTsvj7Dq7h05\nTF8WIJlYn29cPMsOMEVqY7JjjteqsaqAPPO/4RvY1UPlAGLHTE92W9JCTUPT\nM6Dof9+qsxeaqJnpgwlG883pbFTN4GUx89svpoR+bhGZYbDjnpKvXm0K64gj\n9sGhOIFwIidLsUBXkRGcBIyn1hQO6fkmPh71vR1tpdpA18CJ8INQD4XSj7Dq\nL/quEp180PNqGKXy2FiKz1fQM5Zz8rypuba0NH7m/cYpkbn6Rg37bwD3Ci6L\nvTeL\r\n=4U4i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"09410b4524a4005be30dd18c47d4214d6eeffca0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.4b5391f8b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.4b5391f8b.0_1642636309771_0.44792595056879514","host":"s3://npm-registry-packages"}},"14.0.0-canary.cef6bc623.0":{"name":"@material/dom","version":"14.0.0-canary.cef6bc623.0","license":"MIT","_id":"@material/dom@14.0.0-canary.cef6bc623.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d47da6da689582bb41b826a2f53a148a43a650fd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.cef6bc623.0.tgz","fileCount":28,"integrity":"sha512-q0B7o09iHc+1IURL/QfSnGTAyYpiCk3tMCGFFFWGOupYX9OWWUeQ0yEvclypV26V43lp6ob3eZDcERiEWElDxA==","signatures":[{"sig":"MEYCIQDbeJrDzZxREY4A1z/gtyQGeNK4MH0gj+95ns2gp1001AIhAPqES2GvmpVD9jv9Ql840s4v3uYH3UscPuAPUczpmQuf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6KnaCRA9TVsSAnZWagAAP3IP/ArtT/Le+2ou9ZlouZ5v\nxX4NgaaLe3SAy6WynmQC/qU3n0KILvUcEbd5jrIJYYoDvhl8c6pAR7fSUPt6\nGfm41Arw1tA7Lmnv3EybysuO70zX2cfRrbUGOLJwbrNtdgB8tP/HWdfM0U9r\nzeTRCswBQuUSKl9l+J0rfIxD0OUcEXGEuxErknFmjYeawFauNeVzXWCZMwjJ\nVC7uXc1Vp/Db7dXR3h9mItQVS5rIXoasI5fxNjFQz/LNgV7fLoumyikVt2Ce\ncKAicZdyEKnAm6Mn6Z16EYTWiq4npO/JPW3UR7TjyHtBEKb9hlLy9axyIQq0\no5NnzcL7tNc5F+f90kD196MQuFz2M0y/n1RiOGsMA5nqXn7xEXPr3GOzXQuN\n4RygqBwINSSmej4GlcjfeE+n3gB6Wz2l3S5eX4jrsxZ3cxiZ1CO+lv4ayZtF\nlDldJLNByzlssmKedBiwdrMj1xsfdEDgSTNj4Xlycxo9acjtQC2vdTBVrORY\nFJLD5bo90+kEjRttSM1ltwLguusue0w7KgxAmI+bf6itijTf+fScQqbGcCtj\n+uwY+J9wqnNBaqRGy5ZxXBT7MJDnRNxw4EvyrK6DZtdevY8NqEhnnhif4Vn/\nYI5iz+mFHGEM2f1RW1BIhbiF89pSwhyjWKa7YEA765RR2omjRcD9OD3qm/37\n1r75\r\n=1UHc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6bfb214d1f6768cd968026313c7de32009b2da1c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.cef6bc623.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.cef6bc623.0_1642637786144_0.38191204342930085","host":"s3://npm-registry-packages"}},"14.0.0-canary.0379179c4.0":{"name":"@material/dom","version":"14.0.0-canary.0379179c4.0","license":"MIT","_id":"@material/dom@14.0.0-canary.0379179c4.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8af5157f02002733e2f432992ca508a0d75a096c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.0379179c4.0.tgz","fileCount":28,"integrity":"sha512-ycULQ9ZqXOlxQ7aBSwUohUD+vr4Lelf4dKrOfWa/H1HgtDT4/cYyKdYrB4LGX5uxt8AlwDniSyzHjCrMw8h1Dw==","signatures":[{"sig":"MEYCIQCx6HOvRMpfgmxti2bJFSIYpZJSKIXAy8up5p5Uy5WEegIhAMwoVo7iuhGyLCeS6DEn6WkdoKHkIKdt+LLJUzn86cNE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6a+nCRA9TVsSAnZWagAAxDYP/2ygnto08If/vGcY3/Og\n6qcxv39cdX+nDA9sUWPQfPa+1ZD1cQszmJaC2r2ObaA6A3HiQ1CvAhB2rDge\ntt6nGgKIjq82o7BDkp5aykLVuLbS1y2Zxkpu2xZloswHraeWBWRsH/ojyw3j\nre1NxE3IDiz93ptIB6NmNCm2EVJctrImJ05sWduQPAKZoZmFwGdt+JppPMMo\n/QRwzLwsoUeyO/6Cx1/wOcN9OJbBp0+K7LEUZqHL65TlSL6ITqK4yiu/DHCl\nAtb35QJo7/42pn5HtbV/ETw34TGseEw8CSJLYdRMFo2YOJa6qqHwCvISE+5U\nlvyOSe/cvpRfRx9o3xTzjJioCcLM6gUGMEWT78U4xC8cIH2OTqkKAK4xqxUS\nz60g3UFhiEF4f1uSpePBcXnbvgy+T0c4Q2JEUrfVwVAVIhjaW0hlU6GyfjBd\ntmNZJDLfLsUxnTH24GvaenHmvBY3A0tn8Mm5gU/OMM6cvMQE5CMa1w/fc3p0\nKNiCP5UNmqbEwP4BJlEDUslsLhaV0GcuawD1BtryMgp8JynmysO5C9s1gLVV\nvw0eaSYwz6oak2tt4Ekkrat7wSCpVUWnoixRGP4Px84Aoeu1iJa4+F1qiiN+\nm6bOA1ac5rMCcIOoQkHdu7ltI8w8/QnoWJJlvGTNZoFqHLff7SqsqAE13D3m\nJ5Mm\r\n=WcNG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fd62b4e352900f807c8308b282906b51227baeac","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.0379179c4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.0379179c4.0_1642704806920_0.43066993023660327","host":"s3://npm-registry-packages"}},"14.0.0-canary.e62f3dabf.0":{"name":"@material/dom","version":"14.0.0-canary.e62f3dabf.0","license":"MIT","_id":"@material/dom@14.0.0-canary.e62f3dabf.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9ea890c37154bd50cbb5f9eba916b74d3b8b843e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.e62f3dabf.0.tgz","fileCount":28,"integrity":"sha512-5Pe1RFt6FUG0VJ5TgCouzSB4jU/NeZp+UiIi+9AU62Bk0dMzQOwJQymnWoWF9gOcN1PRW5cYA8XkN9xyWIEsXA==","signatures":[{"sig":"MEYCIQDC9f/4vvCspSd61+jWzorc9Jr1HeQMuFbbzSD2P+sr5QIhALB4Y9SiZpfyaOopgmia71AuGgXYM4IwXwXqXms/k/SW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6zuBCRA9TVsSAnZWagAAlX0P/iVEXuiFKrdvmLVdzN/4\nsZiwciIrmjiwXQx0/4+/MrdwZDvs4BHp+4ARHxVcdggU1TPoTQG1d94fpNky\nBAAp/LvqYFoG2eA5lSo0Ie0kXSDi9C1EJ1we1idSajizqA603MnobHN2rGvg\nWROFvURSrENaehpud9lphqNdiHkQPuUa8XQpdQgexp7g5qclwlnVjVfWaQil\n7Ya/Vif/yFpKCMOleUkf4rUihJIlG6ZwSYRYb1A5SvwvYZ9W2kMhKkgoNcBH\nDCwBrBsaxIet7wmaARZsOocVweF7dnMYg3aylz6dRrJXxsn/tMJ8iH/pwRNq\nIcPjWcVKq5MhYlXO5Yqi8OOCpp7eIowtUsKqeQiGIusFQ3aOl1ri7KdyPH40\noxivU1cPL0gQtGkngmRASKVANgVJLueTJZ+dg+BIDoXLJ0w57xgERJawtva9\novtOENah0IImOGgTK++twOQa4XU4due4Y2k13RG3Ed/FmrzBfdY0WQky9Inu\nu9nzz1ilkB0i4glXaB36ULRSynvPOqZRQ0/V38eY0zum60Llvzr99PoREz8W\naXDTOWWrYcOVQs606VLdyn+uiuwrO31Yr1b/Z/A/tjKca8Dr+2CjTzBK0dok\noAS9nM3fk7CpSgt1pjJEewD2127HdYMoCAygiBIpOR6NwnPhi4kYsaKYqlHQ\ndJlB\r\n=QDLS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7f7d12458af5eaac6bd913db605b5afc3753906d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.e62f3dabf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.e62f3dabf.0_1642806145355_0.03948276737532885","host":"s3://npm-registry-packages"}},"14.0.0-canary.3e20c1de8.0":{"name":"@material/dom","version":"14.0.0-canary.3e20c1de8.0","license":"MIT","_id":"@material/dom@14.0.0-canary.3e20c1de8.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f14299c355b51529f2cb00d063c69897536c6cab","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.3e20c1de8.0.tgz","fileCount":28,"integrity":"sha512-w9KC6lGPZE8wJ3uStIGEo1zngHjhlYPTPag7vDkm5ckzTl/rlkol3b0jpNoblAA8MfwYv3rbi9Y03ttA0znRVA==","signatures":[{"sig":"MEUCIHdilMW7Nw1n2qsGptPs0KtWTWBLDJSCATxw0ZXeMm0vAiEA7FuV1dluZQUeGeTDrp33bAQsTnJNtG7t/aA3HWyTF/c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8BegCRA9TVsSAnZWagAAKBQQAIYHwSge/jxbunsFnFO7\nW24hjk3NHDjfWMbrqY+SkAFumFoR26k/VPo4qo1SKIvoLmQ6Un3C2TnbPuSE\nY3cfTAiLAM54TS+hATL8rJvNlC+7jss9Cq+x+1C0ptxadQALe23fOKKNyMsT\nR6YG2vsBDCpNYt0Vpdx1BlHHcNyHWejUf15dNJiU5jw8QNxBENACn7vvmPGh\nQ1QInp45IJbMQ4RWMIXp5HB8WekgeEVJW2doD0Birrcxtkr1GAxb3bzs+mWb\nFxueX+3PE5L+xKy745aHyRuhxp8r4+WxeLGuDhTa3kvhgLLOAsJ6t9Q7/uZy\ngDhsoXv6R+m4qDXjSSLuXGbCxtuTOH88nE+Jg0J8vCw3KOo/F+QZp1IyI5dV\n1R8RYpfuCap2NfPaIfir21p79v42Y1CsH4TU5hJqhNWHZiZnuKFko40nMMrK\nGt7BO1pTpASZRJTdmaVmWvuXVAlBd05fbaFYrOd+jO0zaDx8ZZaonI3bZvXH\nztvsp/katiJuP+sGV2q+R41I5ldu0wqJ7ZS/Lk0UHy+p7sid6KqBZtx02xZ8\nbt0nosjNMfxGS40MpEuQXJYqKoJtCoQ7f1Vg7ubh61e8ioKyXl5DkNK1Ksi8\nQtKUmns27LmG2CWzP3d6Me8cBLVphpGsAFvhImdk9qyHn8loimruDybRBTpZ\nZCBL\r\n=Ljmn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"29fe61f3aef5a85c7a462638b6c2b809a3be57c3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.3e20c1de8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.3e20c1de8.0_1643124640284_0.34475163502313033","host":"s3://npm-registry-packages"}},"14.0.0-canary.9f9d928b2.0":{"name":"@material/dom","version":"14.0.0-canary.9f9d928b2.0","license":"MIT","_id":"@material/dom@14.0.0-canary.9f9d928b2.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"43c88843c58c84a8f24c44f79543b9d41b54ebb9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.9f9d928b2.0.tgz","fileCount":28,"integrity":"sha512-whMunntllSV3bsZRxjGXkndkbWNmQuV13ZNoipCSlp2Se7GdSV3O/dk9wdqrXLNuNugaDkGRZAolj0R058IP8Q==","signatures":[{"sig":"MEQCIB5WurBWqkmws68egAUYsC01HvIP+3OTeF8FnctxVw0+AiA/3OKhVbkmxfHhWh7OmkMs7xyIuFdGMbxQmiupjQAQow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8uB6CRA9TVsSAnZWagAALFgP/3nfTMPAeo8nlndj7sSO\njFHb91FUchhk4w3vAzrrtkW0fPR2I/i5tdzF2pqFEpOm9jt4s1W+Pe2iSPRM\nzaIb/x2uHP0rNhhFcIjda+jX07MFdGWgKYVZWYV/eRfA3AbLuWwWt5CmQTCV\nY8FIyjvFK3OXEac7Jt+Ts9H90r2jd230c7Pbsxee3SFfU5YjhXksvyvlLd1k\n5ZcIJgG9/ww+psO0QvNLUQUw+iggEOpAGax9TcU4op7GOuAyiQc+GsLZODvk\nQKqgIDxeg3MB/tqo8HADLSDMod9DEPj9Y0rRB6B32a1TfEhESHluf7d2pMSO\nnpiRKEwwKB5xWhXPd7I7skxg+mB+fzQbs3/RRv/bn8U0aRWZ6qFF0D+EkpjZ\nuillO33W36/kQWabAnKkDyH09NSpY4Q6RTJM5Z+yrB4BxOxyFeTD63hF0TAE\nZvkLeW6Pp4OuciQzQh3bHkzjjTJ4iYePAWgonyvjEY479hOLwRin+baJlx0g\nq6Vugpmi19ltM6kKD3/onTixDPFUEka1cX2AwDTBYIy08YcoNxHWJuqnYLK4\na/4nr7f/SO3hurToECpBNi6RUUFiu+wa1x9trGR/BGxawjJ87MnPrWPLueWW\ndtWiIyBI8/ZdCbMSVhD3j7epSoDA6FgITZSafWQ9WdB8wSalNTLPJGftWCvQ\nC0mG\r\n=t7LJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2983c7f2f01e1912809d6004e47ff0c7c27de38b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.9f9d928b2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.9f9d928b2.0_1643307130476_0.2760438441748152","host":"s3://npm-registry-packages"}},"14.0.0-canary.a2bcb065c.0":{"name":"@material/dom","version":"14.0.0-canary.a2bcb065c.0","license":"MIT","_id":"@material/dom@14.0.0-canary.a2bcb065c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"920664b249d89ce35caaddb32911fdfb2379e7d7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.a2bcb065c.0.tgz","fileCount":28,"integrity":"sha512-0/SYCfhp0r3SCI1s13xnkWKGfkZWkaIWcuKGotNkKCeFTL9AskOzelHRoIm3imkqVdLMbnhuEbdYKKRQasjb7w==","signatures":[{"sig":"MEQCIHecy3/QNg3am90bSpyRn1ZsvtvzKCO8n+dArqBE/LbbAiALF7K7App1A45HQhI3yjfLhCSPZcz2rYJ9zMsAWFl2Kg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9EWqCRA9TVsSAnZWagAAKLEP/2FYEKiavUvtmkQ5sgLE\n3DckNzbJltWTs7Irp0jaQ8sTQpJkkOAjHI3qQHUOEaQQAvFRylOVrCCRl90/\nw+SHQR6MYrWRRuBJqpNT1RXwqXOfD9BDv9/MBdDMObVmaJgKutfVSCTI5ORk\nQEgpHtm3/vHdH/xKe6Cjv51jeVFYjclhUeM4HC7TbGk0ZSuxvtQel/cz3cYe\nNpwi75FV6BUcijT2yc8Dyxxz6WhWdr/v1ivuyX0buh0kxY37cBOkUR5phfiW\nsX7mA4/LhNF2yJtTIhMneBVir/M1VU8NjFUsq7rRGSKGQTCKQOFwG/RJmM/O\nHhgcKE6Nc2VW9oWrp4tUsiZ/9LRqLfnDNddTEZVDBjxrhg9WcDVFnfhWH6Aw\nQnZYiKfI0z3sE0QIJ2axXscC2J7Si0YTi0s3BxTcypLnXY7r+c+kqDCjza8M\nGdnXYWFnPvCdGvrLRgwNBBWbi7VWjYAGFJpY46muRllZBDj5FesaQTCAHky0\ncUk5ok7BtchPCKJ1NZ4wwmlxsbd1lUp7A+U/dtt13dZ9EALXDmj9hlt8CNh/\npQwXIMdvPPXDU4jkZbJvf7E4D15EFf9z8s2z7ACBkn6dnYK4cJTdV4NAVCBh\nb2fezwuFvjT1l5waSWhLslAh3LF+G7N9BGJolvnwPbxA9EPKyLEylFpequy5\nWNFL\r\n=hmnk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7f175ca37545bf0bacc2b94f7a18a2a3fbd5eec5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.a2bcb065c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.a2bcb065c.0_1643398570356_0.206508651142558","host":"s3://npm-registry-packages"}},"14.0.0-canary.4e66fb2e1.0":{"name":"@material/dom","version":"14.0.0-canary.4e66fb2e1.0","license":"MIT","_id":"@material/dom@14.0.0-canary.4e66fb2e1.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9f941a2217cc2e98de9bf8844ffcb7a2d94367c4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.4e66fb2e1.0.tgz","fileCount":28,"integrity":"sha512-CfHp5Z9mV6BfZadP2F54lsA6mXuABl7aKtYKSfVr9y6FjUdAR7DqYIRAKkbaTU8w3Ys11jZ9ItrwMbomFiQC0Q==","signatures":[{"sig":"MEYCIQCHiIiubuSVdVf87m0aeMHJedb1iG19VPjIhKuR+4fsOgIhANXUdIFHwcvrfwj9Xw8Wbl950AoJTcehggx1mu/wGjh5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9EasCRA9TVsSAnZWagAAdhIP+gNpztz0dZ/0JVi9spy9\nOjo9dw0NRPZ/ZjoycyM+262xIuvfC+kK0FbR/hF9Y2Rx3JRrdTPoSpDvb23u\nwpKtQirZztqkapjUn2BaWZNO3MMKzDsabKwn61zEGjyt5KKp4rfwzfjxtj63\nRvB7ZPdURc76Notmbnbc/jXNOuCfdHf9dOrHEBej/k9/IcdHlaPnibsRIpcP\nWVBn1GWwcgcdrwSQfqrY8QDPZqbltAzRoeX840q1jAEJq8PDmS0X87cZPRJE\n8EpfsEmRnFAcpPy+4H5ep8W21EIx2vJKVL6mssx72HgHr8xwVKOVWnUNbe2g\nFpVXyH0ZTx0SQHezTrN58xqfI6ERi7Q01cQlyW/PY7hcriYpPJw5M6rO0VWy\nDTXJ9nIvv8o51NuhbitPgVe6BvQSlL5dnkieztOlHjnp2XIGhi2oRYUowKFM\ndPosEW8Ct9lqHqiDN2V4JSQea3nx1KiegTPO9ui80k/Xe8Va7kc2jDnvodNw\nRykuiKrQ6oxn0BvP3S4q16LbWH71MY5UYKldkbWFzTJwliYXQA50bVAud8Fs\nXGdWdFtU50lspaG9PwAbqi6qjBC0i3yxCRJS5/i1rO5ztu22kIlUtTf8WBv7\nKyL8J0GznxFAd1X7/wx+e+upsGzVXWTyjEZETHNUMY5DgEcXDkCis3bAcVxX\ntBug\r\n=7Wlc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"edee6a64c210815507bd8460fea3df2591cf0d65","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.4e66fb2e1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.4e66fb2e1.0_1643398828620_0.29469007605849695","host":"s3://npm-registry-packages"}},"14.0.0-canary.9736ddce9.0":{"name":"@material/dom","version":"14.0.0-canary.9736ddce9.0","license":"MIT","_id":"@material/dom@14.0.0-canary.9736ddce9.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e394327fa9c0e7e1b51595d16f1d330a02cc74dc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.9736ddce9.0.tgz","fileCount":28,"integrity":"sha512-Ljfa8LN6IX7cDDmKhB+DPX1E7RVRoDrIJJTCUUYV/nBx2IY/7FOEKUYKIYPRFI3v3fPCHhI01ZTZCmc5nV8AFg==","signatures":[{"sig":"MEUCIHnt1vKB7zUs+IDFRFRU/XTW53l1hPp7n4Y92blAS2jOAiEArgvEvY2BNyUTSqOTGqOT4iCp7AObjFW6rJ0cnKMTjlQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9Q2JCRA9TVsSAnZWagAAneAQAJhHEhlqqQi3EV/eKLZ9\ngwGGKZ4S3CCf/qephEBFTpJFu/fZFO4HAQK0W36/HB//1Hd6pLXfpHm2/tuD\nxnmEp26MeBzjmEu2nX6Ig+xSpaq+byJzPp64noNOKE8HN5hX7AHSrwBkgfqR\nXgJhsD6OVTQab5kg2cUdb0BD4nugZKtPO/cwsgDM5VbQGTZDYWlHy6qz/ayS\nAGTpKKzYuyKti8J5tEKOB5nDkCD6aZUBdGX1HPkOw9cMu77jx3KEakx81rL7\ngIDOtRtauCamZU7a5qDqCQ4WwTQkGfj+91/yCYutEvCqQr+T+YW8VCrDZwpd\n9usAowazeqLzxFUkxKIbO2Fm/PdvR/BbPR47D7h7uR2c2RQ+80qg7ogeb+/1\nxeo9XGF6/pmWWpukzn5pynuD5m5wYWpE0n1Gjtb46Siu6e35hIKjTXnIhntn\nHsDEe14ROmtmvgrB761BrSP4jIPvz9z9c9WLCkmEhu8UvJ3k0lgZUcdgnU8i\nGGxUfN1yyOH3dZRzkM4pAzKi8TTYm9h2UyDR0zRvZtNdJXj/UqIN74L7nBPf\nwDk5WDhj/bDKBO4tOlmFtsOD8g6sUVL6TBlx8S6+4CBmuo4iHqj9iasV719A\nAtFCp/2Ewf5hwUP8DvF63O1AqF2qvJdUttBumX6LfOrBOvLI4LkqWBgLh3+q\nTi/u\r\n=1FaD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d76de36ce796a981bf5e48388104bdb581d17529","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.9736ddce9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.9736ddce9.0_1643449736961_0.36434132070034053","host":"s3://npm-registry-packages"}},"14.0.0-canary.cc4ed13cc.0":{"name":"@material/dom","version":"14.0.0-canary.cc4ed13cc.0","license":"MIT","_id":"@material/dom@14.0.0-canary.cc4ed13cc.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e628744792f63b81c87e331c80fdec80b48941b0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.cc4ed13cc.0.tgz","fileCount":28,"integrity":"sha512-7nXv1QaSWbORKI5VuD8rSIj3KKAWuR2LXSCAAVUoypSgS8O+oIKkek5oN32yWTL31pTUf5lWaz9YMkVC/7kEfQ==","signatures":[{"sig":"MEUCICvJQBoXH9icrPkdL5VcJGmHeerINvL8phyAJOv6YQGmAiEAzIb/ok+drkq5RKz5MkgHl7S4CAT7VejHAm9n4GdSDe8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/W63CRA9TVsSAnZWagAAhzIQAJfTozxV81RbjEIKfi8Q\nFCZfn2MZoaQxL+lT76/wVK53JgiiNwMv8LA0BHmz/up7DJgli2pgrkdSF+eA\nJ9x08NoZNI/fZu6lNRZPIV1YbK1fypVJ9h5kPUVXRWUqO8fCi5PAfHy+uNFM\n38ZwRdB/3Xo+55xlIlj+X6Ch+Rx135X4EiIFy6f1CwsGQDWoOh1jRpgwq5N1\ngljnRKNfhVjbQr0uyqqTwVPurilDfEfSdj4zxBdlcyK+nt0nGTh2p170mSa/\nsonkOYJyXkB+yJW67MBdy9gcsg16kn5VtsIQmU8JPyFl+oM2c5MRGsb/ATSQ\nfZuWnxWK8NGUQWJIFCDHGxsxH5FDGufWGFwRipbVOJEWrWZYP/0OiqUTdS0p\nBoiKDKPBsSByRTFeXAv2JjPHnibkljd6jalttM7kbBmFU1+cjSKPOHthM34E\nLF0X+fjhRr4yaR4gxBhJL4GSjiFqv7G6zwd/qS3y5Miq9gx/rr3KWUKzjlX2\nvn5dTwFk62jEZHGuP3XZiUSTrlAwiuygF4Q9KjOm6KAUTaDcaIdwByTU6UOl\niPAxtcAlXrwTToWb1FrnL/oqjXJBgpy+K97LZejYtJhsBFXG6PbKMZVXRHII\n0nxNTBKvLVQiL7IaQtDRGCjbhCC58zCZ6QjZSdPSY7QzVJe6k2UL5hkd+GOU\n8hqS\r\n=qq6d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"15c769412cb0230363c372a7d45bc6bc10eff8e7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.cc4ed13cc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.cc4ed13cc.0_1643998903744_0.4395483258009094","host":"s3://npm-registry-packages"}},"14.0.0-canary.dcba26fe1.0":{"name":"@material/dom","version":"14.0.0-canary.dcba26fe1.0","license":"MIT","_id":"@material/dom@14.0.0-canary.dcba26fe1.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b3f16ed3b952730f4b26cf001872454e11df4186","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.dcba26fe1.0.tgz","fileCount":28,"integrity":"sha512-au94AgKw8BTHc4R7hBYZe5Dt2W+auBOTf+sJwIIDm/lt3lFIxrwkF2PzihOeCKw9gswc/F/Qxgzb11lli8j+Pg==","signatures":[{"sig":"MEUCIQCsNbYR33FK2tZej1v6dHW8N96MHtcREFff1twYI+J7nQIgd+YYG4atDt952dsav/b4e0sh5myndnoKYpxoNd+lKH4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/aD6CRA9TVsSAnZWagAAzKwP/0vjc7As1Pkc1Ned+Jq/\nMCzikb7wsbHbfq+hZajPqGeu9Ad+dlsSL+hyXTZu552R2IJg8TYRHOK5KB1g\nncUFBg7EWWy3YaOhhpK6N8+1N16n181KmbirOUMqhzZj5TJGfWyOzeyBNPV2\npV6qMjehgD3YKSc1ncHh9hVZKC1MCnygi11ML7uuKz1cB8nWR/aYz1SB0ha4\nIg4yqg/M0ww7qPyXGjPX7tfRVlMC/qGnA08BZLtLKoXml6sTzYOicsZROgyW\nekiLZUDaA0Kc3959FAPpuv6H7H2D6NHEquJS+74QlWyhankC6/Phchcqg/Tk\nxOnFK3sSSf3TmvbugTNVMNBJjTJ1Al+w5EHY/SgvQGzTUPBqXC7/qv6DJqQM\n8teSoyQdhG88EnBqQuIbtR6oczyUU5imhZQML5gsE+jttynSVdZ3nIEgbNbn\nBFSGAuGaqZjscPeEQ7H0QJVNsde9t0MTR87EF5mIGjf3E9qXUCyHdS7RX4k6\nXQL/u+9bhOZfYjKKTpDT+8xqcuGHfa6jv5F8/VB9TI/EVYouuEMp8n3CYERi\ny6NpHlF9cRGnTAL+alQ8g6X5ad01qwnGdImb+rqmnB3k+Mekc7WczbKfHkZa\nG2GXPPiog3L8kYdW+/vuNQFjUC9o1opP8zJOlzdYZxDVYShakRk2pH29XofP\nJkSb\r\n=fHGo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ced7dd56d5d3b017288f0575d6e773c03f01d0ef","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.dcba26fe1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.dcba26fe1.0_1644011770617_0.8511755784812449","host":"s3://npm-registry-packages"}},"14.0.0-canary.ec54d9046.0":{"name":"@material/dom","version":"14.0.0-canary.ec54d9046.0","license":"MIT","_id":"@material/dom@14.0.0-canary.ec54d9046.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3a88512ffc3a2125ba79ac4ffdaf0745ad19602a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.ec54d9046.0.tgz","fileCount":28,"integrity":"sha512-7XLNNWHyLe7pRr4YkWLtysWISCN418pL93OjowfXBriiWGvbgCE0Vf4OIwb4Poks1jSk1Tb+6+d21ynOSowEBA==","signatures":[{"sig":"MEUCIH03rArRQ+Qoxd7YEfyj4MFNxyhpancy/BXH36G2lzbFAiEA35VEhOxptLN+fgmfqkwKnT7CYPZ4HvkBkaY2TbiZGA0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAT6dCRA9TVsSAnZWagAAHHwP/RNtn5FMImy59B4V9eqa\nJGNzCEpOnspXYeGEbo6XQUDmQFCaSNQkKetlZv9qVLCD68zsS/gVlJ8ahNcA\nWEY3A33Nq6xRaxbww72O994/TsjDq4UuXQ1/Q57y89qNo2O7QQZXGi+LkVdO\n3eBLQS7ML4qfURZ9rOpz5yaCtTSisy1RuDceqMPFZ6ft7ERrhDAncCC6U0d2\nf1TyEvJfY8ws6wUWgUx0KxuSe1oLN+zCVRkjwveuipUZKQfgBwv4CWvvJZck\n37/y0P1ID1oNewe70VGtozGkFZxDssqKLN/3jwGshvd4TSuDdPrtCZbLjDjO\npOYIm41P6Tpg2gHu45gs/umzBdPHZ6Gk4fHfqHY+fEKzw9+70EcSI1EIYIK8\np3qyfYQtnfXy1epFsW4ZtUVAGCj0pVv4gMzjfr1MTi+3OSofV3eqghHCmKcE\ndvMD9PFzX+4VfV8hbvlf4C/v4ZiFZpm4hd1QSpCvQYTXPKL5gfCLd8WkbvU2\nkmb2ow7JhLqy+3ayVE1tHqnfiUwcBJNXp3gwIAfcnuJGy//ARRgnQ1egpoRn\nk8ZpRZwQ6l0fKyG9L1j4WJnv+Eo/nVgf4XZjy0sXZsc1GDzIjUX+frg7IkQ2\nLjr3SIJOddbk4bjWs+Abk1ZMcJLVpbtjlLV84dMPBNEx0I4zGkFKsovahwhU\nVtTC\r\n=1DD9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"68f6bb151595e8790d7092842d6c137ef93ed770","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.ec54d9046.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.ec54d9046.0_1644248733194_0.5425197443654142","host":"s3://npm-registry-packages"}},"14.0.0-canary.ea9b5b463.0":{"name":"@material/dom","version":"14.0.0-canary.ea9b5b463.0","license":"MIT","_id":"@material/dom@14.0.0-canary.ea9b5b463.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5818018ba5854a067d14720c589a5d0ba5d1baa8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.ea9b5b463.0.tgz","fileCount":28,"integrity":"sha512-EUIOi3/8WcvkIA/sQenqzMQC6IiGfUSeccgGRylf2mlJcn3IwquCgRNZq+0rZYPbeS/1G+47YqzL7jL6q15TRg==","signatures":[{"sig":"MEUCIQDzajyFlhL+7xUdpjeNUzWCzBG1eNQHvVB70wNkfpRUMgIgLnVxEpCSLaJbRLN7ZHeEJ2e6CQSDoTmYFJqw07SSBHs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiA/9kCRA9TVsSAnZWagAApOYP/RuFDelYJutYvuk8AFLX\n6vkj039o1xKIuUPZLddqSR2tUIwDqT25cCn0H23fjw15FJnWncAbgUt2AfuU\nbBwwvG1a0VDghkqGkzxG9IdGGp/kCP9adxzV59PA2TF8Rseda52RePDhB23D\nW2JgCvmzTafuFR4EXMzMqLVBLRZB+IoJmp3zb6iig7A6FiRcS48+nSZrCDo0\n7tMYj12kA6n8KhaRRx7ftzfW6wJJokrX0Qib25pA5KluJmyxe8dnzsir93rG\ni8Vzir0IstUeVkTeMU9FK6hLVeRAHB2RcXOQkjToejkeUUlZQsOSkLkTxYMX\nSCNf+6HhyQoP6b2VjY0/x3r8BNn09xWU/DO1wBKr3q/RqjkS5Y7VVGSci6SS\nxpAIksMZhzFbwdmZZhTsfiBCRPkAxoIR+9+bkDlrQ7khi+nMxhH+E+Guhijs\njPkuDHKZA9P56tLCyJX8MqDsSg4D/Y7I/pApOJcznlGC2b4cKP7lvXqbxETO\nHXsfboGC9uc5bAinf/p9JWmC5rhJ+spHowcVeebEdzCKeo04oVpBVjzEpb75\nMSh4PYiI8UpoxXwradLCZMEf9Q2kFc0pYRmS1O86739/gg3wL3+KdxgFTR2B\nInipXd3Csq9SrwgLBQUtnLhqMr9H9vI+T8Dx86H0zs+7khUwAmHgaGWE2pym\n6flE\r\n=995m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ee827dceb9fd1c47516461b8ddc28b66702f2c04","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.ea9b5b463.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.ea9b5b463.0_1644429156487_0.39249890126773135","host":"s3://npm-registry-packages"}},"14.0.0-canary.96ea061c1.0":{"name":"@material/dom","version":"14.0.0-canary.96ea061c1.0","license":"MIT","_id":"@material/dom@14.0.0-canary.96ea061c1.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"51f1f3c74ca228534e09a48d51c41f8ea2703636","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.96ea061c1.0.tgz","fileCount":28,"integrity":"sha512-OiK1B6gPuldbLFKO18BsODkKAXo5oJmiMlI2PpIGSnk5hXzfE1UtpO/ON3X7Axz2luFJlpm8qRsbXWuJLdv26g==","signatures":[{"sig":"MEQCICu7WYU/dZttcoR7xZ25/h+qDfDMJyW4DsuikzMzVUe3AiBjzLz64eDPnkAKiA0T1CQHas9SvD5aZeJsbH5flkzwvg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBA7MCRA9TVsSAnZWagAAMVIQAI3/wj/+wmyN7v6huZ9p\nb8Qa7tEI2sU+fV6o1COO9YGSOtfti5ABhdqXA+44WSXV5s+Y/C7V2RDQQNTz\nAuQCb15IjG29hNNBQMFdPWU/eeop3tSYHXCWMTui+m2PTXWM2cQ1V0+7d56z\n9NZ6L1E8hJByUkVam6gi5c2gMRd/0Q1M5SvxNP5oDKiOIBlk7y8UacNRTxpQ\nb2P/cqtYs4Xht5r2bZLZuqD0l1wwzOxlwZRcL1tAjXf1mTMSC89UwvgT/sVg\no9sf4p+v32fjUVNbcDmlcB0dnUyZZ+/l7eC6qGgJdap0UchcoFtRkw03fpM7\ntnbvAgXMWIi9roA0LOnBV6WokQphWPmGibXDXqOSRyLBm/UbYUPCjZNVEz1g\nX6tFwBkZt9lDJOGVqAgs1el+hN+qefZSVmT/HGd340Wp7//9whU/VoI6+4OV\nNHGZkzpCfPyBUnxxZskKja7OLnDbG/nIH4j1gXVNCP4A1U+/e08YapLe6AOx\nk2uZzmNDvCtAn4h1GZLTVV5d2KL0ibBkv1gQQv8+zKg82oFgs9xyGcra51dG\nv6KWjhfWWeuZIr6MoR7xthVZ5KKBJuhYpFsoH7esK//NevnPWOsjJD7JVKO0\nE3qn54Ll2s5ceC11jqAkgAlOESJMX3ht+rwhIriBF6BUAdaqAg8EiFdi5ePx\nPSc0\r\n=6XlY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b1a410c21f8ac6405b364e437b5af7eec06a2020","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.18.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.18.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.96ea061c1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.96ea061c1.0_1644433100043_0.412199865497515","host":"s3://npm-registry-packages"}},"14.0.0-canary.e00181e59.0":{"name":"@material/dom","version":"14.0.0-canary.e00181e59.0","license":"MIT","_id":"@material/dom@14.0.0-canary.e00181e59.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8e7563e70d86a57c68d3d6f8b926b70ae09855db","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.e00181e59.0.tgz","fileCount":28,"integrity":"sha512-loV+bd51wvYJJ/MEwrHeKBpFIo8ehF5KnkqBTannTENASBdjg2hdnf1516F5FHUnNYWxjg6NAIzc7/PLiQFkYw==","signatures":[{"sig":"MEUCIDdQA0QL1b8CrS8PFJanCKX1JQ29steVNL52RRHAaWI1AiEAu00MdjSidrOvWFBSu7tvG0PccoEwGxDhcrpOa5YIULs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBXATCRA9TVsSAnZWagAA0YoP/2+u7FwDSMBqI21LYmdC\n7INkdfHh8ld44AXZH8ckIju/aNVw9sx+P9B6ieie5+IQvW9g5N89B9XmMTW+\n6zTC63dRmjmaYKoQ6DCYE9fuaCGhSKcjhr3upWCAQeKURNf66riVE3GBbhOx\nzeUptnMrcVbYC+b8XVjuC2sqjHm5PnToe8lrRuThGFFhdU5pNcBpsMffhPyM\n0XL3pgZm1Z2a8AIPpOvN8q1wUq8E35Qb0fuo0MixZO45mXYTP3zcA8BjxfPR\n5sEIX4YilkJ1KSU1WozIsZCDPinxVS7B0aFpPzrJxqx1D+cOmpkRU5HFFPY3\n1HWCZZu6U81CA1R48JvKOZhE4n707kk1IV1B7mifTq2GiDNGJabM1rLFjM2S\nib0rYQYKd+whg8yEzHRV6BSszOl50BiaficWyCBb9esU+9xyOYOkTzqqvMeW\nwsBtlWwGjca55VHmC83wuTe5i+0IWsuq9a9kaOgmrtefJKMJaNewV0g69ZjV\nfOymfVH+q6susxKrY3JOqfY1wzGdzVTcO+/MC8X+VhL2inWegR0QJ2WOMVSe\n2dG4Ny5qxqOWlLuPJzYDowIo8/uNurU4Lv6t8SCsmk800bDP89LXMlSDSouN\nQRWCBmtBvBW0inGiAVaIG9Uw+qmA8u3Ey1QMz8iAV++/vq2AG1z1r/4oDQUS\nVe23\r\n=Dhww\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7e9ce072e9ec1ce5820d347b59d99209542a2bfa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.e00181e59.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.e00181e59.0_1644523539279_0.9824865787416397","host":"s3://npm-registry-packages"}},"14.0.0-canary.037285f9b.0":{"name":"@material/dom","version":"14.0.0-canary.037285f9b.0","license":"MIT","_id":"@material/dom@14.0.0-canary.037285f9b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1cdb44ccfea6365e89e72fc9cbec8b9bfeb6d6b4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.037285f9b.0.tgz","fileCount":28,"integrity":"sha512-LS0HJrhrOeQ8ScgPhq0auyicLQ+SYDWKW0mamFjavhZhg8y6ZKeTBeCjITNzyfAGI4DQ6YaUjoNZ7yFJVeD7ew==","signatures":[{"sig":"MEQCIDDh1IG8AeBgQKcKFuOwatK294Ul8q4KCDoG8OpXrJyrAiAZWdJvEr+zCOr4spVgwaQAN7WlUmLQMfDlQAewzwYqoQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBqrMCRA9TVsSAnZWagAAgj4P/j21dLS5jFFVfz9+EMvw\noFMyaK59OAy9ReEUtN7FnlHT2oTrXccCyUqKZYvhq6Q66R/blB+9yt+4KaAl\nBvfeRLK7oLZuhv/bN5NeXmQbAIjR+JJHBakQAa3TQSYyrMIpRpsO14bEUJ/0\nYi96ITpeNQC4eGE3xjfQ+zm1Ysth4KpGVeHYB8gH7PbIpv080YHEKiSenBga\nN0TTNKVvoh2BD2PkpLj+UC7/RLa2HyXn0PO5kfRBdpSsW4oaLVhglCuxFg2v\nUv8XRUWe8Rio9p5wMH1naI6KypPl96JrT/T16FbvbSZFGKe6IfXHFrh8lKda\nXzLL9rI/kU8Y+rSnVapfmcg4Gc+GVeY5h9sic/0qmfnfHFxrCIMUYasFUSBi\nNiT75ggvXYu/KNEob9SEDZBcR5I8jBnRd6JcNEM67T2FvScQWz2z7WasdH47\nEtWOoYn23YhwddKJcZSPkXWw/8/zoyawktrWpQy68ljUofP3tkz2ahpJR7fy\np5G/BCtmMipv+RFqQCJ/CP7cMJRYZPiTbZq/oeU6Mu9jnf63EQpoFPsWDu2y\nQge+q6xk7w4jaU5aRWtNEv1OwotssNcGo/RP1FF0nZD6eukkOd8ZNQA3RWMr\nZcU1alJl6BqjjrUSn/9H3OprOcT2N6zxlRGdWy3V6gAjkObl0egATY00dR88\nCSsC\r\n=9QNl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a9bca201560da3f96e435e6e070baee148bcabe2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.037285f9b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.037285f9b.0_1644604108643_0.40620196190537783","host":"s3://npm-registry-packages"}},"14.0.0-canary.1aaa68dda.0":{"name":"@material/dom","version":"14.0.0-canary.1aaa68dda.0","license":"MIT","_id":"@material/dom@14.0.0-canary.1aaa68dda.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f469cb24094a09695eaa94dee988f5d95a714f1e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.1aaa68dda.0.tgz","fileCount":28,"integrity":"sha512-RT+PbmVqmydotCumJpyqv+oY03qeflBQ0Pcrr0P3ZPvGifk94quu85fWZOh5UZh4jI2UJDPzV2Ms4YrGJ4JdNA==","signatures":[{"sig":"MEYCIQDEMU+r6ZeTTK9mKWJ2uiyJH8aBvU4OMHzyqcIIMCNfrwIhAJk76X5uZ2GuCGHKQtiUqMey2xrq2fodjs9Ouge50+/x","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDVTxCRA9TVsSAnZWagAAkC0QAJf9d+4vMapmW0eZ4YJO\n7XtfGrDu/EA68UJRmyNskJ8oxnbYsxvXHNuD2yqW+TD/ZPN5TnIIfSsbzb0C\nDZutdlN35WvVU4gWJd0GnASwSUYdmHNaMRotWAXzveujxTKowLv4iiM0a5HI\n0mDqEX4F6fD8/vkcf8Q930l0L1cRoe3uU86/TAx86wqbg3+E13akfth4uytu\npxcnUfhapftloWR/vrJw7dsuqvvIRi6ZNO+PbM7EQ9C6ujCS0XclGug9YsNH\nhNtGk/9xBnJpxPi0QHt9S/KlqoGGOubUI/MybgMJmzgvclvRiYrO2HrnsyLL\nt53w8n0pcca0piLjhOFJTZ3IK3Bwdrsb7PghDLn+z8bpnFmzkvRkg9CAMJ/f\nvuoRf3nJbk7rxb9MfYdYL1u/NkIHwdOdU+N8enw0MghZn8NOTesdHVBITk1G\nh0WhdK4aohGM3hvOU7RYqXlWBOfGjOUyiNZ9cyY+Nqq2Gs60cX+ADwsRUhBF\n9dJfn1iBsFOQdATLkiAgggsIyQkVdm+Xj/n2MmnEAhA4wCpXGLuLA7tEZSpL\nhEiBGYdhgTtwKB53NZCd6YwT36nBkuYA2LL1xNtVEjC+++WRxcXt12r0kvDS\n6GOqs8FL2ryF7bQYiqGsIDuWOhuuiWe8m5vR3UOQGbbGj5y/Z6a2z452YbHX\nCRgR\r\n=BN0q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"49eaedc3ce6f1f8db6a6929143c077e8f65694f4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.1aaa68dda.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.1aaa68dda.0_1645040881503_0.38271453159443425","host":"s3://npm-registry-packages"}},"14.0.0-canary.ab4aba1af.0":{"name":"@material/dom","version":"14.0.0-canary.ab4aba1af.0","license":"MIT","_id":"@material/dom@14.0.0-canary.ab4aba1af.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"465ac2e49f09ed22926409ef80c7f2970e15761b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.ab4aba1af.0.tgz","fileCount":28,"integrity":"sha512-UG+5UGYL6bIbXgTLqF2/BbPWLkGjvLdyqb7dUR1SrTC2Lh93QhDL6JtMJeiWR59uOEy6oRuQ9kiEen9eu2piIA==","signatures":[{"sig":"MEUCIQDB5rTCbPxyljZJ5Cfpl8BTEG0UzX6uFdRHilPrI8bbOgIgbqMp5+T08Y/ikFgvPT3p8Dky+C57qVRrjYT344Z39/Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDpDGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrEmA/9FEE/ZIuaubIhviUOrePneh+9CdVH+p4gpsyPFnhXjrjSLe76\r\n85w/EU6BLEaavJvaWAfHaq+ZEI332IbQKEG2sAytAZCuoyTE9KApJn+YYhuM\r\nAJHj0lJXD9oN7lbn5pRP02Z/D/tl/Nrxmg6A80v62+qTfiuoDI7GPn9WRlWL\r\nSQ2f7cuFparBlhBWNntvJsp1lUCoHPcha+s0VYYBbUwwj4y5qH7P5Ym6Bgp+\r\ngx5aOLVjXxUEo+MbDRvIFmr+xpjVxDeSPqPRUsL5SANupgVgB6rK3gFWz16s\r\nUSg8ouUoLkHRM3z696W9GNoTu/mPtf9aROEVXnxdnU1aKb7LCgQDriXQo8pu\r\n5mn/AuEpotbgzP9Gin6RwbIIb0z62JiWYeN17fLDed5NBdNUD5SEoyRDKGp7\r\n8v/WIyjKPgrDp4OmZ/zs6j65f4i/sG9l5IPOZ9qctSeXOqZTWawuhxB5RbFb\r\nz6hIQNVzKin90rBGf45igRKFB2WGj4jirLjLcUP6zKa/PKrFOu4KM0rUOVFv\r\n+ymfIte1d7hyRoA9yW0ntJQe5t3Sp4TSPGmhCa4Cyu15C2YxuVIyaKlDjpjr\r\nozJPrYX4WdBvGqjmt5LA7rpS8uytVKDY0TPM96fVp/aIZH2M0ImiEw5D/gs4\r\nU7iwE+7K2GdnqsHzjhfyBXxipxya59Kzvbs=\r\n=MfJT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"89aa095a35d4a006012f1de893cf181c5725f676","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.ab4aba1af.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.ab4aba1af.0_1645121733971_0.6887254356648795","host":"s3://npm-registry-packages"}},"14.0.0-canary.e58552c6e.0":{"name":"@material/dom","version":"14.0.0-canary.e58552c6e.0","license":"MIT","_id":"@material/dom@14.0.0-canary.e58552c6e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b768c616fa9ddc42d7290ed96c7e5bd0f0d2f6f2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.e58552c6e.0.tgz","fileCount":28,"integrity":"sha512-TWP2j6Mbmwvht1f/HdO0/CJO0U3MnNINmHtbPHYiC56ogGARmyWYOK1k71w0GVbuQcxrXRRNl6TGCeqb/94dTg==","signatures":[{"sig":"MEQCIGEK3cfxMViaEucQbIVih5fpIPu4ISj6Camgp8PVcglcAiB68fNJoc6JF7Ynciyg77/xRF1QDWIwGDj/wi7aG+dZuw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiD99qACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp7ig/+NZBujiRFfoYxnXs6yEoTYCnMDqtW355KbG7SoC5X8cBtyVuV\r\nyInfmNmhFIXSIjgEZWDkR9SXGYDUV34rFKUNpiZfUrRDN7n5fI8JvRFXJ8A1\r\nw42vxYQ6ejRQGJ4G5iJxNxLExOp39RkgzHgZHmXOrVsXbSCJlJ64EOFsvf+U\r\na7IQHTOVN6UqvkRkA1CI7c+s1DqP+MiLTs2CguNgLde+TwK/mGdHNIZ6u1jD\r\nZqfsLGWiWtRcScUd/ILA1CIWysW0QrQHtdTVyDlnrfHDOi7PIbVOEncMmtXm\r\n4gJ4PceBEaELzMlzOeAC0h6FBWkmkVdn4NgWd1a5pxwL6Ii1Us8PX3fDwTgY\r\nox1UYO+f4ypwUqdfCH21BKGxDlJHoVzKM/8ikSdYTQjJVjUEW2yokodYGiNN\r\ncuEh9OkjSo6Ri9D5flJni0wHrjzoW68VDTFOTgI0jZ+kqtJL5KWPw9q9NPoY\r\nXLehwE/IBX64Tbb+IvANc9wzlXbOzsVMQchDtjxDQ9d1CiqFzU7118wakf2x\r\nMR/LDD0MGhJGH2rn2tKE4dr9HNR77dCFTWwRomwEW140GemrJAn5y0MR5Ndx\r\npZjJvrPar5912IEFcP/1DTwoARdf1OqCcvX6X4Ft2XQK11EYGe/LHkCRqSOF\r\n4B1SpQIXb8hKhIIUHZTn7RtZzpGdB82roTg=\r\n=sNoH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6d5c1a026de93c3896f05529594e5b025f79a060","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.e58552c6e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.e58552c6e.0_1645207402481_0.10430678111426706","host":"s3://npm-registry-packages"}},"14.0.0-canary.868793776.0":{"name":"@material/dom","version":"14.0.0-canary.868793776.0","license":"MIT","_id":"@material/dom@14.0.0-canary.868793776.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"73c547112a861ea3d1ba092118bb1a3f174cb383","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.868793776.0.tgz","fileCount":28,"integrity":"sha512-v4nRw16s/NCkA8Secw/Pj/vmbm0EZNQCoQbd9Mw1kOyQ8uV5WKuBy7IlL5EODY6uCzDxyMxa7VMFKOWa0JavXw==","signatures":[{"sig":"MEQCICzqJH+ofJ1RmuXtIQ65Ks3cRBB/pqGobHF8nhiWim0DAiBsF3hnG4y5yYgrO+TyC9TjG5KP8EuGK4w/XnapXf55Yg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFTrIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrhtBAAjOzKgqySwgnBnWNz1FSF+2Ns7DqTQziamvuXTQJCsnUeg4ZM\r\nFgxQ+A+GBGhkB8PeWIUV+53BB1W7ZeyJmO+C0hvhaDMnOg45Y/h23FD+vBLA\r\nVxNqHe+arrzs44z3Vx8HzdSQf6nWFZ+Nn61ZWYKs7dZY6MbIqpiw+NqU6/XN\r\na6ZwVYlt1BAA/LM2Vp1jwFCJtWZv4w4uUbH8M5Xl2wSw2tzNa0SgD5qQzWC/\r\nGkpln57kmiwClskTNgGQ2nS+irODJ/5BVaMuQBOyoohRgTxcopVMuV0gqJS2\r\nje51FFviBfEWBKiQfWkThy4NXba490kRRIPqSRgTjrLwvTb2zC3nhsIPzJJp\r\nPCNV14Hi4xPutGXYdKGIiWZXCUT6vohTHlFfJbHYMyp50jZTmTqcVbQt0+eA\r\ncGUDwP0XWQh1D02UYqJBJmWFBu4dE3Oy8Vqa9rMeIDUpLKI11h7fq6KTmOEx\r\nXmH41ts5+isKBIyFwb4J8wctxxC5e41+91fvVhfCtNeQ0Kwsv2YtsvVJ/T3j\r\nGQACsKW9hLlKC6QjOcr4Lh+ocD2FausJCi+6LHHoVMOez+K44/mfaat977Zb\r\nfZK2k6d5qnLkdwxhcCYicHvXUdfQWp7psJGefVCodfZ0tMYT5aUvT0mwB006\r\nFMwWwCgi+LG2PQdwCITFqB7ql/YCifpc3E4=\r\n=BVyJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"78272b55e375cfc80b8f288ad4bcd4bba3d8493c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.868793776.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.868793776.0_1645558472263_0.6197885965226138","host":"s3://npm-registry-packages"}},"14.0.0-canary.fdc37a445.0":{"name":"@material/dom","version":"14.0.0-canary.fdc37a445.0","license":"MIT","_id":"@material/dom@14.0.0-canary.fdc37a445.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5f5b173f947e14a30b02ae603cab021131423a6b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.fdc37a445.0.tgz","fileCount":28,"integrity":"sha512-m7HFEj6ZUCr2FmMaP7LuXfYNDpa4paAu4mHKWcLk39VMcERklb882tyUlfKMC3xUsCPfrpV5fJP7UfW37ivmew==","signatures":[{"sig":"MEUCIQDTsXplgxk5X/OPyE0uR9YNH35tt8c2bmVvlN0SNZCQCgIgaz7C1sYTQbAwGynvs8cnUDZ0l8oChPtmxVy4LveH2Zw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHRhFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXEhAAmbXS/67CG98OmSH2Sf00GVmEEfpWId2vC66iGSYdNJGQhLAD\r\nW+Gxm3sV6h5rdfDzSWIBz2AzsDoDnXG6yyUzgWiOy4I39vOSCIBoR8jjKym9\r\nmyEe64b0VWsWu62ynHnMlHoCtaXrlmioW9DiUyc+UK28g5i7h4oyMOX+on0X\r\n4zJlXAlcPOIbevDBY+UJTrK/2ekSEXKurt3oBGo9rsnKydm/LrSd3j463WLP\r\nC/zhaWC5W0CBJZAniUMuLN12iczWiCkBe2uqPkeVl3IXKIokAAbkLob4G+8I\r\nM9RObGONS7gxWqkPMIa2G8hV4wD7R1ctTd0qVIKEbHLX2p/4IKzHTWtE0Rfc\r\naBhvVdR/ZSq/bCD184c6F0Wi6TN1JBPF/kSx8/vOb9c1lbfIy5qA4mJtZOMC\r\nByb1E4G3SdFm/DhQuX3JOssNlZWhyti3BagQiRMFa05mFxF3nXqeQBxHyNtx\r\nFfGsGXiHJK5u5Bl3gzpe9vEE++e88dlv2v80Cm2PD6MRQlx0FwKpwr/Fu4v5\r\nKZG6EDDvC8wHgQhyT0AEhPIG9p7FKFubluy941SVSIQPljd9cVa0TAwP+GFE\r\niimZjFbozBGoGK6Y3IJN//uGd5ly9c55u95JiIwLgL/6A1uicoWU5iKbs2HX\r\nhifVu670Qwd1CP3bMZCb34hH7uv7jhXVdTw=\r\n=KruB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5a8fd2fd927d036e44b0b22f48d858fb848e504d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.fdc37a445.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.fdc37a445.0_1646073925721_0.9378869680133275","host":"s3://npm-registry-packages"}},"14.0.0-canary.43c7d87dc.0":{"name":"@material/dom","version":"14.0.0-canary.43c7d87dc.0","license":"MIT","_id":"@material/dom@14.0.0-canary.43c7d87dc.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0dae20417c550ccf587628232533c0507339f3d1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.43c7d87dc.0.tgz","fileCount":28,"integrity":"sha512-W/EGAoXPfudMJT9JLSJsu1A11xynpUZvciv+94QJgHENQMY/2/76j+vh9PHJ1z13GC9RUaHaVw/yq6sw8Qo+Bw==","signatures":[{"sig":"MEYCIQDfWXF4P56Nzr5LUXnqzygLp9JsZG39WhKTh+U6nE5P3QIhAPfwrkNEiJIACMY5ZE+egrFkSrchvWuYsdv3bYWVN9qG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHjyIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrzLA//Qv8ptUTeyEMYQTH0cJr5VURtEgI8HGWKUpebubnWq2+w+VbL\r\nBfojdxAMDnCk2ne0G3R3oCKeg2wSflG9jwQrhVCib+IgN8QMUdivZIA7jO9M\r\ngdlxBYGAwzewYw3dtAM7dT3Y+/LB3+qWKIiTcglcuo0Yazwo+h/Z880sgfEg\r\ny0ydvMYjKwzTCCQhpL5S0s4xItHD0HMU+aPChiYT68kpRXP+aLe+e7gNJ0xS\r\nRggs1I7+jklcCiJ06WkAOn0EEiETrKYI7B9qy1TevAkVxy4tQiYtrAvVOhGL\r\nNSgvK8JzayzbJsedwCoyhWfnZfALQ1QckRC9wSaoX1zO4maEbMkg1P2otzNH\r\ndHXJw1m/mfzj7uBi5LzThpfDk37jhvlDAnpjlYHx19G0kToJqxhfV2Qj3c6v\r\ncytrpYN42QU593icBJcg3lfWeAnJcosSFTOZ7EeMif0Eb17J7DBhqPG7G8ZS\r\nrs/JcqMifb3KjYYkbic2K5nkQxzXv5dk7lpZ2RuaY/fShrJ4fuKG+JhhGnTs\r\n+ENpcebTEJ9RJCZMuWvyqAMv4VyTeaFSw8b4gEAdjHC/LERoWN7rS0PA+cCd\r\nWbHI6hxIvSndYNTCT3NM57f0BLjLwi0ymHDm4lx/Jn6zscsmqtRu180kAX6u\r\nq8/CtOPlBlRiVYpnBgefjZyPDNuoqUVs/J4=\r\n=60O7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c03dfa84e200bc6d570c73762d7ce507d0659e76","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.43c7d87dc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.43c7d87dc.0_1646148744429_0.9564754718649162","host":"s3://npm-registry-packages"}},"14.0.0-canary.23043acd0.0":{"name":"@material/dom","version":"14.0.0-canary.23043acd0.0","license":"MIT","_id":"@material/dom@14.0.0-canary.23043acd0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2151f24ea7ebd872d60d9430202ce379db7cb9c8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.23043acd0.0.tgz","fileCount":28,"integrity":"sha512-18qEPS9ycJ76yqep5Ixhfpab4E+a+9z7VIjmwSWNN/qWOEKN2XKEERPwmA1MExmhcQAumGkQpz9uZTV7onNeaw==","signatures":[{"sig":"MEUCIQDL9RSMLTM5pQ842Zn/inpjlZ5lE49z+QuQ/9qsMx0KPAIga4XjgPfmku/YhuC9Seaf00gUF6U21kpiTL/3xCDiP4s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiH9MFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpq0w/9FlPj5G9oDIszLbaJXvDJd6SSG9dGJTv4o2jGvMsgntYBf+x2\r\nDx8C0MKX3QvccGB/fPYwT9WiTwdOs110wGwQ9bbuL8XI9NdrEUHBbq3y5/Pj\r\nSvLerVhyeNMt8/BaIcopoR+PMrJ8BwaONfHNPXU54v+IWm4OtbWlR9JTS5X0\r\n84FirV/ioNSvL+8AVcqFLmAoSAfMzD94OoVPmwbWGQWwJVF8m8OcgkKqfQEY\r\n36RaXah21s5JWvcmCjPS0edFymxlJGEkRBat4mQs3iVkAt9azfSbcINcEH7i\r\n0f4ek4NVEwMVF4cnUyef8V1jFTljjLc2CHaPP/DscnrvnITOSNJ2DZKuvOa0\r\nWgF/gSA2HjKqMnm5pPf1JpiDGA6vciFFnrLhvQqEL96/I/iIadCwAbGIe33u\r\nQKRc/DpKzYoftErHhQEZF5KxssCs/wiF+1d52fnChBONT72YzKBJZeqj5Viq\r\n4filoszS9uOTxTOdQw7WLS2VXHrck8CAqq9BmD8wfvKXk1vwBuiOGc5L/stN\r\nHLSvhGeXZV6B/xXraYUePgyVSUSrgf1v0BbBArifRnE3jyo+sF+tu3gJtpyN\r\nyvHFZHE5XqJ3/XZ+vMSS2Nk8Tk4dyT94Ave+j3ryd80M/m8R+CD+pMFyrc8J\r\nUN2h9CdmCqZ5hdV3fF9XDiBB/REhcLeNXJY=\r\n=l2uz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b1cfc3908c111a04a69dbaa90966642093f79e86","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.23043acd0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.23043acd0.0_1646252805041_0.9714634003334897","host":"s3://npm-registry-packages"}},"14.0.0-canary.6505e61c5.0":{"name":"@material/dom","version":"14.0.0-canary.6505e61c5.0","license":"MIT","_id":"@material/dom@14.0.0-canary.6505e61c5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c7e30a1051ba9e81e1985c2bf155fad9dffb67da","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.6505e61c5.0.tgz","fileCount":28,"integrity":"sha512-iQCcLhIsffTY+R3CxhZwppwMnSGorMq0Sh1lBENzLwDRI0z9TlDU0PzvCGiKRF/Mt6CAth+X1dk/Ymac17w5lg==","signatures":[{"sig":"MEYCIQCsPqZkEGwhECuNKSjm/jaMI/j1valPm80TAbLLTnEExAIhAMMMJEn8sJskO6U6dcNYkIhRFFeyFVvcPzFQPcFrrGOx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiIR4kACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoNcw//exevxMakCGASq4ycjw2V01MG698kSvbfBfixo6+DLQNWkHAT\r\nDEkraQGZ7epDpuSm5kFl2URegSFoC/+hbJ/ym2lfzyNyXfBmCf6OjNtf4axJ\r\nVv5ImgaHPo14BjLQMTGlpXb+sNcg0UARsZSTB2eZbWwdigM+Y4DwEyp9OGvd\r\nhOYumBthLBZF7hKix8/sRBlWOWmHiO3uqsrRJ509ObiqP8IJxOzj7rjvcmac\r\nYGRxc5AtLGpnlPoUnOA0sNXX/OelnfLrut0bFjgJW4dERcviYbWGA9/ASIUR\r\nXenL2RI5vj1HV/2yDuPbv6VdzzY40z/jjZVuimkTWiEVLSR8cZsUV1O0t00v\r\nNsrh57cZIwl3AUQ3bqhuqZUhPFHTfgY8PRa/wrTKbWLTUCtmf954GSPiWwL+\r\ngY2E6eX0uGBHnShJAZPTiQpyS4bjGsAWol/si+pXc8ykfru7cyg3yBOkIHCY\r\nwrQsz/HoTqzJvfkPEcK9kZH2xr9qvzwkCNp1rHhy/PVt0zOZfdEQ6+rJ+lDe\r\n3YGwhKHm72V5txiHzEV0SJLobnuT8zgBBDR0lXXj15VI6k/wgi/MlH2bdUHp\r\nXZAeumYiDcXLbN/Fgu1/Bqm6AUM4SNjDnvFZc5lIwQXlmIbaXaXB6OWKq7a0\r\n4D1oj/pmjZ1M3Dk4AztA9BhFx4tUkCGZqbM=\r\n=yI6w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c9070f0099aa35dc2460994d2d83a8330b996c5c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.6505e61c5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.6505e61c5.0_1646337572449_0.8599471326938388","host":"s3://npm-registry-packages"}},"14.0.0-canary.16c166154.0":{"name":"@material/dom","version":"14.0.0-canary.16c166154.0","license":"MIT","_id":"@material/dom@14.0.0-canary.16c166154.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6eadfb2e192bea6c278b522390a4f79b50d97601","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.16c166154.0.tgz","fileCount":28,"integrity":"sha512-bwR5XMeFuOZa932lbFUman4wMffrsW85TL03rYCWrBUg3MrktWhfnjaWb3SI4SP/upvu/Arq9/aMwAqHCv2lQQ==","signatures":[{"sig":"MEUCIQCDA8cr3NvLv5Kf0HfMY4RTipgvMNz/4+GCd89DSyaqHgIgJdnCi0rQSXjc7JHdJ+IhRqitG1/o6rmksO5286SlfMs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJ+UBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqTUQ//VUVGTRhNjFwehj0ti9fihxvPjgC+gFbQ+RSL/yK2sUt+WhXG\r\ntfrR3Zow+3X2VTFXVDJ7cdAYOW2GyXzWLF8orr4y+DKVcCwBmrNWdyNOhXvL\r\nKzCkLZb4HZFkxxAaVIkfAnDzn7QYZdGieW7LxoPrhGKcajPnCVUeuwaHqRXD\r\nsCRuej+sMs+iHqKtNgFnE2i7G8laog/p3+ZZdsk0oel1wPCvDBovXU4KVi8p\r\nz6xO197jo8R6GADrtoje3haxDXH87mQFZCn74STjZZdrO93tP/xgLgMloqLY\r\nuzOiWVwoN88dRl3FQ1Xb+i/VAwK2i5uJo4iS9gvEkLo2SfoRySD1wy7L6xM8\r\neDEtQklwdEyHhM/ypCxR0U1fJMHpAY+bjxlajqp+mXa0PYP9MuwzqhlSqOOt\r\nrbuiZStI9lauNlndGUBeLWrOP6nDFfThIyzw3OUf0wkuNMy4L1KQP6qyZqjs\r\neKHlsayuE+gpOcihLoBMQsgi5W8HA8U8L0wZIFLmaXK2nzfHZPGrBWNpKKY1\r\nepkNT9tz/cwEJ6I5h2YBfVrf0NNQVWB0gQaWOSpd8rOn3/lr2CkxW+pRjkgf\r\nZoDPLN8RVydoyp4jYhPbBvIibFciAHJYeeOQ3AGQfVld9uZYJvVdGMKJYp8y\r\nDIWJF2ol0SCOISkFM152+vzM730iJWyjm5U=\r\n=KymL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dd1bb8b4a67220dc0120ba2dbdac900e51002949","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.16c166154.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.16c166154.0_1646781697234_0.4453236292146421","host":"s3://npm-registry-packages"}},"14.0.0-canary.bdf1d3771.0":{"name":"@material/dom","version":"14.0.0-canary.bdf1d3771.0","license":"MIT","_id":"@material/dom@14.0.0-canary.bdf1d3771.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7a9afcda836c9de263515e33946d2648fc56345e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.bdf1d3771.0.tgz","fileCount":28,"integrity":"sha512-qpVOXZQZhuNwbFgpwV0+bbNkui1pCt6YAwb/f0605PFT6tJknYgkexrEynrjSGFDarISy8z2uLX8btLq34ijFw==","signatures":[{"sig":"MEUCIAeiOjY9dVVAzXF6vZldIjbCMj208ps0JqR4GFVN+yguAiEAyFASKHbOPtQlRmk4l9QLWMyeWu1H/Qop70vyoTrbMb0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiL1DcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpcNw//RPVYbUTArbgfL5k95sGHkGClqnCbAl6XGb7P1905LDnRyw7s\r\nGEvhOB1LVEbbNYoMsqp4jcm755YKO4in1YiAvX65D+PC23UxM8rIiNo6qP+g\r\n1jaEUBYPF8BW6tWtcU5fSBxKxMxf/XMfvL8yPz9Y/FLzofXLbVbQBfL4IquF\r\nt73BA02j21pBH+d/lwedKxn7//79Ia2I+57DOqKh9Ivw6WHCKAwGiE+YF9Y+\r\nchhii4NbhwuJMLG15Vtt8e4wtleNne/ZGNkBgMZkzrzJs14Zv8Lj/9brH4Ck\r\n31aLq7cfJLhzyHkvN95KpxMJSxaRvTaOlhm9Bchqp3tIrmsn0f2eigOF4ujm\r\nM/Hh7t2msrgDt8Lddk7RxzyzA+o555hOnVOwYnzw/vpf6TUPR982zfW3TWMg\r\nrIGggUfmV6bkVTGmydHy9TKHhtDrMxNFQ8Km6mv47+lmIyt0Vxf1/j81IS9e\r\nYUVioL8KVnf6kwzcoSW+kcTwdtu8eQD/pQUU+dS3xIat8aVRG2ReuymotQvR\r\nKi/yhvNAwSEqTcGDDUTooEqH4Dkf+G1F+q4DJvF30lYATYVL91uDY3zsQXyr\r\nrIrywH2nNm4x+axzPEG5r0B22zHM0JinNiEOjMC8OgPB+h3c4eC8ak2vIhtp\r\n3KdNRnrb6tLgg9nKqFLkyiKJch6O2toHHs8=\r\n=bUSO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bf598649c7389f49207c410e58144f75a67cc4f5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.bdf1d3771.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.bdf1d3771.0_1647268060262_0.9206493583209372","host":"s3://npm-registry-packages"}},"14.0.0-canary.cf4292778.0":{"name":"@material/dom","version":"14.0.0-canary.cf4292778.0","license":"MIT","_id":"@material/dom@14.0.0-canary.cf4292778.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"25c5f3aed213b0547f9141fb8708f5bb1132bb89","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.cf4292778.0.tgz","fileCount":28,"integrity":"sha512-drBTlWZrBGMVCa6Hh15XOBML43UED4olsJyEgfsSaCq9XN5AI38RqrV1xD24xPm7YfgRN1AndIAxWwLzeBoxSA==","signatures":[{"sig":"MEQCICsfQckXzzZAqoyecMO74A0x9I7Eka/OPiXw/QEZ2/tjAiAC2NoSUpATY4QxCGc76rqF1pLJOaxhNKXAn8Dl9lGGLg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiL93FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEJw/9EwQHY8otQWLKYF040evrfpqGiznRdRWuJhAQvEtl5Vx+HYPY\r\ngtfIEu32ufpLdk60LYFrDlo/fF5YygLChDToOz4CkRnrMceK8CRDD8Xfz/uU\r\n5gmhGL+ZW7eun+8GLtyYCdqW0b/BX4CJ7BWeEOKGys5vI0ceoWoMbNZjfiBK\r\n6iPZObufMa+/RHr277LWGU+m0Uj+1944h0GPDKTPwEETCxHVMVNQK8iLGk+z\r\nIq1gzRwbSPey2LA3MLhQZZTsUde9YgDqjG1xhs9jsxNuAa3OmbMddkIHYXyk\r\n/9VsURXPfaQoviKQauaN30en1ycYRDENYTNrm9EtGt8qUEsDOLkApNkCtHif\r\nnNSrfhVwTRfzDi5aLkpH5MfLOXHu71pmHUTC3PdrR3oomotP1mfBgZcg1dyI\r\ncFFQ/P8Rs8K71QmK22Yduu3T70owaJLclD2KFQC60jdBQsBaX4WpNMK1yvj2\r\n9J7lRtdiQ1TOO5Lmv2ywsFGbvxgD5yC/OzV29mDoA0zmM83E91RFm1hSWwRI\r\nkEeHqPX9L/RdyS316EA48RjgbzhQLVgaHRuwrEtm7uF3TCC9BzO86v9UKfgb\r\nqI/vn08HBC4utofv/UKTHElBxjd2aZf8gvQ7JukYWXeoX3VAC8G2yIiEW7kY\r\nSK9OpEiM3jp86b3Y47FehI/H2LnMCN42OIs=\r\n=J2za\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"85b1d5db9650586ff51d999fc12531d07489d13b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.cf4292778.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.cf4292778.0_1647304132899_0.15293365124161484","host":"s3://npm-registry-packages"}},"14.0.0-canary.bbd43e0e0.0":{"name":"@material/dom","version":"14.0.0-canary.bbd43e0e0.0","license":"MIT","_id":"@material/dom@14.0.0-canary.bbd43e0e0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4d60e382c0937495aa9b4d7a22463ada5f4098bb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.bbd43e0e0.0.tgz","fileCount":28,"integrity":"sha512-dYnopa84LAQ3SOAaojOWEuzR/7mNBVKIJPbrkLruf0bRn1jc4bgPTFXBQofOPxuTwWfqB+hOFnt0MutdMQEDAg==","signatures":[{"sig":"MEQCIGGPeOKZBjstTthjgbnsr/WPt8lVVIcJLs3Uvky2GdqyAiBJLniyYCblZ0qyG1sJEfoLE/S0+jaywC/uNiQPF624tA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMk1TACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqBvRAAgKXpqSpLaCmKb2z6tuGuhMbm74BuJc/kQD8U8ZUUnwp9nlVZ\r\niDucZTXY2asSoZK9e8HRcCm5r6QuV/CaULkXf9r3feLIZgCweYiQ5Oir6uMc\r\nkIZXVXj9sjl64W61YNGO3/upS/SNelQKX1bCAN8se3CV+Z9pqXjYQNYfd9hQ\r\nPL3ke69pXFWUvu3GpE3okPcMEuHmOXGKIEUwR/vhdb7G4FLnawUtOKIlUb1U\r\n75FLD3J1/19GEfX5gwMMQSf6U7WCw2eU46F+fXbeaZQpR7OgZfvtj/RMvYrR\r\nIijo/lOYpRg5chrMur9sygf5Gc/O5+k+QjmNJRmSDcFb0PeLrtVOXIk/DjZw\r\npQsU7wj09fxhx980czLTdCTeTD0TyK8bI+NV+fd+SR3HAy5Xjw2si605gNx3\r\nlQG+glxqkP8LH9kB85H/162yLfF/FSoQxfSKHaj+R8pjUgNNVHd7aJNUWaDy\r\nbyOBuo/uYbIeOdbMklTAl1ZsdRIp/tdiuJvimALjXc6sTjaQnSQWaR2uIKq9\r\nao1c3reDUce5QkcNWkFfBkLLykULK+gMczlyRgFRRia5iVJGc53Dg2c7wxJh\r\nLFrXxp1WyhIxaxfVMP8QqAP901Qfs5X0FugqAjck7haxIMXjLm4YRY1QIjCj\r\nlcDd5crST35IW8sxF6zRzt6dmZ+bMeuyki4=\r\n=CuID\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bd60ebc6c6267688058726d6f98421b0e815336d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.bbd43e0e0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.bbd43e0e0.0_1647463763140_0.5307822649910376","host":"s3://npm-registry-packages"}},"14.0.0-canary.1b6afad86.0":{"name":"@material/dom","version":"14.0.0-canary.1b6afad86.0","license":"MIT","_id":"@material/dom@14.0.0-canary.1b6afad86.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4cbab6f8e89e798802962b129369efd191aa8247","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.1b6afad86.0.tgz","fileCount":28,"integrity":"sha512-a/Akwnz67ZUSjOEVvd4SaDkIeaKtdGrIDhmz5OzgWhVsvVCLs/KZsfJj4Mp45K5mTTlcWmitRojUHL7CzVYhjw==","signatures":[{"sig":"MEQCIF4ipCz1ZBxp6h2dl9flLSWUAJdLZyBMHb4X2I3VWqPXAiBl0XLFg/wRVZdb13OvQ0mtvg/IzkJOMsvGbbgJFKPCSw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMlB9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoDKw/+NL0lepjaCBRGfDp10XKf5dUZmtM9X7amj9dz1F3JgTgb/vOF\r\nTyj1r0mBeHcdPGZ9nOxk1diVpWSoKE7Gz5nFMZ7nN71zdtl8VI6vuV/g6OJU\r\ngPabLnFWS2A8FRuDvHt1/C151GwTzApGXCSocFKd4x+AR+puFiORWiVj1lV/\r\nQUS4zHtMeWwfVHD02/EjKj5GqyP8HmKhV1uZXMJkgoXhORE0AisdlNMkmpiB\r\nviXA/B+JNDzs3LNE1z9vNx/j/kLa2uvNkZsF+iEAf9TZVu1//oW8YijhCcJs\r\no63B2P/yn1MivPQStzx3B2Gv/PUmqQcDu1zNkESgtOBKbOMaM668zXh+dKL2\r\nIa59RZvEwhajwunyqxh+BWYPNvR4EmaTIQrVr+GYqN/OUXGh/l4lPt/3Pxs1\r\n0wTW2nVir51IWkStJJB8Bqn75uACNuffqMpsJjowWl4tv8INEFudL7BztIe9\r\ngePS4pb4TWLjY1XRniq6k7lctBOiDAPg7u9Pcew2/FEJ/h5oPPq3yi658Svs\r\nexeEmhmyncyPlzPdVUkfjMuyqbkJ9gAzkCfI1TxJriXdWjhLVkZnC7GH2vb7\r\nDq+i+lbTVKvCqAyj9w0VksdcC28DTi86O+8SFTDZfgIR7Nb+NOSlVn4ORRVj\r\nd/3WGnyjyDP5qrEwJz4rO/NTv5N+nAz3i/E=\r\n=n6eA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5e32cc72145fa47fd2155c83c81cfa7ba5e27db8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.1b6afad86.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.1b6afad86.0_1647464573817_0.9868929428810496","host":"s3://npm-registry-packages"}},"14.0.0-canary.bdf9d4af9.0":{"name":"@material/dom","version":"14.0.0-canary.bdf9d4af9.0","license":"MIT","_id":"@material/dom@14.0.0-canary.bdf9d4af9.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a881fc6a3f34a809f73c5b685cc99f234beae22c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.bdf9d4af9.0.tgz","fileCount":28,"integrity":"sha512-PNDyCqlUyUSlXJydQO2QGNxIem+LfkU/nSb6m6GmxKIwE9pt3fb6Kohsj9pLQ7RB2a9a3mUgyucP6/MNG6NrZw==","signatures":[{"sig":"MEQCIFUgDU3yauWA0rKfgngk9VB4rGBHJeX8yLiQQRNlToCiAiBF36AwB7z2odFoWuywsah92F50tj3Z3YdMjDEP4QFeYg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMlPVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq50xAAoMVdRh1gvulbYgwScvkdoNVu8aluCdG2+UyA7B70sIRdo+Ie\r\nYW+AAKO+Vb02KAvTV2HPj4WSxts28f6rkJW8KsQXG4FrN3kKw5WObQ8oj5fg\r\nb7GguEnT8DVwsNlit7r/DXgkiVKUFRKTf1A9i01rCtb1UdemW699BG2ubtJO\r\n85wNbJ8oSZha+zjpqMTFpoS7JXxUKeJ9NPK8DZoDfAeUk+j0Zkv2Pzd3fxid\r\nUYZ3RLWEYUJB+PnpZFTKxtYuGSdmNgfTRXCpAipV8sc1wYz5vsYkwlBefQdZ\r\n4Fx3CNQ8l4RjAxsDATPWgkASAB5U+hkT/YNWy4zRlUygN1txu8WA+gSYYdkL\r\nvH8HeRlpNcqolZbH+sM8noT8kYFTFrIVJSaYBjjFnVFZTlUMStppIRUiWvGh\r\n37lkraPPAbosN+39d6J7YJDJh8RtIaKcTzm+US/ye7Una3NqA3XfcoFGgM+L\r\n1XfxiL711U1l0Nr2ipuV6mZHG7oQSU/tTcRRCj7nYwcXWFz+sQgwCyM2M1bv\r\n/5lIse+Ip5M23UWZXVpVEd53vJj3UQBpdvb7VTxa14q1jsXKzxowG1wHxE6S\r\nRdtM3yDUCpA2fqIhTpSFScvkZlIy0lsoTzyBZThS9jQlb8zLXZniMSZu0T1L\r\n5oSHzawri9VOL6RVbfk46xNpLf63ooldSjA=\r\n=rD95\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"413f4cd271111f1b118401821eb4bb38e7fcbad9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.bdf9d4af9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.bdf9d4af9.0_1647465429608_0.08345997987584641","host":"s3://npm-registry-packages"}},"14.0.0-canary.32b391398.0":{"name":"@material/dom","version":"14.0.0-canary.32b391398.0","license":"MIT","_id":"@material/dom@14.0.0-canary.32b391398.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dbae660a2c0de65ecaa74ae6d4b3c66899cacff2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.32b391398.0.tgz","fileCount":28,"integrity":"sha512-H678QjdmlGXm3+ot5oykjlJr9PTyIQu+Z89BHWUiydnPZsHzZBgU/oommzDmxU9DlCxrq3Vntj45ksrHdyk8SA==","signatures":[{"sig":"MEUCICNYietnrRIPSfjTXtFEQV1oTgx/Iv2fN4m9ecf8hUISAiEAreUjTX1srp2RCBzHF0BwF/0LJKotcFZbrnIJuD8Cy/U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiM3bEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoA8g/+PWgaLpZuSTkhLgOeuHFlFzY00wdTxJART6pmxUqTfsZvKDks\r\nO0MwgfZOeSE23W78/l94/vSp06wrz154MhIy6TBxDmy2YKhmio+5kmkI/7kg\r\nuHPVRXyZJHyFrKyuKlGBMA4C3WMYwvR3VuEPCAGoo+d3d0Cyh1txe5bYTU0f\r\nvOFPLXZRoEKp2FAxUkZLeAcqUQuQZ7aUMVcOyMsTYI4s2Dv85WueqK/oub2u\r\nx+7tXq2ezSrEGDvAxjk66TItscgRSpTbv2UA9a26VNI1+TQZomxpRtKSnXWa\r\nFLwmxJc6GeOA0Pk/apuSeeCk+gHDHvTpAotSVc5G0oV6RsIXQiX8EWKGcFhS\r\n+MuxtjhyT4vYWR7syqxioezH5CQbA7gMTAFr47T5Eg2LwMM6JHgUMIdel0uz\r\n2YBgtBni0KgBI1C7heq5hRdn+XIOX81hnQ1xYUrgDC3jzsbN5tcLdZM2IxF1\r\nM0LTTngGtv7whg1Qh/Negvik1IttwWZPdtf8/3nGxeo2EZ3CCqgb7P2wITFB\r\nxdeTxIHz4NzWYv1vRZLB4r9j60I7z+d5jYytpB0szGvttVQY4wPjBkpYktVh\r\nXypL8GXcIJKTzbLTsLbzJ9dOLA1a+q8a2IJBtCOFj9tfhvZMaI9LFbJQGO7E\r\nCJf/HWXSYUVBOR0XOLAuwOayl2s2vne0S/w=\r\n=eQg8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8a457bda7a5cedbfaee9da752ba2dbc093b45ac6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.32b391398.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.32b391398.0_1647539908416_0.9989326126878562","host":"s3://npm-registry-packages"}},"14.0.0-canary.ae8a6a3a3.0":{"name":"@material/dom","version":"14.0.0-canary.ae8a6a3a3.0","license":"MIT","_id":"@material/dom@14.0.0-canary.ae8a6a3a3.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f2ac8f2f3d23e137a560b10132903d66ce305e65","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.ae8a6a3a3.0.tgz","fileCount":28,"integrity":"sha512-rnpk1beRPbR+DptIpk2jSlhK5LdBGdA3upomTiLtWQn80kfH3v4YowycXlJ8xG9KLG41SnFJR6J8LqyEPlRC7A==","signatures":[{"sig":"MEQCIF4V5X6QK0ktKOlPr6KCq6p41jBmb34HkZ7n64DBYV7jAiBs81eee2p4EGQIMU08+FCBoYpaUN7SB5H2yQWsOVPqow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNLWFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqw3Q//VwSXLgdU4YsUe1KSoAq/OOAyaOZeXLwfI/QCGKv6rlGMCrF8\r\njjk2KAVdDBUSpLQOJ1qA2Y1kekSSFN3d0EwxaxZu8DzlLBA9TrOB5hrn8rQJ\r\n/B5iV0hBmeGnJjT5jnV+Uep9+6EVksv/Mc83MtbpdroSzkIr1CqFLBHbNGDV\r\nR82ENHb2gKjT3D8Ul2ffPpmPlj0DFpnnY6VojZWuoPFoveM37X+oEO2DNLMp\r\nsjFbKV65jtSLhcdVBqZlLpNE/bkqPQdSZnhxX3StCiaqsla0Hh5HnVoMczDR\r\ncSV6yTsuK1GgKw7w/DTjNAeQ7zfkrEnat5/wqFdOw106AaGtzkRlNZyrWDB6\r\nJck/O04pmUGPNvI+IOWjZQ/KTyqGLboBiPDv28cDSnaUPwVZN4S+kqGqiepw\r\nW/6661uVoBYHyONHePKIkQDQrZzmshNKmUIpLuZQz3bGUmKQAg5GoTlLBxRG\r\n6ZQfExccDg5YGwS+WlS+9U6QZbPJxrk6TA1Bj/shbFjzP5sDBZOW8vtnSomj\r\nfhRHulydLIdpMm1N+eVKQFS+WtxSPsEa1GpEqcEuYVdRTLeaTCY5WsaYj+kq\r\nqD0Kx3IeTz9Bm9ohYv9B2LfKhFiEOUdT96rzvBfzdfGACzTPTId6Lryg/+gb\r\nq50kaC1cfttwb3yQoc6O86RiCdsQik/btPA=\r\n=R6+4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"783283a1304f941e05b3ef25b9a589158368c595","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.ae8a6a3a3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.ae8a6a3a3.0_1647621509370_0.517185486512663","host":"s3://npm-registry-packages"}},"14.0.0-canary.cbd9358a6.0":{"name":"@material/dom","version":"14.0.0-canary.cbd9358a6.0","license":"MIT","_id":"@material/dom@14.0.0-canary.cbd9358a6.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"95b59ced7ab369948b169f4e080800f7ff55729a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.cbd9358a6.0.tgz","fileCount":28,"integrity":"sha512-6oM/mochHYYTiD208Ohoem3m1kGYk3B1Vygn22CzjIawH5d4uOn+8JH3IUEdbx4zNXKYvlVDPBiaiDaAXRREkA==","signatures":[{"sig":"MEQCIEXajkI38KG+865vjtWdkmCOL+/6AxnjSzddFPSUVOm3AiB445Aa1kmVHfh5ovXlOqXsYX2FnWKgXiOLqPMru3fKFw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNQzlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoVRw/+IE7XTZTCFgJ96jOmHS/PQwrHbX1sMpCepog43gS7rQysyeYg\r\niASGMUkTdToMvFkTI7fO/fFpEhjfxoKv1Zw+qGshGLRAUWy2yT+tPOsjeGRd\r\nHwhINiO24ljFQcopnB8/K2VE0ihJ4ZqBWyaVn+SwkPCrlz5sw0t9GRz3D6GS\r\nkAXKYwZMpF09jY6pf+oyJsKBpfCaBqNB3602k+nf53yO65/7Prbq16djcnXP\r\nYBqNSvm1UWNZ8y2SKuZYb1n36OOACuTqB+TdclniEcmi872aLmDsVzOIc1k0\r\nxlzRkwP+lmE/HNzrZC2jEuUoZpHj127+uQ5XkV0ySN+xNXnq66ekMTzby1Qh\r\ndPH6i8fXWiZZsITD0hfz1CUVwnDulOPi6uxr970FfgL9iqYxVkz9QyEbRiNd\r\nh1G+TY/BOkDQBT9zpSX60K3vjspKzNJeAKSrGs9GGy1EFqPORTQ0xvlcIyI7\r\nBN6L2eyRCVd0UqtPretipExIftL97s698sFgBgoQQ3UCZ4Svpz6XmnThJos4\r\n6M2rBAa7FlooYyD3Q9C4L2MROawfmaKasvNse53Tlql7pd3RCoV8Ns0DzkZU\r\nfAOgP0OcT1+E0FTxFp9r98l5EtfeU+W5v/8WxedLbUF6ilIlcTgq6WfICj4H\r\ngD5h+Y4aiVdmfAY7AxOkBxfF2NUHlbdIGVA=\r\n=YaXd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a4296a048e6aa0c1ab8e8d2cc6cb8321c24dab9f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.cbd9358a6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.cbd9358a6.0_1647643877414_0.9655673272339296","host":"s3://npm-registry-packages"}},"14.0.0-canary.dcfe49c98.0":{"name":"@material/dom","version":"14.0.0-canary.dcfe49c98.0","license":"MIT","_id":"@material/dom@14.0.0-canary.dcfe49c98.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a1bed6232e38f04955a483f1f55034b9273051c3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.dcfe49c98.0.tgz","fileCount":28,"integrity":"sha512-/zukd5aaPQkJ4G6HiNrrCpXRuQm2JUEebaNxoxqZ/ZorP1Knl2hS7/5RdwJwBxWjKW/QoU1qcBMGVJTLGuyFTg==","signatures":[{"sig":"MEYCIQC+IzRkKmsUXGTdlepNtIOwZgRvxSNdJpCPV3QHUWNCjAIhANiZ3+JIYJ+1PvI7ODE4w7b7p7b+Xp+OqhYtnr9ilEOw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOMdJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr20Q//bE+Ykrgt7Vq0nI8TIRz1m72OnUAzrw6gFLIy3INyIc7Hnh1q\r\nGHnLBVRH5KhxCDnNTT4bB61QWoEZojASURk88fN4d57A2bPGwqL9nyE1yDV5\r\n7G4hw4Amx27HsdbQamQIfNp0qmT+o9zC9ep8TMwafDa47UBDfc3OBlhI6+yL\r\nPlPKhUP7YpKjGoqkLsJ5CiiMs+uaPLPG1/WuFBrALGLKWhAdSuXeNM8eKzIV\r\n5NcpntLWCMiU/zRdeOAxm4Xkoc42fx5aKZV5PtvQvQW66s7QyQp/1jEkTLhQ\r\nlMO3H+4UIK+bqXHiPVvO70tHDgAeiw0ypB3H9hYs4oIuey0u4MJ2Tdg2HIXW\r\nALk+7zWEaXFAwlKy4f8sZwEZ3meS/COivFlibeXoJhhx2BV0C8ibIU1KyUsi\r\ndMJrl/87eDnHhLpvuONfA1IRHr9S06MMTvczyOMUfD30BRtJ8FhCENjedl6/\r\njcMqNbLSXBiCcoNhw3vxOv8sHVYIXhwFm6bYi/jVXCp0rPio8dnWrzbn5htK\r\nh9ZL6t2YWVZX+3bkG3Yf/Iae7dlJ7w/+BmwNj8FjK1XvYGYCATu5o/qXoHuG\r\nJtfRY5yUC+YrDlFBCvwJhbYlSHI2CAx1WKFGecrO3s18pwrcVYU5HakwdSus\r\njpLuTmX02pw79Z85cYQUv5ZkD1/ICghBYjQ=\r\n=lnUo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5b68455eaf6aaf2f571eb64a1d8a5edaba58d37e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.dcfe49c98.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.dcfe49c98.0_1647888201411_0.5910560587856837","host":"s3://npm-registry-packages"}},"14.0.0-canary.f31a833fa.0":{"name":"@material/dom","version":"14.0.0-canary.f31a833fa.0","license":"MIT","_id":"@material/dom@14.0.0-canary.f31a833fa.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"09a28c1006ac7c5bfceacd0ccf33a8d5f18bf877","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.f31a833fa.0.tgz","fileCount":28,"integrity":"sha512-sP9Rb8ltPCv9VOs9izuSlxaBOEzwcGG+IdP2HjqeEE1XlXqwxfgETHg4LhLCAYw3qNVQ6p4ydL8otYs/PcxcoA==","signatures":[{"sig":"MEYCIQCwVvcc7FmbpT18982VTyQ6mvZ+5TTnyL0pevnPX7g+pwIhAP/F1ZsO6go9uKJvQTYn2fWgknFcFlbvGQ/te3EQBB5G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOm61ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrviQ/9GUBUgaHli3CRpv6IMDJgX/RLn0C7Ga/rDWGr7y2mAVMj3Po0\r\nUAZzo/eh17ECGo2uwQcvNltQreS0HSEClnmwZs2FGa3ujiPb6hZ/SYc/g/xQ\r\nIqw/wAeTWEuuxFvA17QQU5eeoPbGiLw1q0qPI3E48O2ZiMgka8xJpXK0xQ6U\r\n8XZTjBlYANtRJy6TQ1pclus4LIN4hSQCiC2d+hQJb3pCSE9LklWAf39BNYF8\r\njfH+OkiEu4nj/f1nAqLH938kw+bA7cW7cozqp99Onk4xeEzrrB8Ju2sWFtsI\r\nm1xzXBv0cAP/VDLpfcQQHrXldo4ZhK9LhOAnJwqENl9dJBH8gdSnCrOw52e8\r\nVWW26KHdYAKnwAL6g1g/L0Qih8HTHdo1NkL4ZtYeGCBZLjWDyTrJfphSK0zX\r\n2jfXi9XyvfwGbAX1wURMSlvu9D4SED02RZSMeNDv67Y5/MVcIfF4LS1gGAcK\r\nEf98rf0OakGX0CRoDNVYpjElw+c3XYjJZIm2n5Up7YmL+oxTpNjo9HkyRgPQ\r\npfIrZZhBDLSpU0K+uL8UO8IxxpoOfmmNKObZiHYy6021oGYI0L1DGap5R7u+\r\n+WQFck2JrOnx8PdCiwu1JuZwYQYUV4kj+k4ffhX6lz6OcRlCWzvTcH0wJ0IB\r\nRsWTSMm5Ped/NRmgc/NrhnvZ6rbc3HQ6HQU=\r\n=DI2g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"28572f217366c634964a133bbf0ee0b8e88b8126","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.f31a833fa.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.f31a833fa.0_1647996597742_0.3271805896169151","host":"s3://npm-registry-packages"}},"14.0.0-canary.4b92e210a.0":{"name":"@material/dom","version":"14.0.0-canary.4b92e210a.0","license":"MIT","_id":"@material/dom@14.0.0-canary.4b92e210a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3997f3d671e29d9880a7dde9ac217fa3d7774bc0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.4b92e210a.0.tgz","fileCount":28,"integrity":"sha512-CKy/cKpg6Zf6Ho1GzcCN3HwVjkMUfWF4aeX59LAGGmiXGjSs/aun24aBVlSr6RsVNv2QOXXtY25SO/o1Z1gOKw==","signatures":[{"sig":"MEYCIQDughrZIxxGCNw06RmBwlbMmBZi1oiLayOciCAvadANYgIhAKcpAjUCXdx+QBbv4klW93sRMoqn1m3OFOpP06D5XHC8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPNHuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGtA//Wp6+7a/BJyXIQydTeVsORp1XUblw7Jtfp2Z7NeZQLdsmc9mr\r\nLFfKh295k+kT107nd609d6i+JT0xODztDADAu8BIghfAt3LQq3INZxdrPTRB\r\nosfXv6ahsk3BVfQBNh9gIhRb5hE2sIsQTnkxMfCGX61jyQHIe6DCmNG/bvht\r\nEUmbITLZIaP79XRI7ikOmI5DxpNA/Bd8VQfMRt34Ot2hBQ4Y/y1VVqhjwNM1\r\nK4YPFoZsv5nbw390pERSRKL8Cf1XpmqFiJVRQB9FfyNZnLe8CLrwbTHhwdU0\r\n3LcajU9euc7VRfugrFOTJLbSdyWOSmmwHo3SwcAk5aCbq9mHYiMp1Gtc7K1x\r\nszH+VIMRxOPNO4iUCZivrUikh3Aloxr5/Or0zCKRYCeBrj2QYSsnGAYydfer\r\nWo/J4NqopZhB+yhTg0/kuGyM2R0TxrmVnDXJjZeIj/okCaWHlq5kgcIwtQxZ\r\nYXVoY20QZWYbDZBY0FtUV/o5PqJXES5q4xLqS15kxPp8r6vKJFJF7Fv10Zem\r\nDrrkInbhT2qIhHmWVpn4LNPdJ9fRIlYeiRVM5xsTAO5IOfmtRJXzgNzCjxzT\r\nI5T0QLZGXXd39AO61pTyJ4gq8LoLY6ytji6phNlCWrgLvr0wuNitumVNHYJF\r\nPMIZebzXmIy/8eKY+lOVMP7ECDp1V7uP5q0=\r\n=Anv9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e9fc48f242a1815183c2b4c74ea1f8bb9967004b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.4b92e210a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.4b92e210a.0_1648153070545_0.9245377649144195","host":"s3://npm-registry-packages"}},"14.0.0-canary.a657abb61.0":{"name":"@material/dom","version":"14.0.0-canary.a657abb61.0","license":"MIT","_id":"@material/dom@14.0.0-canary.a657abb61.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"99b17e8ea511735dcbad30dbd19f4da3c1eb342a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.a657abb61.0.tgz","fileCount":28,"integrity":"sha512-BWhyuybWD3EXFDY7dXy3udMk+uNdgj0pbKfBulfZvb+YtxJEdgeEto1rGeEwllRyTaC6aNaZkSHIxcGKOCXltQ==","signatures":[{"sig":"MEQCICgXe23jR7Zf9+cJohXX0nId3TblzWqVeF3Bi5rRoIMdAiAW0qUhGs8eycuRdYGrYx1K7Ty/CYhCPj5JY0EaT/ATwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPNbyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpmag//bVnQhV4zYD8nLm1qBuwYnuDYSLTFQgVt7xG7BYbWvg+EczfH\r\n/lgiI76J4QTSSoAwAWkjHkDKCpOT5W33LpWCI2sd/eiKGDbDeFc1mHFd5OeL\r\nYjOOcf1D8pEXk0DTuePAZRFvjfg3DhaFJlwtB4eqYeAFAuGaBwjC5NBlZWgw\r\n43Sx+iv4DCB2mJzovxx2YlJKIEP+1ynVR85vl5oRVwGknIilHS4tNW4n5jB3\r\niAQDonmzpcmWHN7rR4lQROXEg0wVoXsqGO8ZsQdewFyrKdFrmaJ6pFPN8aVV\r\n6PaoITjZ3ZOgOQ7G7A0md5atjxW1G0zHnxypJioGbufW1BIuQFH+88a2iPAS\r\n/pIV34alaWakroakBIfj7diG8jkSxevKwtCaQq74uu4FcwaPHzveyioa61Tn\r\nEbaaZscLlo9IObQGlKzxXx0blIGPRC4FrpSDGIGMt/7fpS51Tu8WRMhAyM/W\r\nUQJMupi3ptf08D0/UF3QhoRK4VLj24N1Y0stZhrG9K2H7fSSX7xHpd285ibT\r\n+0DnIzR+vuRZoLbazrQuhH07rfRpkcxn5rDqeO+h8nryrCIKcQG3FDl402r7\r\nIBDS0M+aISdXxDyik9TxQyM/8OsxXQhfzkZ8rd1hXm8V+Yi2scV5l/cUrPoU\r\n8wpXcPgblVdJdiEiYwzPhLgstZUNJQLpXZQ=\r\n=eVyU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b17ff714094456afc14ac1ac896e38f85e300743","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.a657abb61.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.a657abb61.0_1648154354806_0.9952054721703121","host":"s3://npm-registry-packages"}},"14.0.0-canary.443f63f50.0":{"name":"@material/dom","version":"14.0.0-canary.443f63f50.0","license":"MIT","_id":"@material/dom@14.0.0-canary.443f63f50.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"09c999e3664409a0878f090b1944bd8aa281d944","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.443f63f50.0.tgz","fileCount":28,"integrity":"sha512-jvyghayj+FMkpBIOpwJTNtHcGygzb9QWoi+R7ZnRiq5iX/5pAysN43EOuo1rnU+rkVlid08lNklPMGIv5mW81w==","signatures":[{"sig":"MEUCIQDNLnnuSTVIjTSLpDMhSJGx6fkMPz9i0iKwVGd9BTjmfwIgLG5iPV17/f3jzwNiGE82cZMMsCp0bj3WlXTxePOGFxw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPkpZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTDQ/+JWdaI6gQYPUnCQ3PuhA6RdvW5+wENraOLhl7OqqjIlFPD0U1\r\nzIddxZzN0bkvrru2Ft49j8tVwvxyvPYgghqA5T4NTUCQgQo/9QqqRAQzYTFi\r\nElMeB6+AZ66b9LzEtGogQfX4kPSkBXlWIoqTgNalYrjG3XBrwK2uknRQohme\r\n9WQPXuzU9aP8TkFZyWIEH8ZqjraMuMYsdpPkHAJMdZfjDwb2MbXdtBaQEVr/\r\n0yKJ7Aw5REHwb4rIxJpHwWfvgqvFuW5DWrshd5/M/8rss4L6FQe1LZcSOhmK\r\nywjero7Oaarv7ZDgqw3IR+B6bvrfl1m//53OsUqUUl102ktzEIDC85ygp+HW\r\nG20Ef7CWYqKB7TBsBM2De3+GlcFd+UaGursBgLx591ALjC0K460nMgPcwIqI\r\nd3mpzdyz4ANdAfx4XhqWSY7aJuqGzLgBZkZRj2VTTfzgbCpUb+douvw/dhj/\r\nbo6Uvh+ma4BlDFt9SgKKnBDl+iG5y9ta57jUYki5YHpleAVDXLTPNht3WMTP\r\nMEJU6Ws5ndiKRBnwBfLW7mnM/H9FrQbWkod/s1XOO0dvgghEEh94Zqo4ayup\r\ncGHOKHhsawCL1ChEKLtQ3GiDGKlMGWQqDZvJaYbA9jW427i9UQppSw58LrcU\r\nRzRFBil78n45hpGto7euBUsx32pvsINbFRU=\r\n=/D/D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0a9e4a4d027bc972dd036582cbc94abd30d3cd60","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.443f63f50.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.443f63f50.0_1648249433512_0.355320374941424","host":"s3://npm-registry-packages"}},"14.0.0-canary.eb382f318.0":{"name":"@material/dom","version":"14.0.0-canary.eb382f318.0","license":"MIT","_id":"@material/dom@14.0.0-canary.eb382f318.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e86951e946480906796bdcaf96d95732742f6ac0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.eb382f318.0.tgz","fileCount":28,"integrity":"sha512-2yozIHUyUcP3qPGfOKbXX9g6lvFKMvYiXtmNj51LvzESyqYgqN9UDC+Qn5evmK/utvqc72r6A9ecRMWuAtWGMw==","signatures":[{"sig":"MEYCIQCKKf3Q05bqiUidgm9Xe4/O9acd5cKtdHAJoZMdivqHLQIhALb/RyhHNq80gSQV/RFtCebpyhB6dytz7DrzAEkRf8FS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQ0MVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr5PRAAgHydiuBW3N7W62kXEqXWUWlpVSH0tEQIxrHgtWHTPzJ51mhf\r\nn1stybPyT6gerBciDe1kvtFAfBHojlIpJdjoHXJ53yS/PPLkhKkwsodzXeP4\r\nFMhLiBDoT1P4ySUC08kA6D6mS3/vc+7r2ndHz7ngsIOmgE7ehfSRL/HuU1K9\r\njvtcidot6Ut8b+WSDKr5w6lenhPXP4utFavoUqBKBhuIqvxDYBQI4IMi1CT+\r\ny5CsTtxDY5mw0tCZsEgBOfArDgaKQX1ptwVNzmeoRdaBewzjODxvnGWM+4T7\r\nXD1sJ2PNUzLtdMZTbJ1mZ9BWfYyL5Zfk2Te6/smkKbJwZbGLsyK8jSV3EXW1\r\nn3eO49tzEuaQR5MzcScLC6f0qB4FkV8xQKESLwcz+KA/1ZvaJB0jfvX/f/ZB\r\nDi6b+2+XJ1DVsHkLMhJgAdur96uatD1LxwF38UZ/7FK7jkaGYmorxvUm2c4+\r\nNr4b/+yT9S6t/YhyUbvNQkbJUMYDGrL7n7dhKhTREEmgFprhSy1doT0khooQ\r\nh85hrC1DS9WIukj9WtFPshVL41roZqnnCSLzUVKjP0sL2L+BH1zYIJ6hSa2k\r\nCCtlbIP1IkNXhM6Xm8gF/kKgZ2nm8ESlrzkO4fG8EY7ZqqEe6XwQ+t5PJ11x\r\n7/KHU6rt+HZ4IRx6uSmmiQQP6Xks7g/4bmM=\r\n=mmDt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9aaa59e82abd1f56fdb3d963213242fe4f989c89","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.eb382f318.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.eb382f318.0_1648575252852_0.4240980333348483","host":"s3://npm-registry-packages"}},"14.0.0-canary.344d52823.0":{"name":"@material/dom","version":"14.0.0-canary.344d52823.0","license":"MIT","_id":"@material/dom@14.0.0-canary.344d52823.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"862ee12f91f31fb34cfe89850bb3c7d3fbfbceba","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.344d52823.0.tgz","fileCount":28,"integrity":"sha512-bv/TtoZVu11dW7KBmxsrqrrjvPlOmgaOM00rUCG6Zrt234W4qEtfpgRPKAV3pg+pN7Hc+075Wjkch3uyZqQwYw==","signatures":[{"sig":"MEUCICfr+pSe0edbbSpmxHX2xY75csebcoOcLIRsnSeu80PbAiEAkbSp/8ToCdb/zmQT5HAYGp1GUb9jdGVV28BRHJ+8I2M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQ1MYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoXQQ//cXgZ62xbUrGlQihHsZDyXDjiKTTfM4gp9VzNo9JdUJJEy4Dz\r\nttb5BmYGOZLorhDv9uFnJ8RBVo9ZextOob603mYtc2YCO/czRiHadwtcDWJo\r\nAMMZhnJDmGanfoaVYESWJHQyt7B6hAT7c//xdmvBAYKI0OjZrp88ezMVk9C6\r\nqbEEZf567pvC8LQpMFyu7oT3xKqC9BszPfXEz26W0cZ3uwvV5P4/wpE+KZcS\r\nHUpQCvCmxrQWqZxV2s4tE/P8JUYWlK/qMjMl4aEEMov6wxvVqWqvaymlwBf/\r\nCfYX/yvYMK2J94swL/CJmkvlpK0kx8fUjKPCLWKNaRKBIBiAskWohI1my8Sf\r\nuv28AkG3tXe/QFMxJbvnH8YqM44F2GQF5n8KGIW28VoomMg1wFtF641dkZ/+\r\nVjVgkgXqDDWZ/mlt/M//c97MKh4cu4jbBwUPy/DsEQS7yXSDY5q5dqEE5nHU\r\ndSUs0EVGGZXrwpmzRq1stDsDbf1uwUHAuR7WDDDxIXvXXEah8BS0vSokTwUn\r\nwcphUCWhe1lefdHh3e4XLd603jVp5zdCbcYKyIRaB+QPB+mnUbohOgOpxxB4\r\nMLZd24JjHKJBDZrz891mbTQBRy/fZAQ8THQOkK8Riv5C7WC8TL8TcoMNmjF3\r\n3dqicP6iE05zTWvJzKIba/0aX50+B5EB4nc=\r\n=G3XQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1d0b3e3b77ca281daab88499a03131363e8ce97f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.344d52823.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.344d52823.0_1648579352273_0.8765573450902284","host":"s3://npm-registry-packages"}},"14.0.0-canary.4e372fb49.0":{"name":"@material/dom","version":"14.0.0-canary.4e372fb49.0","license":"MIT","_id":"@material/dom@14.0.0-canary.4e372fb49.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9a216eb5a8d41e55b7bfb196a352732b0a41d5c3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.4e372fb49.0.tgz","fileCount":28,"integrity":"sha512-pQtMJJnOOL9pwTAsfa7RBLEV1lmG649rdymXjib1LppO4fLdDQGCKgnNGgOhME9CxMtxuh6fyDhN8UO6zH1a+w==","signatures":[{"sig":"MEQCIEiCgacdBn5fAynr/TOyCu1EbUhd4yD2iUAZzPxIslMXAiBr98mI7/kjQqb8Use6gkOfTR2CfVvVovUGoe9KjK7lgA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiT0pLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrbDw//fADXIboPVyg9oPtZ2ypFklKSQCrU/f+L/qAnCBu8pqCaax+v\r\nP5f0t73fMe41aQWAUwrSbAjAYz3oW0s3lcgUrADqxkdV1/p/FC1T2S7Wf/nz\r\nRVl5OhH8Z5pXyKcajXgPj6H+vVFgqGRCh8qkZtX3V8x4D+1m0RSIgsXhR+ke\r\n09Yb72ILLqsIYXZ8lJusoL7QMqkhLClVOAVBcX7GNbkC+DNgCZGrmHjeC3xg\r\nSrTmTHcgL/PQNzc33jvrZQQ1jTUuUoaup9dtShtIz3PwxRQAExPOp+XkHmK1\r\nMAKqRcVMuEfP/3VeKhkW/SrlHKpArYsq1/gsozr/XZfviKQIz/TNfG6hGpxP\r\nBpMFg39AHKdUjm/CoATfXQoua+w3y1AgR/ic+i6iEs3MyG1jE6pRlnLXdEqu\r\nFlLBld7QddMyzD7ONy4NClPrDHy2xcwykmEswFHT20CDD2jNHbymkyauk/Xv\r\noqjJrIw6wcj5p6n4oWp4Ie+u3EYnTMjpOO8NOQkg0aXw2vHSHISr5jVvoeri\r\nlFucd+bonumAiTHJI7x2UEU6/N7njzmVkRiPNbX3nsxG8w1a2M6p05ll6nih\r\neoH8rRYPYpS+qyP9q3GnnXP2cjCc3EEhzH1t6nPFK34WZHFO0D7num//hKjP\r\ny73Df94wy0+9jKEK4WXrub/d1POkddmz968=\r\n=P/Zv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"013d3cd7cc6d83c59581f40ea832529343f43047","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.4e372fb49.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.4e372fb49.0_1649363531405_0.3999553635830717","host":"s3://npm-registry-packages"}},"14.0.0-canary.3e30054fb.0":{"name":"@material/dom","version":"14.0.0-canary.3e30054fb.0","license":"MIT","_id":"@material/dom@14.0.0-canary.3e30054fb.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fe14e71360c0bd7dbe3fb73471861821c02ab32d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.3e30054fb.0.tgz","fileCount":28,"integrity":"sha512-lz7RA3ex0lL1R252srUB2Bk6yFlNk4ExUaA4oQfIOPgy3pCLXHVDerYzvNejtb0JPnpQxQks6m6uVttZS1QAgQ==","signatures":[{"sig":"MEUCIQDAcekxK3vAEEbDYwtiX35A9mqnu+wfJ7PZdz+7904Q3AIgYAU0XZveUvPwkJ45Q9pWuq0fXrO3cEYsQ09c6YCcscU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiV0sHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrTChAAnbjgNyNSRLUCT/JjQFXivbry36VAa4kBDMOI3hXCP+j7DSg0\r\ni2An3T8hfZTZ88oJy2pgQRLFqQDqnkPdcEgpmsVHFrjGXRrLMU8lEfOC7LK3\r\nU3EE/irgploVtDoBcK+SLmePVzxV7pzJCknqxeeQZu7v2TiMfQsJxKK1i/R0\r\nqdh7KDieZJHG4X0KQSODBYx5t4rhFFcHJ1TjlOtX9urNxoUxsN2FOYlOGcOH\r\n0y8+m0rxjJLPGNF/dzFs2tkqLpEJvk2WsqLUDMLyDCkXfgGdtcmPo09vLQP0\r\nW0PVf7vtF8qNJ0WIna5nvI0ALMkIwNMqFnr4wR5xHWTvCmg3cvU+UtV7P42A\r\nKKzM2WdgAUWaQ/JVmx4juDAhMkXPeavnfWBNW430hyI95V+2r7m1Ff0nib6G\r\nAS0R1fxka41tcXx8xrg0VU//KG7rTzTR93RIW+INGpS+AgcFvpyTU2EkDxUA\r\nAcT3icmF70csMosmfXDwNprmP8XgEJoXFTN3TEucFCcKkvWruRHtTI7AA4jJ\r\n1wqxADHvdP5ImpbtfQR8txHP3EfGQ4YIBaG7HVpvnlsaJv7cY4kq/teOuLAI\r\n94xmrAU2ghkgJ0+YqswYIBHSR55CCKlvmLim7DmNWz4H+QgnWyb6rKOlkclR\r\nMZokarke0cj7wQLky2tmfebHb/SZK7/n6lM=\r\n=b4CJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"04d79139861b90bf3488ab3f74e4bc33e6af1c8d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.3e30054fb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.3e30054fb.0_1649888007820_0.3065342317073301","host":"s3://npm-registry-packages"}},"14.0.0-canary.8c4da223a.0":{"name":"@material/dom","version":"14.0.0-canary.8c4da223a.0","license":"MIT","_id":"@material/dom@14.0.0-canary.8c4da223a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7c1ae6a2073551831ec5a253f86bf60f16619e3a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.8c4da223a.0.tgz","fileCount":28,"integrity":"sha512-Eh2v1DTAYTuYpRooPzKBJboGvQlHEVV2V6sXXzKWBe/Wd4lKCUZ5BL3fLGIEoE+1kjd2eyNrjRYNVrNLqVlF1A==","signatures":[{"sig":"MEQCIHu/uaOyv1oCGtpPgDgi66P7AQQGYsCowpHwQ6Y31OsFAiAJAyM33qfCobG8GcEALeIkJ3MKOVg+DRYeZUYwEJb1tQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXtPvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmobSBAAlKZ6r38ApGDMeBSKGFwMea6sjT8vKPr5W7Who85gY9agxKrR\r\n6Tgwec13CV99oTXJzUIWcT4MvAxyqmJaCKfbrAmgUhpdhFe6DIb3Wqg0JheU\r\nOuGHChbiXuG2t2ZiilYEo9lt8u65+hDZZgGT6YQYw6L3AND/wU7vSZ+AxLjC\r\nc4Ri+HTOvsI8d9yha1uTR9GfiK9R0Qlqh47h3WIwI1Nm/mwm/LzwRc7GY+av\r\nRG8fcRT/zippyelFbf/ZuY/v6vSht4kzThJESNVSE8Sd+kmXQOox/xBRb6yP\r\n5iHelzAlJw5+NUaRq/uXcKtifLlFeBIZmz37V+iNF+6UUyzirvhNIGAoA/Ps\r\nwAjrPH8okvv7wcwzI4eg9n9Cd/YN6fzjByK/6Q1slEIYOA1JGK2JFkL03l/Z\r\nXZYD70j9yTZy8TkrCFE0+aWi/uVi5P0+I9DoU4ZMCjxZCpHWUyM64OCOPEZH\r\nCBaTwAvHCZHhrm3Zb37mZJRJOIoxE6wY/ZrGgFUkFe5wxD2WRW2xUshEY9+T\r\n6ffZyUnbZ1YTR/UTJNXF7nB9bqr0QTZT/Y3DMVUgh3j7+wYNi4aPN6kBVvYG\r\nxbEi7z6RB02W4z+NIAiojoTWEN7v5f3n367mSffAnlUsE8uIZP0NBQffhhaT\r\nF/fQp+G5NBbI76f6Cb3zKS7FEA3GcQLr3/Q=\r\n=gVYd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a5f798a752de150dd0a004bdfc90979ab4185d1d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.8c4da223a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.8c4da223a.0_1650381807331_0.38514335583334947","host":"s3://npm-registry-packages"}},"14.0.0-canary.7de8965cc.0":{"name":"@material/dom","version":"14.0.0-canary.7de8965cc.0","license":"MIT","_id":"@material/dom@14.0.0-canary.7de8965cc.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7c7596f56620066a1816c8c4763a536c50bf2f05","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.7de8965cc.0.tgz","fileCount":28,"integrity":"sha512-h5dyHw0fNSdO2BtZnWpUWC5eCGA5svQ0FAmGV7WYF0PeSEo+uB+uqoe3MjvraWGj4QFuTwTiLZ7Xa2EmOF8Acg==","signatures":[{"sig":"MEYCIQCG91a1QQ+Mewkb5WwooIo86fBYk5oxlcG7CNtYF2q6rgIhAMX7OWODETUYDVmhgYKS2hpbsohtN5gL1XriRjU5t0El","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXxoQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppKg/+PbfrozK6j5V8lpHxc7CCxw9wPAfRfxnO1hHx+shsZSo6bw1e\r\nyKefAf1p+u2TT/WbswxgUHbSPWqc2EvtlEWeQaMcD1lJksLz+A7IRWn1ucrG\r\nigKeM7o7enYqLJyi2xt7MWNAGL78VadIBI3HsZNMxB3pwcnMy1vYfBqJ1mfk\r\n+NPL/Db34WdJcx5SmVnZLsQwMV6UWqMleO3NIU0x7dTZVoIKsoYxQZqVmJla\r\nmxcL7i4JnfFLcAh2tw8noHsxHgXmqZB45h24Kk1mockQaxShgz7CqtJ9v20p\r\nsoyDViX9I6zb9FmLlouwXs+claVANqP+kGPq/cjnVMYbaA6xmaU+6A3nCwBu\r\nMa4fKLTiSQcASewXc6UWb+nO4SBwHbtxundCJZM0/wytWOF5EwgbHNbBr8+n\r\nzujlQV96zAdydNP64YG+T1tQKqtGwwMHp5p/uIOGgqskA0toOnIDmRSOdVAf\r\ntGHmTxqnBGrIwJSSW6Imydcr4rQwDZjUXdO2i5E1/VXAYovXEixXrn4uB087\r\nyP4ijn+JT2DF2gRP/uJlDpkhjJyao+9b7KXHOjMzgaAHHYx7GAI1OwHjZNCu\r\nnpUAU9IlQL8ysID/GRxz5/5PScHUYa0aUPvAiA+pzSNAxlsq8dzK8a4C5UqY\r\nxlA+Odt8qlW3j3Pw9qcw4Dp/3yikZ8S3xmo=\r\n=rMhB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"538ae755c197f0d9a1fd3a2cab5000c498987584","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.7de8965cc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.7de8965cc.0_1650399760582_0.5943740006145031","host":"s3://npm-registry-packages"}},"14.0.0-canary.641ed0851.0":{"name":"@material/dom","version":"14.0.0-canary.641ed0851.0","license":"MIT","_id":"@material/dom@14.0.0-canary.641ed0851.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9b9204c62c33f78368f66fba6eb78f8e61b8826f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.641ed0851.0.tgz","fileCount":28,"integrity":"sha512-rb4G5HNZhbYQ6Km/vF4iTIkv5s8q9XAnau0FORPFTFuWFRM62nzxygPL1ITmr9Yjy+j0H9UPfEK8abSOIpuRyg==","signatures":[{"sig":"MEQCIBEJtnAReLkHpEnjco0ezJaqbb4SFaJ3e8liDctqnHRNAiAMvjdvq7noPNBWqkirUmATSsjfl4tJolclNHxOmbNFug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYC8jACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/MA//e4hdgbTdlqzRlF/Xe7kL9UqTqlF/Fi4IY6H5wZSHhRGZMWTF\r\nt107Ve9lAfedBxLAL6KQMNX3uZVfLaKOftCUN2st8v8TFpL5HH1T7YirJRQB\r\nmqx7ApMI1o8Kiy3cOpq5z96UQIQmOeWfhcuTagRFkFEx9zDP3n4ZPpsk6kas\r\nDhm2LcMDFuxv5iqK1hHgeSSlawnio4pxlRIqpzcdZm3JponfB2KGx+A10NIE\r\nOY0XG5Iz/OkoJdOz9gf1fQBVM+TyIYA94LjBzJ4dr/cZ22WSpv/1e9KbRRkE\r\nh1Gd8H3k9qrlpwW+f+dh2F5UUrJAydRyTSSU7e0Oq4KG0osTvrSMZBckcU5a\r\n7ydx5SBBl9W2B/uVFq2lkydMYIvLdwGgEqxd5wLWbuqsQzo5+wG2DciFf80T\r\nEtvKMmLXm9Gtm6Q8r/6nNV9JyonH9S2+qne6X2UV3YRnKazaS2PF79uh0KHU\r\n66SGb0kZ0w1ncsj1xM9Me5gmL0lWz3Xzz7gT7qVkoxGgO2gqGML1XzrbVL/C\r\nzhvW7ZHth/ct5ZJPAvOgSm0fO200KY6zbxU3P0mOloXthBTaaMA71mVBfiYI\r\nVN9ODnXAcmTgLbHAL56THPFlCFU/Y7D1oFuuPsJey762esRqcao7e2aoZiEm\r\npx/id2trx7v9wBd06Eaqqs/uC2PJ3F5zOII=\r\n=ZES8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b45ef0f6764b2048f5027d4990cd48d6bdce11ec","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.641ed0851.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.641ed0851.0_1650470691327_0.00014930590570605418","host":"s3://npm-registry-packages"}},"14.0.0-canary.e88f83024.0":{"name":"@material/dom","version":"14.0.0-canary.e88f83024.0","license":"MIT","_id":"@material/dom@14.0.0-canary.e88f83024.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5e312af27dad6fc7f631864e980a30cc03fab1a4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.e88f83024.0.tgz","fileCount":28,"integrity":"sha512-JPTI7JaTW7lzh6azjGC77z3cTLRvlbk9XppfSkYrw09TbqFrP9AgrZ6RtSW3g+WBpbwYxeK1oINepK1w6u0i1Q==","signatures":[{"sig":"MEYCIQDy24Lh1J28WNvdCwajjTbx9u2j/EYre8j+/hG6HjcLFwIhAPeOdZKkqBHZXArDPWiCDuCYvkRUR+V8w4+VtuP6O4Dz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYEcPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoiYg/+JvyabayV6SMq7xIFyc4z/4o/jWtv8fxiMbbz74sjDc/fJIyb\r\nPAK483+J3BarRrhZryhV9ZN/wwtqZ3rHvSFW1LfJznlzjqVpgh2P+JJ5a2vb\r\nL+DiviHWbarCrEUBA2BtddrxsOtRdeIsqHseHdoUJ0/KJ4NiMcxNujMb2vLS\r\ntUc4saxAMU9I7B0Eho/42+m1TodluBmzUhs9GnUpMG8F6slQ5kbIVAU90n1T\r\nWCVG8yf2QOS5f5QtCLDipECYEiJiHAQ/LmliJ3cYCAeZILgn0ndWw+QWCxTT\r\nwX2hZ7QLYadK0Mjjh6tlvkYYzPhEDjOWr2utIKut+sMQL0dJX+G8I5b1aihO\r\neAirzdVT8PpTxFHUgRALOE6w79h0xaSSlcHt/Vt7rCpwtmUXl3YgQL8Il8ma\r\nCs5OwaXGgxhwnKhPnOUwumNBNmAPhX9OsnpGceA9OtgSCbM7HXSt8HcTvpU6\r\nbxdbWVqqT5KeETb0x/UrHezzHuCeGSkHgKZDIg2mvSLS/hSzObrMZqD/ZjbX\r\n9Ld73Jz/v1sJUHsvwjL4V6ricQh5fOwufE68zr2j7pmnRfc0yFzALSisHyH4\r\nTpsi191cZE78QBkEcU9NEkKZBDbHBvOHHModUrS/RthzOlFToRs86fvtE/Lo\r\nXPmdXTIoAbsBX/brmepie6UBMvzYihW9lcY=\r\n=HWKF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e9fdf51ad2ddd3dba754b98348bc356126b5640e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.e88f83024.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.e88f83024.0_1650476815728_0.9634701056720143","host":"s3://npm-registry-packages"}},"14.0.0-canary.7321d6254.0":{"name":"@material/dom","version":"14.0.0-canary.7321d6254.0","license":"MIT","_id":"@material/dom@14.0.0-canary.7321d6254.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cfe18186c1aa3945e598833242798e381de8339c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.7321d6254.0.tgz","fileCount":28,"integrity":"sha512-CkmA04Kan/LjtNl3loGLzCCHNbMkkzpmdKOhaIf8MZp/VpOIqGOcm7K3S/p3SixnDAuSsCZidugDIukrw9p00w==","signatures":[{"sig":"MEUCIQCtW/0RoohlH+XqtNzR7KXTLilsd7+gUM6z3IXjtWPY/wIgR2xxO7wpFnPLMPGpNFkcHr1HPEDEB5D33yV1brqR0Xc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYGi0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqBlA//S+LVQ5FO+BHO3l+x4tB+apB3jnw1QjXZcREeSADmGEHxctnJ\r\nPb1yz5W/uTBxB1LhE1v+KE7b7cMem2uWPMuy4Yo0hd7PlGHFnbNNYDpk1Hyl\r\nLRsIKyfHHuRjYDsqHy/BZKbAI6bXFXwq19oTIIfSkgaFsHEtHah8jYHcjNoH\r\nTrRkiGN1IfGfntM9YfbHE+2xMMPmTuBSreFBBTAK6TlsC8hOX/m5NBpfivrc\r\nIaZdfdZcvXqizZPjeetWZ7XST/4OGwffRR5ToTT37QDOFvGMqHU/crSuzJ1S\r\nfyKRWrdBACD1NeaRGcx92SiBumu+iTnb7q42/FRbwNIB06jDh3mBz8T4AKK3\r\nrnLVW2IyjFfsR7VrBC8tD4gKDyNpW7pE6xLv6G3WDf7D8eJnifKeJtZgV45W\r\nWttUv6HkJeyz7ewODNelt4tMVuSriM+YW9xosrCU/Usj/7OgnLPJ1uPjbKaE\r\nvacfEHfRnXnx6b9c9KvNU6iTl2XmMJsalreIe2DhCcrUixCDsBNLU7H4Z3IK\r\nr+z45b9bXFRtpLp3+TjW+o5drGVXBryAbQEg/n+55fci9/2Q1bwfoIEdhfWf\r\nDBnmw+eWsVDB7YJ0y+jnmjqwvyBj88R2sPRGtGngq6WchTYeYOZsfp+tWVzw\r\ncx6mds5qMKRZbxC2Sm1XygFEqqAtnoASpRo=\r\n=o4sC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"981be270463043c4b45845cdc3efce353eb53b30","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.7321d6254.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.7321d6254.0_1650485427948_0.14288898131951955","host":"s3://npm-registry-packages"}},"14.0.0-canary.3ab956515.0":{"name":"@material/dom","version":"14.0.0-canary.3ab956515.0","license":"MIT","_id":"@material/dom@14.0.0-canary.3ab956515.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1f99c8d42e19f539649f9690b6b8f1565f1a4a65","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.3ab956515.0.tgz","fileCount":28,"integrity":"sha512-XZqyocRYe7yGm6wY4jSa0FT1yE5u6X2VxrqwlBx347gE5b5N+iHlEPnzskxq9+7cnmCPWpqRH1dJgsDgBZWLJw==","signatures":[{"sig":"MEUCIGOFV/S/96u7ucIki8tppSqWgq+nct4Beb4f51VxlJAIAiEAryrYRLaZT1LnSOSlxi3xWOp411SpRBbNk3k6vbmOXqs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZreyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvhA/9GHRyPuioHZ1VDqKD0vWz4wBWAZHsh1Hjp3OHDqV6MLlpXq+J\r\nV1cdi7qMxAKBoiAT3j7ofHEkoOmF2zP0IXSgGEsPjIwKLigoLP4wHNXw/VEk\r\nPb097jmLurAEf6ld6TG9l32AsDeEpXeHW3OqK+AxBguI8GGCpCZopvtOAZUu\r\nS55G/Np9NV1LBt9rdm/xwBkVS9vHTo1Cr1iSB7KFwl+XNSpxIginFGUC9pLZ\r\nd6QLkZbA3koysJUxGJSepNp+HdE4QQjWUJKVp/SlWx3wCElhlvVlxJRWlwSo\r\nPZZXlX69/sqnvxps8/aVTrvubf7aXN9XbZ3Vm62I6iEsHLEVmW/0cKeHKbVT\r\nNYNBVbpICxe5V7UoE/7V4jSohUYMioBl12M0DWP8/x7UkHv80/RRuISA6ldp\r\nG0+LXbty5NkDJMpu8DtVKZWCrlLfAkIdCFqNJSsSbN22svNNUGtzD5DAHBy2\r\nugEIY6/9b+MofnVQusjUqQYeoLVdcYDQVJWATuRTG5SF0AIGqWCzEN6KtZ2g\r\nMNJ+1lKgKwg0No925BKZnrQf0waqPeMwmjTzsEKkpSm+CeeA+V3enDt5PlH/\r\n4skZz/p31WTfzJDZ4b9rEkylHodpln076XTYkNyAPk46Jzjt1a95/SZyBYyU\r\n4Elqi9ha6IUh+fKp0DgEgMRoyX9yCgPjb4E=\r\n=bTNP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a09484c5e8d50e8b042d5367972a9111e0432c38","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.3ab956515.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.3ab956515.0_1650898865956_0.7586351175014332","host":"s3://npm-registry-packages"}},"14.0.0-canary.53b3cad2f.0":{"name":"@material/dom","version":"14.0.0-canary.53b3cad2f.0","license":"MIT","_id":"@material/dom@14.0.0-canary.53b3cad2f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"55613a2bf3d0ea64989ad77291f053b607256012","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0-canary.53b3cad2f.0.tgz","fileCount":28,"integrity":"sha512-aR+rfncF6oi2ivdOlKSJI4UXwNzWV5rXM88MLDoSJF1D7lXxhAKhge+tMUBodWGV/q0+FnXLuVAa0WYTrKjo+A==","signatures":[{"sig":"MEQCIEBx5+lhVELHihOsZYYbMNksCtVYQRF+752zi90LSOvPAiAHx2N0p9LlRz52Db5uIwD8hv2iY3HmKVQzUp0LY3Pp3A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaTqvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoBBA//WP+cEF3RGv9rzboKdn4FyRetER9NuDRMdM+xMQP+O4Pzm8br\r\nby/UjOohc5nUa9tLvnCRPEATTnmrXr2plOuVOmAsf0xYXhj9MRamehwjInIO\r\ndBgBuv1mzJ/bAZb9zktFfpQ6Tkihnr25L2afeRwcE15D4pZJcQAS+DmPC+8U\r\nptduVFb5UFA+2U8IQXBDPCfLxrLx/xhsN6NtfRz5LsNfrJZQQueoIkA+tZX9\r\nfruRwkRWwD5mHD9gLerFKQGnXP4ytEKVovcIHvCfde1d9GCKFOfhKJo2o5t/\r\naOFpj4GDISOPbbcHWvPOCmMDiw/OZ7/LWVjxVDL766Tz4kMu1NPyWfjjtkqt\r\nsGutmz5d7rLWLU+a0hE4fs9zJ3BMrfYjtGjoz0ILdYENJ+ki0ilX1MeWaOXx\r\nzyeVZvQuVz7jjvHCOfEPWLISWnVA1G7lVB62K4/lEwCSaJL4nic2tkuE6QcM\r\nIpT7TksejxCjI2Sbfic3t8sacCpdvoShJz0TZncZ6jooMRhlI2hoom9hLQf0\r\nniDr9H72rsEiWecSm1feS8+9E0983cW/kvlz4I8eYpYklnJWOLEC5b0smUU+\r\ntvkyUHQTCJMMhakk2BbVjzeFDr3TkJ1vPHYLqUpUJ9OrqIvZ6YJd/DqhtJwA\r\nOYwVD++ap9VYZs5UEJlUejx/LFu6rsPtodA=\r\n=j6Hw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ebeda2e23436103241b0e82afd57b60f74599133","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"14.0.0-canary.53b3cad2f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0-canary.53b3cad2f.0_1651063471393_0.6297269639107759","host":"s3://npm-registry-packages"}},"14.0.0":{"name":"@material/dom","version":"14.0.0","license":"MIT","_id":"@material/dom@14.0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dad6908ea26f7cb21b1078f58ec04bd897c615c4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-14.0.0.tgz","fileCount":27,"integrity":"sha512-8t88XyacclTj8qsIw9q0vEj4PI2KVncLoIsIMzwuMx49P2FZg6TsLjor262MI3Qs00UWAifuLMrhnOnfyrbe7Q==","signatures":[{"sig":"MEUCIQCF2nZwFRIv0l8hXt4IBOJfoLZ5bI8VKVIh21lhB3cLPQIgMo5pscTtBxO+soNCroWv2EeLZQkxOEKiiNZEQ4d+A70=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112738,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiasboACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQkg//UwWrHQerrbU4jc81hyoeEfX6g0ZZ9k6Fny73NwjlfFyYFopj\r\n+8IZDpQxYI6vuIt4tYky9yv//DY0II7TdDIRans4uIUuWITl3/Qt6Pn67pT7\r\n2O4tpYO8UbsZwBfO2bvMmpCTPwsws2EFJ/mOOYkmngCPo/TnBOa0w5QZsdw9\r\naxdx+tBP/krKLDO4EgHH3BstcR5lZz8j1DDyLoI/caRCHV5aKZc3q9xO+tnF\r\nP6NuSrz2f5EpQZLGghD1Ee1OSvQBRQL3S/Qi8TH2rODr2wCtQmauO+Qogeg0\r\nPcXiuKWVQnNkfKxHTlrc2bFNOEF4LpRyJgGd+JcYtriti+G49c/AXIqVvG6J\r\nxz3tfuFyhSyAk36e8UtGQAggUr1F/2MdLCaWr12beUDVRTiEhSAZbTVbC7rR\r\n8/pxMuWk2r9U+ze3/zFejHpta6cHK0fA+p+tyxfDHlMNj4dbWXPOWCaj9nHv\r\ndVVm4dfDHneDIraF6yJohjAmWVQswXQRH8lrlxYPyNAjo+HWdSm5VZSG4YGv\r\nLdYlfUglYbU6Jx3fBvo1W1OjsidyT6nQNNFtSwR8KPc8SbcezO+xOujdaYHU\r\nuLaZTYBeGZ82jNGaD3Dq11EsItGn9ahXuVRgmDyIeh8vCU4WH64Ra1K+5svC\r\nZMv5AAN17WRViSQxndQcyaVm0k60r792X0I=\r\n=NFGD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","gitHead":"432c815e58d61a257742836f816cf95e271e6ea1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"^14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dom_14.0.0_1651164903962_0.995630129642636","host":"s3://npm-registry-packages"}},"15.0.0-canary.432c815e5.0":{"name":"@material/dom","version":"15.0.0-canary.432c815e5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.432c815e5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7d85ac8ed9907b2370ad7f5d64d16e363b0070f8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.432c815e5.0.tgz","fileCount":28,"integrity":"sha512-KZWZnX/l87TACDxoU4ajFi0ZTHtQuNFgMa7jzK8ck7CoRysi3I/7HwyGlpjYdw/ZJ4s60sZTX7deQQ5LP2gp0A==","signatures":[{"sig":"MEUCIGsAZOFTIgm0RYA9mA6uN8rFDHEsC43xzzz4ioShIT4NAiEApyB0CTJtvAKVgOC29ASvBHQpojfD5DuPx1q45FEAESk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiascqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+DA//dceHeJ4nh8q1xyBzg7BK0tCx41A9Lg23gAXqVMYWHjQM7Oiv\r\nTpA1WpnZPrfHCA9ajVfq1V6ExEGMG0PMm6lT+s7cAoLzGDHdJfFvqcrYKAhD\r\nPrCSOWMsnClbLm1E3b+xZpuSMgztk17SoWur+77rOCa/gOlgZEEwwV2vh5Q4\r\nIMlrd+QDeRdxt5tsLrWj+klmisYUgIJ9KTRfXOKH6A2AeW4b3xP/cKYVrrJa\r\nujwv+6s4QKHJgp6qMuG0ue2IUpQij96hX/PGSv+ZO+Rk2IjYaDnoU/WuNgJb\r\nNZiTqnM9Qcw5r8SPRIxjnmujWw8lYHPdaXWS36Yahhb0Vn8ny4S0NuVQnFTj\r\nNl395vmENTyiDY4IOi7iHPXBGzKP/6Vo9CO5yI++KWc9b48ZqMT7s/4k833l\r\n05aEKsVq+CxjnWPzStQv6mN93GvVH2KQbQjqk/lmfIakhmA8ZZJsmM5Oe2jj\r\nNI1Ojo8Vb7r5pPgrc32QtwfCEXv8V+RQs3yTKWFDRzhdTFhQNQpbfTnlkPjx\r\nQ4SZQzZEtrxFTfZ42TgnnSXVDKc6q967oTflaGLBLLOVvGOLisYVWAzuhD6z\r\nTmEGmdRzWUNyNzEyDmaDiKGUmnzRLrogKtvEMS6l9mRIZanGBaEMrwnMtdZx\r\n+Ymy7RLjAdgYetpp43YTf2Uzqh9n44UIEyQ=\r\n=R3Gw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"df8af7a4f190284cd9f3bb1756b2f443509424df","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.432c815e5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.432c815e5.0_1651164970457_0.9827337366000883","host":"s3://npm-registry-packages"}},"15.0.0-canary.a0f01f669.0":{"name":"@material/dom","version":"15.0.0-canary.a0f01f669.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a0f01f669.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b8bf12ec846da30bd78046d0e52e46aca8f9022c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a0f01f669.0.tgz","fileCount":28,"integrity":"sha512-noSAwc6jSqmlLGLr5cFlOXT8Ze8Ijq+7AErApdrZR2XStceqB4VpQSRnoaUhFOvUyBYTCQyfsYL5B1Qbiw8Lqw==","signatures":[{"sig":"MEYCIQD1xZNsUnacW+/Bsb8AJZsXB/un7tSU1kd3XudNnZW+vAIhAPuY0O4q9zLrPXWsaD24pspz9n6IiUMdFlwrTcJnt++q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidYGCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1RA//bwOnEV3PANfb/WU8qEslwagBZ3Jws891UQwAG744eoTuaGgC\r\nDDyJLtKJjmZh7S2ByGz6gvjxB/eFte9pZs7NB2t9PSGlbfCHhyYvMhD3+ugS\r\n7yVIhwdu3eUKWtEfw3+fyly6Sd6U8IMIGcL+fD1VtZzbEWWuxk9VISUEuL2m\r\nuPfLc9T3uMFHpUktKSdm0XQe68yF4/uHmnCEGJCpNaKE/q1967iqzRj7Hamn\r\nfWIExC2+nTF22B3Y4jKzxLDogJNx9EFmifJ0FLYnFt+YJpj71/cESAnW/zl7\r\nh7hrJ+/LryUTA6puYAVM+KEQWD6lxouwxm/+yB0PE0DpBOjVfKHl8GsvYvkB\r\nNzcWqn7wQmtEtG2bQvEZzpWOjtaOs565TAViwCXmsTsbxJDZ2vw9+qgs+/UK\r\nwISuVaSvCULu0S0kQTZuL9yvl3dv4YMeqjU05+TFo9Gaodgp1qdw2vm4DSux\r\nyASnjBzLljNLVqHoInLrfnb6v+UOP3TJ1j4YRRN9z90V5+LaJT6/EGio6oU9\r\n/12sCMLGwFYKuc4JWHLBQ8rn3Rw7Hgjaf0cbkpipZ00SiiG6AfFYHbg3ox7f\r\ngp8Zq2oXqRqcKYint0ihC0Nkchj6kXX7Icy6zY/pzEihcIFkCedQMYsmd9vz\r\nI2fFyqQs+cr53uIGDq54cn3+vYbWc8yq/VI=\r\n=zH7d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"51daa70df3212a8d73c545c86ed1c57273d41688","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.a0f01f669.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a0f01f669.0_1651868034304_0.5605420380952815","host":"s3://npm-registry-packages"}},"15.0.0-canary.276cb39a4.0":{"name":"@material/dom","version":"15.0.0-canary.276cb39a4.0","license":"MIT","_id":"@material/dom@15.0.0-canary.276cb39a4.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"904b92ecd89eb7d7d0a9bc0620d3239649625181","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.276cb39a4.0.tgz","fileCount":28,"integrity":"sha512-c3Q2ZAhN6yPlmH2i5rfLVvcm1HaTLOD6b7+RGHc8ANPD7SnOoi9ZprBeMKrHkndSErsXAcgQiJZCIz1HWxle4Q==","signatures":[{"sig":"MEUCIG3tjM9156oSz9DJSny4tsWC3XllN+0rD6hMx8c3Gl/oAiEAm+HG4hvyR2uWw6EeSK0DZJ7YEx5SnBFv/x0DEYrtp/8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidZOEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrm/w//Ub0PQ664a7umPpak3cIRSCMjcUVdfhCG1ZxiiDQ/lSigWbSm\r\nPkJJ1hsIvZJ9iaM0UFxrC1iPoXrAzIJufMM/vUeplEwDGhk+pwljrlaPXX84\r\n7h6D/yy4l42yXvAHbEHg2h+u/UaPu/93u5fnrbLGaBpRZib9M/5vFpqxwyh4\r\nreMgRQ9mNvdeUCuZhktrGZLSnpzjq8McGKvxhVCZvDMDbv6iM9EgJo7MuOTi\r\n7l2VjTCbYSJo/yCJ6QerXmJmOXvBBAt/GWyX292mwXNHHlmB9twzNUkgWee4\r\nudyW7mx8KtOLXBnwDHqLQmLbumwt1eCvo+EzUcsNPdJpfIgohWecUYUx7lR4\r\nW538f4l9yeL5PecTtDZtFPp8qFYlkdX72X/J0FwD32Y1zz0gMtVgbfgLZ4l+\r\nG3GYAZFUS9Z1bat9oJSwyVwvAzzD53dwNXWgP4eD0VIoIN+pkW73hGblUriw\r\n1IXQKKrijmOsIIFNpNU/f9NYe0imaPv3NMjyGxHz47EPdLGnpzQIzT5qN22i\r\nVGBUmlenM+W5jbG7Va6TOZwTWHqwjREykUccn+3i/XHGRUIXZzcdGf295vzC\r\nvsxsgjvfqBg3fwLPjx9amg4nJ39dbts74r8rtw9BiWor/uMhZ1SoAJX1dwKB\r\nNnGGZ/JHaY5W1jJaGJyUaT5Ua8baMZwaIN8=\r\n=zi+C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c57cd64760098925aff1fbf0bc2a73d32dd2bed4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.276cb39a4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.276cb39a4.0_1651872644412_0.9663372857941654","host":"s3://npm-registry-packages"}},"15.0.0-canary.4fe98ed70.0":{"name":"@material/dom","version":"15.0.0-canary.4fe98ed70.0","license":"MIT","_id":"@material/dom@15.0.0-canary.4fe98ed70.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1cb1087c69ff669663cef9997d229c5108062dab","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.4fe98ed70.0.tgz","fileCount":28,"integrity":"sha512-Vkvbf+wt6TtUg0bcbI6IsTfwz2ITXi/4L1ku8a73m8WLCAcj8dBCZw4tAStWlehvt/BUzfeTEE/DiE6f7ZvaSQ==","signatures":[{"sig":"MEUCIQDToUv+O6y1yMBpKWUhHOycofejNQBnapQQhbFJXqQxmgIgWTHufQGGwDXO9M9QNqVY59PkswnNX+LJinO9Lv5UrGs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidZlFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp6dA/+JPX2ayUaO33KMyUaeHl6wzBo5SrqcT62BPJ6cU/sVlY2LVHJ\r\nk72M2MSA6gJzo6SFxWInpyswNBwo0TOXivTzFp3f8icTXLgSYgxTRTe2jvdY\r\nki+LMomlrAeVoGhV0AkO9gJOn/DLl0mIqEnxq/r2py0fIAWdM5pAgeGVbOjF\r\n8palV1GsfatgDFf0jHjmcSPK2zzyV33eqqV5hGBX78KpIah9vRqh8DyT8y9P\r\nT0AkmQGxiL1RQLZR/x4rsYfg4bxljxm4WqJrDUfgDgffDd//cmX6Kl0kxpwR\r\nMW+0QmTnt5SMbqGzAzkAclK7Qpzv9RA5H1FJGeX3wNxgUOKGEm8Np6mrpJez\r\nDxa4GEM8hccbonjoMQ2ZRM6HIV+YrEtdAxeoP81H0j82wcueqK5EBS361c3c\r\nwt+IHgAOHd1hXzyA0l4PAN2qnhMgF0Mb5PpVQh6n1HMuxcTa2Zl8g5XqlR3d\r\n/7oQ0/gzFNrjYPgkSxqy7qmOxNjg+IZpjGoSmFmd4pJhtLPub+/I1zVJ/Tvm\r\nZGmkJndw2+WSIvXnISvZ2buvj+RliHdTiDc1uZfYWK6awOa4pnjz/pQvC/WZ\r\n5id4qE6CFPNUmp1ToSb7Z9nDY940d3kqINrX0Rw+1TOnkdTSAW6qZiboQn3B\r\nJssc1dgyEXoJ3gRR5GoNpJLdPLDD9hKW0PI=\r\n=YecS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"353fde061dd090ede4416fc2477bc050587d6367","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.4fe98ed70.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.4fe98ed70.0_1651874117366_0.17874647938638666","host":"s3://npm-registry-packages"}},"15.0.0-canary.58b130a3d.0":{"name":"@material/dom","version":"15.0.0-canary.58b130a3d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.58b130a3d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b36494625be90a906eabe49aa3a660d985d35e77","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.58b130a3d.0.tgz","fileCount":28,"integrity":"sha512-uUTHbWtMXSfco+sB0lVV/oMGNAUzUAHrgGxulF+RCenwMmqm3XpM180qc+6bu16lnteWfpFanroyGo+Zl6IK+Q==","signatures":[{"sig":"MEQCIGcff5iEWpKiV9rAyHRhc7fVFqzEvRdXPn1RQyuALeIkAiAJGa5PKuUsplZn5Zw47wNJiJNfBHPngnkfC8yIXIwH8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidZnQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp7pRAAjk5YKfl6zHVLPV536vbYGYfEjM0gojcuicLeiX+QSp9OBXKP\r\nP2FU5EPZe57EzV3EP+Y9LvPOUmoOnjzCZTuxmZkxfQ3TKXWlcBreuAGjGgs2\r\nBAp/qL5zNPQjcn9FNk7HdBNdCKmhOzqFxogxbWPm/KuIjrvexeIWBaSk8uD7\r\nz21RdVUKLrkRJVLDQeTWJl4QNxoH717md/sRE/tONmvqcW3BjCVBCtHr0ciX\r\nU0yxnzTdHeACq/HxuFmWYG5MVcVaDP1rrDHBctaMm6MkmdiQk7VBhDotthhV\r\nenw0/o2OrUVe7w85jD0+sr48q2a1mC/E8Is1A50NcLJfVyhtygRbZkD8kQU7\r\n+pEmfrrBM+XLKa4npUKsQXXRJgOVXHSvv9vk3sD7qTtDwV+961BVDvdqvH5f\r\nxJVoB0QuUMkKsy8o4U7GtYNJUYDWZ4IqOIDhV4RrVrilodwLsmRAG6eYWCIC\r\nRBqVj/c5k6VdQQx2pltt046Khc8aHknPtiUSSV/BheOS0l/0IqDBlek9jg0L\r\n+QZy6WOwNNsU1z8ocFWT4tOPjeIcBt3IhGX/9Qr4yWGKWRlVvE3Tq83OqFQl\r\neqyOgyAKreojVzH7EQsx0/+GUaUDkn7M8g95XqlZkdciX2b8Ae/n5IMjCZLl\r\nLMqjztJL9T+ZkhzSL9EkC6PRJQXQWtCzyOU=\r\n=srJ6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"58c8ada7946689a0a59acd63cbd49b6c987c9853","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.58b130a3d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.58b130a3d.0_1651874256445_0.7549762224891072","host":"s3://npm-registry-packages"}},"15.0.0-canary.ae278a2fe.0":{"name":"@material/dom","version":"15.0.0-canary.ae278a2fe.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ae278a2fe.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a8fdced51302a014ffa63b920c1ebca0eb779355","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ae278a2fe.0.tgz","fileCount":28,"integrity":"sha512-n7z5xzDMA7tZuLrwPJgyH4ePRc492OUmp70nAjWhCNl9kak2CNcf23t5jzs2P2P1Ka1LifFzuYT9kpYlWBAbIg==","signatures":[{"sig":"MEYCIQD133aDS1A8pMn+3L9a1+6WxeC7d6TFkDWYzzRu++rR7gIhALTtle/gzGCYazlhcBMdNsWgBiYPrTvmVJKxbJ7VC7A/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJieTH6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrgAA/+JqjkKEPiXsH3fgan08g10kuf1IFzlKQS0yx9/jiZX9iu0yhu\r\nzbjswrz/Z3ifwlLUfia6t7hHhSMoReWPCDG2XHxU+eiAkpDid7/0yyTwT0fb\r\nriYorrNyfxu/mn1v5fzCRQb6eqO/FyM+o4rEnsNsM9fHBpw1oK93HB6yR/Va\r\nE9IB9l3MP+Yp++DrciqiGT6zRSKU0OrWsfxYAzgfoDNTjqBn/XlPEzT/hU/k\r\nG5gWVa6ggZJf55gqRRpp4uUi0Y5pqIpuvH+fddOonF9DbIZd/CMKzPgWNVSM\r\nCEGbCezivvvE3WbSnv7qrP2vJ8/wRur490xSo/4YY1Hx0UWHLYindFVbrLHb\r\nTDXcRRZJ8T6mr5zCUCsOE2B0uFSe529I7wPbTBspECnX12Ls/0+gPp8Jr4zI\r\nxHJbkDI5xP+q5REZ2p4v22ALinrivIsNbipAfYJdopJby1XahXpSmsw4oWxs\r\na0/FwCvJTFxq/D5fRehNZfNwAtdiUsJ7jgpWx04zn2WIoDSvGgTsgTBJ/b4+\r\nnN2Au7Uxlg89s4tq/GfJzNGEu8ccOs75qFaGL2jwhQW3fA7UgcnE5n4Ix5q3\r\ndD1ZyDXWRB4O6lKge7APGo8xFp6VT3sw0cxRvNJk4cIVjNX9gDxgScG3ytuf\r\nzqX3RK4TfQZIIRPqajDkKF1PKYbjWsYer+Q=\r\n=ARk8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bfd08e232a3a514dd5a38dcd77d17df365502ece","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.ae278a2fe.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ae278a2fe.0_1652109818475_0.9789394637715665","host":"s3://npm-registry-packages"}},"15.0.0-canary.bebf5bfdf.0":{"name":"@material/dom","version":"15.0.0-canary.bebf5bfdf.0","license":"MIT","_id":"@material/dom@15.0.0-canary.bebf5bfdf.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0e7a430a29b8a13379535eb8812c56267dd95e9c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.bebf5bfdf.0.tgz","fileCount":28,"integrity":"sha512-Bm/DcmjN/pN/mOgu4ZjLw4NkiaD9CkyIqWh3PwogqlC1obEdb7UTecMU3Ace7EtQF0Q1+V599swTuL3Bw3Rnxw==","signatures":[{"sig":"MEQCIBU3okKzNiLRBCtcxr0QxavXQEt3u0iyaFokcALTy79iAiArWXPdpOIetf7P9cttddVOm4GatsCIuDqRCkzE1TZLvw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJieyHmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoDfg/9GpVxn/a6cAC/W9OmILZmlzyOQTO/DcGUWzjf4ghBAIXQB/qC\r\nL5RzVoZZtAp8gUDaMj1ZWFmP0tosd+jzGcwkEpsprjqjv3OMQvd2Upbw8jFz\r\nqZQMwzXIu/jlf1dNsEW98nk2oGHm7qPzlmD/FMITUGXOd5vCo05ntrtx8krS\r\naLkW/OkLw9+Ur4whpG3Zq1JmRDjbpwcbr/XaKi6a7EMN9LHozUecFk2OG0IY\r\nnw/E/5RflZgJ5QEowWQUb09jgN6z4uqjdURfLnHoKZXS73WWMCk5oC/hcVtx\r\n/XJQS6H7q65R5soPPRJxMsoAuW3d+W+6I7Ho+KagkGyd7kiEs764pHtl5tQN\r\n1+y1dGL3hyFGkE6ZtzsTpA2LkAPWueLQu4uXkmBsUfXB7sYnNDMC6YP4nSPj\r\nWvWqqYQv+UKGuNUq12brUtb3hTrLWMZqXZqlxGUDP0dCCWRWirpg2QT8jaKD\r\n9N+q2T225QLzb4yPIHsmPlPFmp6fv9pl3jRyWVubRYv8/2oUPcMrn7VC3FhE\r\nK3b0fAldmQPnT6S6AObKeTzBjE/nwKtpQs11JVXYjLF61/Vevqs3MOmRgUB3\r\nRd63eJSHi7PUVLwhEbJkD/P/R3tN/5bMkRYXCNvj45i98I6JOxukcJApEWCE\r\ncfzTCRT6ihBNBnWljKE+o/caahKLm1X03NE=\r\n=C7xF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"61d3971a411616375c31cb3fb763fafc120c9570","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.bebf5bfdf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.bebf5bfdf.0_1652236774679_0.6349717140061539","host":"s3://npm-registry-packages"}},"15.0.0-canary.e6072cd6a.0":{"name":"@material/dom","version":"15.0.0-canary.e6072cd6a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.e6072cd6a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"44c13fc5717147da19cd06b70d8c9208db3ccf0a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.e6072cd6a.0.tgz","fileCount":28,"integrity":"sha512-lbHhpHymVY0l4sC072ONzeKy6nwsy6GgzC+j384vSJZlN19k8LmxJUUdvX/gvDRdIxrxENb7/O6gqiqD0jtz2A==","signatures":[{"sig":"MEYCIQDxtI3UninqcVVMJtz9YXzIklYB73f9oanIFvp8FM5iWAIhAJlri/OgQjJihs26aBG3nfzM9lTC41qqjAe+cSguAhlo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifBnnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqeig/+IxBs6giURMgpRLhsDQ7RBGwQXJkCgBW1VW8SpBd52lTRA87u\r\nV4OwGLXJnS30mMgqzuZw/4TVK5VOX7zqabn64KXQ8BoVZXhDDahG+HDQN/53\r\nTDOh5vEJbHZbM5MDdTFDSSpwb0kBX+2OBUz0TNavzYloaOCk5Db6xZPn0KiR\r\nPGhrO/PuyVYeGV1GlrmyKn/mJBhURnSCenMVt0m22x6uaWbpMiyI4qRM/bBE\r\nJhGbE8EDtppO/wkOl3vwf4l+/MzlnG28gf9RAMEkn9BpO268okjtV+6CiZMF\r\nJVK1zCK64o9TC0PrYL2+GDnBnJrasxqH8bfujIU3LTPN6NyDTs3f7X14J/Vw\r\nOPzl+uu8JA9iPsemASRYRF/Ad8GbEnJocQZ98jGCqDDMHk4chi24kUsZQ4K4\r\nY3ENGdRhWKZWxYy9EaJTIZe36dXhIKUqrHLNw0PdatK8wcVnwGb+SeJ+Rjre\r\npqU0NrxI90ZTJIs3ybExobEjdOXEDfyP3wXVL+Trar/7kLJrYPP2qJFEMLto\r\nhJnRVxl7SHerD94d5KwISNDWIuumi5uqmWS6gk+i2SThCu+E3etNkpsfO3kw\r\n+JZc0raVwIHBFAmGoVI3xScAaRJ1ruDGXmYP1GGpfOgncgBk4ZfijDQ9uGrK\r\nftS5crdVeRrZb7lt/5rZimUht4AkyGPdz4Q=\r\n=2uCt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ef2da678e66576709be19aed16a880b00e73a039","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.e6072cd6a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.e6072cd6a.0_1652300263197_0.658143060655328","host":"s3://npm-registry-packages"}},"15.0.0-canary.5b40eb988.0":{"name":"@material/dom","version":"15.0.0-canary.5b40eb988.0","license":"MIT","_id":"@material/dom@15.0.0-canary.5b40eb988.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dc5c13d3392f8a754fd2561aadc2f17740028c7d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.5b40eb988.0.tgz","fileCount":28,"integrity":"sha512-F1Rcrx23l/NtF1F+dpBkH96xVFimE0JPsoT3XWiy7LdtxIUlm65DyaHVI7TlNJIwfw2PRTEmduhs75THJIuH4A==","signatures":[{"sig":"MEQCICCbQ5uj6DS9hAFYyvXkdNGy9LHzRDIkMagTlsQG4pBcAiBcgO4Win9mAl3iD2EHRDFkmog/EK94dNXBVZVTCy4Bsg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifHROACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoIpw//eILdkhvZfnwFYhDlyyk2SP0lbj8qHLly7aSsL3yVLf9OUp6j\r\ndkc8FoSN1zpfAFv81K6nqHfV56r1K/yEYAPmjzKTkC9TvBLnAOom6PB8lIr5\r\nZsyl8ppKvN310IIXrGz00vCwxAZV2DapP/Vwp8YgEUQdo91f2NFDSUHGrixj\r\nots1rk+x2t293gFIVc4pEpXolTVAJ9brRo7r9qWm21y8kM9gHCNwjb6Q0gQm\r\ng3/J4jAG9n+A02rFs+dKgcWHKV5ARzBb5y8qnsSNJYz9USC3erjYAtbqSWYQ\r\n3ps5OLDRf+e9ZK4roKIN0VzGyeMJO5ihfPvYkEiWqrGeagZnEIM/zZtm9wkN\r\nsCtkFn44Ess3UkMSeXvAFhukjHhPpHPzdGPbMV3Xt4iBak4Z/FeVNtZH1e6F\r\nUtPjLFyAuzA8hgDkk4W15hRyfwZPAvDLzAhTIDKebaw0ozWLiY30mREK1sEs\r\nxhlgzpGd224vjSpZ/Wr3b5DCfAakl8xB9RtQzBvugJbs1J9wtZUrrwyNDJfP\r\nD4cBs7vLc1SAwNpj441+JZQ1zzaSqBzj739aTj/rVR50yfXeOiq3VwAXBbJ2\r\nrVZPGLYwTgDeyG3AGK362d6w7eV6nTu2PVeEeZOZ0wJTKtM2KtULpzoNh+zO\r\nH3elej+pr3QElGtKJIccs5Pm8ltHSJdY7Ew=\r\n=6fLd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c30f2a613c97ecb48fd3f9ad7b0677e51a156449","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.5b40eb988.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.5b40eb988.0_1652323406282_0.617267124757771","host":"s3://npm-registry-packages"}},"15.0.0-canary.6a61d62f6.0":{"name":"@material/dom","version":"15.0.0-canary.6a61d62f6.0","license":"MIT","_id":"@material/dom@15.0.0-canary.6a61d62f6.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"14ca19d8ff86de486a02f5d21dbda31074d7919a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.6a61d62f6.0.tgz","fileCount":28,"integrity":"sha512-SXwC9XPzKandzt0VNhpTGafW0dQNpS2UAwxKQ0P3lqjOgRZpTwZ6RUzmj+Weuz1q87i2GmR2NHsGhd8K77TwGQ==","signatures":[{"sig":"MEUCIQDCSFNqr38gKzWcBD+n2hJ6CJCbHQddD+Guu+PgympDuQIgVVn4JfB3wd1u9EEV9wczAGrJp9XeO3kld0QsGUIHcdQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifW1WACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoxOg/+L0Ae3IeAwdsEKrQlivB8u6nnR1xJW9oY4gHFUp8xwhi2q9Qa\r\ngJSiWrCBvZkVN3u+zl27lGdiujSBPqul2d3Xb8mGiZbCPvkuxxPc5u4ZeOJ4\r\nCi8iSxkTxRbcEIHagnTooZzJx4av59cZNoVnI2fD85FkedkLVEb58YEElO1f\r\n5xkkbgXjyqLpIFOLoBLvx9R0E7BZewGyjiKg0D+At83odIHmfaMMgyBWUYIJ\r\nlzA42RSgIxSgz3Vjae8SHPr39xLtnmKJKYOo9f0eXM8ktyE2d6F8laeejul7\r\n45vVd1jI68yjToPcnAVAT5zV//sTu40GrqwE4Aln7C4FqyXQV7Yb5pl2bGF6\r\n/QuzVC1LdtLIlFiRhBBufD2Hwgm/5NweulHDeL5ZDohX1FdjLo2ZY6zXTXu5\r\nVUTbEgjuQdb8KB9Wyxgu/mpMBK6aySs7zg/zBsRQcrrDvetB+/smFG3EGJ9n\r\nkd4liRrzlnl0cmJV8+5rUvSZdHnK3wrjhJO9Of1sQ0gu5hVb5taRoBm3Ovw+\r\nPBxI0ijHH+Idjl0UviG8hMNrcGiermmk5WTLN84aiM38BMYVFK/MlCvDnMyw\r\nTngFoVNqaryUbXzxXJ1TY2b5nkHYqxLrCB2BoPGM50vu1U2kG7rD2Mx24gOx\r\nKqU3ElgpkLaDcj8GmKnl2Re7/Zn0e46Ksbk=\r\n=rVDb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1d46f0951ee9f725b870919613271f00fcb1b521","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.6a61d62f6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.6a61d62f6.0_1652387158474_0.3825351771003991","host":"s3://npm-registry-packages"}},"15.0.0-canary.05930a453.0":{"name":"@material/dom","version":"15.0.0-canary.05930a453.0","license":"MIT","_id":"@material/dom@15.0.0-canary.05930a453.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8dcbdff3ba223002cc07e6fe1e40a8fc50f63a40","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.05930a453.0.tgz","fileCount":28,"integrity":"sha512-h71yqNp9ZLeeESDJ+Bp+slnYUWfp7jGBBCkPKyFGYFKWV40NlfV6Nxu6PlLwv+dyDeSNVuiM13huvMka1MaLbg==","signatures":[{"sig":"MEUCIQC/ANNDZ8HOr/VOldaH5bjKNpLPOJT2x0kq8LJB64p2CwIgDhMHszssGtDHyW7Mh9wkWhYiDO9E/KeavwEZNR4HZI8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifqeTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtHhAAgJsAT084St6lwsiN3PVWk/etMGj/LQKtzjIdNjnZ3xVrB3MS\r\npJ/Wfnqtjt5YwIRn56I6nXGLvTYaeRbx9xNhQ6iMcyOkcE6HjNz5PAhwELgB\r\ng2whsJ9oONw1ZIQrgqQwbQYvv4ON6SNdJPDMlZH262pxLnvMQAnLP3ujyy5w\r\n1564PiV0FtVr+RnHEIHg1OkS1eeAthVOo5HgtGMdSxfmiYXR34EjleNrOXkc\r\nKVbawi0WCOeL2OMOOj7y9RjWTpbBRzLehHcDR9Tpfu/55YcWBSYRzyf6h1ho\r\nxlGieU1puzS6a7UXI5i64RZvTl8HHr44w8/jl9jD0IohYXxqXUTVIa/Uv74X\r\niyARifW8rCZKGcjCD0e8TdE0gfwLcKWZBLv8/ItdJpgQLSDTSoejzEVrHGN3\r\nTNvI0t+qKf2AAuEasdGJclwIn5FY+lSx8WU9SwexUhYp4fOjXGsHk9SRB26e\r\nUb7+5zeiuP6K3Gqs4Vyc3z77c8E9BAFbxE8TqU1dcju8KLj4eFsIeSCZK+29\r\nayIvVdAUrULaAHquSmjJ523c819DGI6AahYMML8WGFRoKczNp/B43n2jtA76\r\nfDHqnWSvBFJk6+f/6DU9hkXyehadYRoTfGGf1LXivm3q6OF63BhMyqI25JQX\r\nITp1NJCSl7GYC2C3yylE/m/VujsXOIJ1jYc=\r\n=fHtr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e6dfc2d0553321fbe47e71fb414cfc1152b0ef8d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.05930a453.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.05930a453.0_1652467603462_0.954529563803945","host":"s3://npm-registry-packages"}},"15.0.0-canary.c0a11ef0d.0":{"name":"@material/dom","version":"15.0.0-canary.c0a11ef0d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c0a11ef0d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a7ac56153f8c1dad8336489115e0921f4f3cb130","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c0a11ef0d.0.tgz","fileCount":28,"integrity":"sha512-WCrESKyWW2DQHRSFgC6iAEbq0LTgJ8zbFYHAUJUEuHdsZ4/jAgOSH0FCqx+CT6uaT6Lpd20WBUFY/pg3trC1eA==","signatures":[{"sig":"MEYCIQCAZDmZpcPRm+kxbJboCbaJjQiFPodMEfqO7DQoAZD1jQIhALPLt/LJYPQsydybi4Aq35pWUBLtmT6sIM6vsBXMJwA1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihWxzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZWg//YrQdz9IpiI3VKJ2aa31PWZvt9NWdOUyWt6P9J4nbSY6e1Ckx\r\nIF5pAvKV0hb9fuPyktHMyqzM6El/+RfHjna0qrJL8FXyEd8Apv8YEDsIaN0X\r\nAg/X/WkoLyuuKcSIWEMlCKBv2ndOxBgUXouQO99TzmSeuh9z2+D7W8o4+7Ix\r\nbN68+btPHh5DIsB1zQtk8r1aFplpBw1zNCSFLWbiuHMNDWtIrJkzAYfqfDif\r\nQzQF58yQ7ny+mLfrgr12Zdx5pf5MqF60Bge4/QGLpndi/jq8T+XXe5soaKk5\r\nfmELr2V7k1j9+5x6zRYhxWVSSldskM+xgNoNlnJDkBpYm3MOXk/6N57+lSCa\r\n8XK11ffuLNTnSWsiO/GnapfsBDxlV5RcLDD0a6/Vw0E4uoMHIEES+bKb/1Jo\r\nyXRqu4EjLo+AgNA86/BKi4Y4JOD2sL4aJORA3xBB4tPsa7688cpHtpekqIiP\r\nHINai+VztVo0XedjjiMAhJxvRhl7uv+i+V/+I5bQBScbjdXKH6LGYCSN8CJf\r\nHwjGW9D3dIWl61+IKlBP8sHq20KgkixdjygXPWjtTue9d9PTjkxu7S7ztK6F\r\nckqx+wwq5DXa+8MZBSAbqVCh4NUNYuuUHTmGo+gcjlLGcd8D/c+z+Npcm/qI\r\nRNSfMh6hgGML2HM62Uaj1IKuJDXbvlzco5Q=\r\n=YjgO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a97df68c1dadba0530f5fcda79fb8bc3082d963a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.c0a11ef0d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c0a11ef0d.0_1652911219787_0.044442226532517726","host":"s3://npm-registry-packages"}},"15.0.0-canary.2f9b268c0.0":{"name":"@material/dom","version":"15.0.0-canary.2f9b268c0.0","license":"MIT","_id":"@material/dom@15.0.0-canary.2f9b268c0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f393b667c89d84c84aec4ae0811347f1f587e892","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.2f9b268c0.0.tgz","fileCount":28,"integrity":"sha512-5ddlwsTnFxgONGNhC9M8yopK9Bc9LqxCCy5ypHBBpReraTPEVo01OaX/+teNo9SkBFruhl4yNUXZ9PInBKtwwQ==","signatures":[{"sig":"MEQCIBg4RgbfQQeJZIhJnZEqT8Z0tz84nYGY5IdQvIvPXXdcAiBN/fZQS5TvxKixiE3pmP9S1b1TEPzorpix0NP4oFKQFA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJih+yrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqhSRAAnGmnm0ECA2ZPe/tUhk6oc7cWv6xifedlmgrRKRuRweI5Za4b\r\n82rFblGNUaxoewTinBI2doiWadMSJvMKcXlUPfdfG61US1440sE6oK/uE+lw\r\nrl6a5LMQBdJz5Xl5WXKs6SzG9w8zozjzYuvoKNJ0irqiswkwjzK37IJcCZip\r\nwp9zJe3ZINhn/IlVJ23puD58eDUnjD/1vPJQ3DFLN0L+wJ8LnKFtiyC9yZUt\r\ny3lQr2vxnELc9L91RuST1W1Z+5NoD7/kOGTmuubFaqScwoDc+0FUuztRBmIY\r\nOyYrc6F1pWColmd2pjV347IDATPRJbeiWUR4g66lHIIo5IJbWtvVV33XuvBA\r\ng/dx0B8zebOJVBq9Fq19M5wQ6TLY0jss3WrwDi/Nytzkyiu6FdSSdgZ5IMv9\r\nyRq2J/51+PZMJGAc3gslc7uXHwjUT9vG1j3nrzPs9tMfu/mYPSJc4uFxGhsv\r\no7FiNdXgjwSbFJtFtBpg1SlXxlU0xGDA/+yAqkQ1n8kXsoWTL+fNWicOadVu\r\nPoaJZ5F3IzVCWhrWxfK0JTU7ndzzFCKxgutyz7mHxtkJro0zaFDxYgmKV6pF\r\nCSS7fP/vkS4oXkSyGuJ0XHsvC5IbbC47AdV3lB34Fynnb8R93HXyaWnT7fwJ\r\nCrLhvxD1xoWVbX7Osu9W2mw3gVKRcyF/XZM=\r\n=fnTy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"29832a4f010df39515e01d98656d2e77ac1e47e0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.2f9b268c0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.2f9b268c0.0_1653075115555_0.3621229270119626","host":"s3://npm-registry-packages"}},"15.0.0-canary.7741345b8.0":{"name":"@material/dom","version":"15.0.0-canary.7741345b8.0","license":"MIT","_id":"@material/dom@15.0.0-canary.7741345b8.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c5510eb375cb0cea33ddacd686bd6fd7f56eb66c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.7741345b8.0.tgz","fileCount":28,"integrity":"sha512-PLggA4DOha8w7tGxCkSElqz4J+IJZjH3VrsMg0bagfDGON08nP7WgiVNfEkXhYWA+nTJNLDWtWoEfQK5+XEE+g==","signatures":[{"sig":"MEYCIQDNHdaIAihujaXhs4NkmhAeW9hSi8VfHqgqnGFlV5VDpAIhALXsHApRdvdrKKQnuZk8vYaPCa9wzPJz1tz189imSdvF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJih/O6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmopDxAAiVxSwmOczAepgB7+toZXB4K9NRj/MtV7nyRXW9cL4+CJ1cBJ\r\nTPPOZs2fhWeSEJVe4iY5ibRAzjaiUpDBU2zfyQzypOSCWXJoE9vC5k7CVx4d\r\n6g/uNVoc5JFGwEws3cfQuElvMCNZYSc2ev46geLqQH6b9e03eMqmaGHsVWvJ\r\nBPct/h7kwCVl9BSye8Yv1FiczaDpmy+KoQ3VYoYUJCnTu7eZTPuhdA8u2Po8\r\n5uQhjsVFx2Qe4gaO3MN+4RSh1rOfn+i36jslbNjxECiUiVScnipUzQ90vKPq\r\nnBXO8cdDWhRmTH4ONK3Y4X5UK8eYu9+XaDxuQr1qxeJBq0oZiJShxTmYtxKG\r\nNEeGde1Y0+bqLkGrClhIeWaTox9EHkRgormTRjOP6yIrEyenR71Il+jzkFef\r\nKUsxJmW1tOetcBr6lG+IfkvV5d9dgPiL9eH3uI2YussulQRE/kVv71QH/q5O\r\nJc7b0ZAtH9jZY4ZZcKFW9n24H7TfyA9ToWJjfS09LkRWG2VdKGAeR49Opu5R\r\ntf0g2LoVWB+SgiPysNB2Xvx7ati+RCI8L2S5iYWaBaQ3lFqfWMWCWCVMRK5N\r\nPug1D0vfpUfoi1rx3DTpWEHBXNVF+RxZDE6wAhsmldBQvAL3CDTStrZ8p7PO\r\nJwgYIO8lnrFf0ZhTiSOF+jZHLRU4h35nxJY=\r\n=wZLP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2e61e5e8196d28c1bd4d1c7a12c242276c1d8ec1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.7741345b8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.7741345b8.0_1653076922186_0.36240247267809433","host":"s3://npm-registry-packages"}},"15.0.0-canary.f807e793f.0":{"name":"@material/dom","version":"15.0.0-canary.f807e793f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.f807e793f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e6737a948e2f585a388a1c12429bca391b4a4051","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.f807e793f.0.tgz","fileCount":28,"integrity":"sha512-yajsy/U7smZJr8HnNisDBPqISCbXBl1EB6uBL3IKqschNVkFEF+IBSZWBCbOYbkSKb0voiR+0CaG6MnY5ETJ4g==","signatures":[{"sig":"MEUCIQC9zkIHp22+h295RPCBCWUh6+8dvfdFZOHnSl+9xwxrDAIgTeJ9W1OBgEvZAjLTSsUjqhr90jOFg2Z+ezoZT6VZoxE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiiBRGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDlA//WmIQrIgMaFCE9zvMvA6ceIa16lJQlK2yxlK8JbFVzyHpKcJK\r\nL7ZRbY3ZJGufADl6e7UBHcOcZVSG0YCSCXss0kIYUQIXD5tf2WbL+5ryxtwG\r\n7gVxwSwJ9RJZwzH4VCwr9xbsId/GSiKi3DVd/Njz9WsZdQecwMJ4yxVAnUCv\r\nkDq1a+6XcVqsdQFm2bQy8ufrLnZM9KlaelqaXFjIRJ2fxto0X6g7eIF2a6Zi\r\nBydDA39TzUYYoyAJK1EwfFhgOTME1n9Kn1dou8iF7d4P4A7W0PscSMaitRoF\r\nvVO2gM+pV0M31SYhjRJGyFexAJIpMUuB1LcmZFJ3JjDOnvN5Ub08ajv0A97D\r\nCPCuUmhNmrTe4EjIOxBK9tdRkEURghtl+u0AvOSDklMLKgQqLgd+Lube5/qp\r\neVc0v0AWTaldeLwPm3oqBNfmj3CylLxXzC6seZQmSbrbhKGAZPO0TLnrLv39\r\ndautR+7UD5WjYkrwAWnkiIh/7i7Wl+DgW+xVaXnWB7yKKQDTMdu5QaflEIwA\r\nQWkwAjMOa2ZVy9uqBtmySNE8XSMxCBVMUt+R1tJJ6/rllzEzHJGZQw/7rbPc\r\nlo1cFc9NZtlmMEpYomQoLTc4w5ygm7UxNlDnEPHijm0cfX6kaRUXsYfqgZ1e\r\nfRiDT7xoh/pu7/31EaD15MiafOASHAuhAcc=\r\n=02YC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b4ac5ff59e90b4770de9f689d9b09381fe2cacd1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.f807e793f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.f807e793f.0_1653085253803_0.31894933708110607","host":"s3://npm-registry-packages"}},"15.0.0-canary.9f53d4a8a.0":{"name":"@material/dom","version":"15.0.0-canary.9f53d4a8a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.9f53d4a8a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a5ee643235bf00db59fcac28432c97a9c3915af0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.9f53d4a8a.0.tgz","fileCount":28,"integrity":"sha512-dnUJQEnc18MyMptUBsWK1b3REAhrTJX7hwYSyI3ISOounpsDq9TKSQaMBPNApHJKlhbTsQnPEDI1drpOPtIebg==","signatures":[{"sig":"MEUCIQChe8USfbeQYSrt0T/Q2B9KJqAUrKgPHKHc6XWoIiijiwIgaF7hc918rtXixZKcDDhvjr3bJlTncC0Xn5prj7NRwP8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJii6CzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpLHhAAgENDVTWXZICXrqBnnDScuPh+FVmDz5aHCJ1Y9boVLV+ju4bU\r\n0WBqdGggi53N1JOSQOiLlc9EIiG3kdd6akNVn2ErRDKGQRSA9/kpnRBZih79\r\nyuRFQER46+GZ/a+SPzXEvKeExwDNYmTI1wH3oNz8pRVOBkNkE9zbrqq5AZr1\r\neuYktIOYF/Il1shcBshRK0MwLf6Dreebq8Z76QUwRnNonzBNoCI7rpD9wP0g\r\n+toCCNH7Rhwp4wxkLlz2RY+O54LMAxyx2I9PBT+mCGtVPD5+Ef1+eVZ2Z4wp\r\nUSp7CyvSpLTrP2CnwEUvC07Zqi1EKI4uIpSqqOyfvaCEucv8KtIVULiOoqmP\r\nb75bOR8s0pb0ETPdtHUsKlU1/kN28kuxRftvtxc21Id7Iqeda5FZrzcx9GgI\r\nhzFdaM9VzasUx11Gz5yGk551+r5f2q58AqSCG1p3lqzgCgX/idGp/Mrp3/i6\r\n2RuKp8rVYcFSzOlLLxsYmFWaC2Y1zbmPEOve7Y5hJ8GP0qQntq5JJ7eDTQf3\r\nkojWD+8V1hEGpinMvMeDdK3pji+sG4S1L19WDcO9bybHe0/4v1jlC1CYyKr/\r\nW+EXjNkBEFu7Nc5nMHZX+807rnwvtl03ItyaPMw9Uygocnpayy0Ug1nEbi4V\r\nHNiAOkT/Ko154F/zrNubAWsuA/+FCKN2U0E=\r\n=BZS3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5db1bd7747bde68bc956d054f2e939e62c78df6e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.9f53d4a8a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.9f53d4a8a.0_1653317811477_0.3888029626627951","host":"s3://npm-registry-packages"}},"15.0.0-canary.77cf00e37.0":{"name":"@material/dom","version":"15.0.0-canary.77cf00e37.0","license":"MIT","_id":"@material/dom@15.0.0-canary.77cf00e37.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cec3278120fc75d6ef9556287ee9344e3fc32804","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.77cf00e37.0.tgz","fileCount":28,"integrity":"sha512-a8XIFgkQDKXPRpZ/uVAEjmK7lXHUX4H4xhkxwEb/UuimR4+LZ2BkoaVMwE0boUfBju9fwY0KnNNfW+GNFAIohg==","signatures":[{"sig":"MEYCIQDjGYNNhcjTYOtSFwg+W35dy9nKpms/zUcRTK+rUbMUcAIhANq+Rf2XUDn9CEpI0dB1n5YxvQ7KlcwAMIrjkON7pkvt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJillKnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPshAAnf1GzUnzT5WkxLE0ZBCuKTQ88mEjsWNIKYaD4RBfZ1p5llHD\r\nSWFfuWQ5BHYcw5HhlgJgAyRXKhwhhVJPClmEQv0qoGYthNgoW6dngORhRu8L\r\nclxLNVtyW675ie0O/ILpapmTdAEaKKLjxsE7C59gMxx9UcX6qipZsXS3w/3f\r\n1LRcElPl2EPCe18iHBo8dg0oiiEMD72s8tmjuGqoZ47MNYTC7RRi5xGvonas\r\n+twqpdfp8564/luOo3lscHC8rG13reVL0XhFiwNlCfykstiZsT6QTbdoWF5s\r\n/vgsOKirKZF8HBJkkhVeVlzEt9mcw7UdRint4ATRaSi5nKqHLLidLT8qcGOw\r\n948+Oufp6LI1kFECq8sxAp0AtkP1CPkNjPa4mPR8rw6flIOG0Kh7ZLj3PTEw\r\nmy54NqMkiozLSwOVp7BDrRLw4RHn6PpIXVg+iIjZAqukA/EFOhqJ0jnVlIxz\r\n0QzGT5SgnFbpKR7EyZ87aMOnNbjfqrFg5cBfV9WuTH7DdG2qWB6YPvISx482\r\nbxa0jZG3OTxB0WMZ80qYgJO2rafGNuY6OgAzH+yfVYJGT2RjFcFrkSqVEJab\r\nufSxfiTkZ79zM2ejYQkJ/8VYNVesUpHIitk4EJk1fw6G18th1lFkGFwnmdf6\r\nanCkH5okfRWB2iv3J9IdtXV0PiN7Or2RruE=\r\n=iQD7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1a68e64a5e78b8bdc529142c18c028aaf1b15b9d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.2","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.77cf00e37.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.77cf00e37.0_1654018726924_0.5969960147682578","host":"s3://npm-registry-packages"}},"15.0.0-canary.3c7b844c2.0":{"name":"@material/dom","version":"15.0.0-canary.3c7b844c2.0","license":"MIT","_id":"@material/dom@15.0.0-canary.3c7b844c2.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ba92a3ef9511dff2c069c33c9b9cbef493188e7d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.3c7b844c2.0.tgz","fileCount":28,"integrity":"sha512-t31W64F6QfOkhOs9Xct1uJUJP0ATiOhiwKqpnUlyL0BeJKGKGn6D1b2dkDIFiPols4CT0REt219mkFkKYlVgWg==","signatures":[{"sig":"MEUCIGaKYVJtf1j/fuwxjHxXWby2+ccDae1lFxasY+H9gqdPAiEA8z4zbFNymxvKz2+WzdexZW/e+8DkLAx1J++LTPdtgOc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin88ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqdmg/6A/zcp3RfkjlbHZa8Ot7N8HZ/TEcqyB5tICKMiOJk6KZspmEo\r\nyw4EHnAFYyfxPUBovOCIXJj7hWIzcLk5Kx7AXOmPpv90sb/EeCwitD7S40k1\r\ngYMOhErLGa8c93ka55mrAnYCqfHhpG7xe4Bf5LqSmPm98SDMVliGCfP7yQyn\r\n17M11jfZgVgSbEAMAZ+SbjmBNL+yYIaOOej2Em5Ro4AIw7wBSWNnKqfXZ4DT\r\nQFWDUTnPnCErnS7HE0ayLj2nuaPL639pBw/I+VruBYVic43dxQNA/Gm/cQWE\r\nHLDpvKaOUk7NOX7LuYih56EZvdMe6Z+jlJovdaXPl5qFxFyZyvPwuMG0m7Qw\r\nBG26UIXy9PfbqmtomaVhE4UUaoAXUX1qItSslE54bkpu54Umu0fzqMZ/ip4N\r\nDOSQWaBAsNiognrKBplMI4CPbBkhArUxvka2XM+uKhwm/hpX2FSUSpqtZFTU\r\n/tvWL2KbrRZ13/oed9CCzSBYBlkO56EHNwW9oJJcBfQ6mXyXwY7Kb4My+Tqx\r\nB6DdFsZm9uKhCqUOP4gVugWzdcSp8opjSX4jouwcLma5w+NpgOVOPDIYKfhg\r\n+6SFIe5nrsdM9exDKjyVzcG2vFKG3FZ1LP+7b3jVnkJmnLQ1AHt0DHVAzDOj\r\nzhaFTS3oZKrt9Wg8Yx34FT1KtAhOCOADbQ0=\r\n=Tytu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e9422b2e6573001fae4c8aeb7cc75741000e0034","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.3c7b844c2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.3c7b844c2.0_1654640409004_0.39871971482203183","host":"s3://npm-registry-packages"}},"15.0.0-canary.df47894db.0":{"name":"@material/dom","version":"15.0.0-canary.df47894db.0","license":"MIT","_id":"@material/dom@15.0.0-canary.df47894db.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"72e96fc0141b9b1c9915eca1beb0c85571104ab2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.df47894db.0.tgz","fileCount":28,"integrity":"sha512-/d3c2fM8t1+MkvghaOS9zzrqC4K+D+TLcMEDv01XJDdRILTAdTuq7yAfaf9fvnxtGs2Ioi2phlyYRJy077T6NA==","signatures":[{"sig":"MEUCIEpqR2kZC/NBHQm3/W9pQgwk2zQHeWvfuYgtrRa86CYfAiEAkOao8kw9READCeg6n/h1XOwBX+zFqrh6kpALMaqWwi0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJip27lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq9aQ//Ujf5bSVjJnBzHm8nlrxczIe69KV76IDqcpwjgbsjvW3zNdlg\r\nehKB3xMi5Dw200O4kNbqTANc6gODcfb41b6SF6cMkzVln3U5MH1MjYn7s89v\r\nmaXgGCW/Cz86ioQcT+ofc9cl7OIMTfTi1hM1MyE02rAu05Uw08fXnD3dQ8VF\r\nVlZfrN8JQILgyZZI02Yh+FE78wSShn9Dh0hxbatqAPqE8ja5zrDRaU9IGnep\r\nwWus3BaZYpkQrHiq8KLxCTYwSAyuMZNFxXLaDHM8p0sDM0gy/99q0cCP3GDo\r\ncr37M+o+uBV8K20lZ0E/lWK+tSrz5z0WNXmJWhaabL+zM2GesDudpTwPVYkY\r\nB7sAcBgia59NoZeqnBujZI2oTQ0ilm6cvTNRugRL6Vv0iZ7UjTVB/87GGiy3\r\nWJQGvslwTvKt6q4AzADmrlypupD6jXhyROwjONYG4pwean9eLOoMJPJSh6nx\r\nmyotxDnuqhegpU4Ss4r1zn9cpHExvLmIeOZg4UsTaQ6DFioxAepr7hS0+f1M\r\n/B4PXNQ97a6Lpe9dg/2hJyMPx6lXWekXiUAa+xxCEguAondwTDBqu6Q0W89G\r\nvA9Hc4nluxy3RJM8NRfUWpkbZpZ3oamKkLYb9Zzl5onjjVlMV/7ljqAmjlYp\r\nWgb0c2LoGsxNDCwX9varAgCi7/As+bnyVRg=\r\n=4tx9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"42be62e51a7c150444c5b32b2d2acee03d09e6f3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.df47894db.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.df47894db.0_1655140069077_0.284850634477793","host":"s3://npm-registry-packages"}},"15.0.0-canary.b18a873dc.0":{"name":"@material/dom","version":"15.0.0-canary.b18a873dc.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b18a873dc.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"03ac6244581a283d10329ae1b9dc2dd646bf1ee7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b18a873dc.0.tgz","fileCount":28,"integrity":"sha512-4ufoL8IzSpmRExWpVyuUlIZN1jA79yDX7ZcW3VOkIdS4Kt8Yk6tLhIhP0N3gAIXxaP80x3a3c/ahUANAiM44lQ==","signatures":[{"sig":"MEQCIEIWiB3JiwA+btbOk0ThyKFLeeoV3ODrAELdSRtoJ5JRAiAwVqVi7D+jsz4fUN/hx5HS/e2dPweDA2hCdbFpIlRXjQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqCqzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGHQ/8DecisGUUP4TaloGIm4wcoTGKxyQs47W7hUtfK+INOsSBYcqf\r\njEgwNNQUUaVimmzb4ldf2B01ql2RFkWTHDp1H8fDECrNnXLCsVU5R/yaP4bD\r\nLjlb7RVk1WiLkN3UNtUaoSoRplMzGWoHs0LZN+qDzIvvOD7cbZLkGmCNkx8w\r\nCbRD0dEdE1Q6M1wWdVV/cNeRlkUPpQn/c+S/QOd0svQnAUQd8APlmiOSGHV0\r\nH9iTaew3N2gpxtEcMg5At8VfiqLNjLDjm6wc1vhCRRonIFwHl1Yh2DfmnWQX\r\nwZ3HnBQFht4FsYLxqxoGTpUabsXGvnzuHfbBvotBdZyR4wwGn6gT2KThwn1l\r\n5dT6vy3Z0cXiIOS0UuN2+BBQy704bzx+30l9jUBMXeXDVRMpkW8KgPqz9MsS\r\nzgFuMAUmWkSNsPuA9fjiOVsQ8yWLnQZy+CuTSK+VU1S5EadTImpChfzS8wpQ\r\nx0D+TOSYxn8AZW+AcCKeHW0VIE6SzZ7ySaoQCLyyAJNVMc+qbPZb4e+lr3SQ\r\nXGEEyjeg8eyykR/L0zE26q+FbM/A4JdvuNhoJHK/iiPzoG40ZN7m3V32eUhC\r\nQl9EEjE/K+aSmI+9g6YeqQyDiMXm+u7eIK9hiBlN37SMrRc616f8F0A1XIn3\r\n4mUStxa3YyNRaqfMxcdPErscNpBHGa+Q2xA=\r\n=TpWR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b35dadfc99a3788643d8762f8afda3f2d6e76d5d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.b18a873dc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b18a873dc.0_1655188146876_0.41957341227018774","host":"s3://npm-registry-packages"}},"15.0.0-canary.ba9c29637.0":{"name":"@material/dom","version":"15.0.0-canary.ba9c29637.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ba9c29637.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"737328512ef4de9086bf25e6165e3bb727cce324","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ba9c29637.0.tgz","fileCount":28,"integrity":"sha512-r8j/vGTTheM6iiV5bHXYqwdWti9GzpHvNO3aQW+pzcEL28uiespVxsc2LrmOtRQzInieHaBI3IeRZ5pADslH+Q==","signatures":[{"sig":"MEQCID4ZKX41DvM93ZSmhgjTB4UdGfrf52VF2JbYBsguZqAxAiBx1w+LgM8fOCZckUUYc50qaWkVi9txmJ12n4+7UUSWyQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqNnuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoVtQ/+Ls3PguFmHI6WHezYZeFqoJCKOSgW5hu/oBAKzbwkqNCHXGPY\r\nH6i/FMWgQSKV8b1sVvg3Ou5ps/juBphj2dRnTobGKTNi4/GoTU5CRds2J4TZ\r\ndFc9m9KBQri1wfftGCnZw5FUU4jUNND+W9TBmQPeqRQinQMffTc5hv4JfuLa\r\nG3nec5M4csdwW/InsYyHFjHNhwAU3agpjLRghcG5fkYJzZpNvSclsWFpWU78\r\nPjrqf0JdpHkSvdGG8bpFlk/AneYVyBrajh2WkgFs/vazqXSvQsHsy6gm39ae\r\nNTs5VsEp3sR0tzm3k8zsfsBAHTWOH4jgkSFEuTRg2bEf5C6ZSJPmI6iuHgt0\r\nlm8wZGAopjpABXvE+8czAoXzE1001fL6wC58WNiO0nCaXK28MvLtc+LiZkbf\r\nABgZ4SxLzyYGBSiZ0kUIJiUumA7710jhnkV7V9YO0Y44JDP0u9Kp77i7vEzi\r\nI/9w+zwSYjq+ownGNSK/ln4xiJN6PBWVWfB/zNZWt9f+wOT4nzNyPf76Gmti\r\nPDT4xyuuL4I/IUWQAb6GBKjzftszaDjga0e+vSFyiW7yqUq5j2VMrmWCuOG0\r\n+8lLKpm9KfmsyHV8hHhl42HYyd87tQjSF4T4l9AnYQk+dr9DFhcByTltfPkT\r\nE+de+Nrh6BPZugVrniSNmV2lcCg3YTKrEPs=\r\n=3Sd0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2bf89a291dc4aecd82cf7a6432d198374cfea69f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.ba9c29637.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ba9c29637.0_1655233006422_0.7083275766020158","host":"s3://npm-registry-packages"}},"15.0.0-canary.9bfd12f01.0":{"name":"@material/dom","version":"15.0.0-canary.9bfd12f01.0","license":"MIT","_id":"@material/dom@15.0.0-canary.9bfd12f01.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4306159797a29ba8f0c9b240f4757b5cb5c474aa","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.9bfd12f01.0.tgz","fileCount":28,"integrity":"sha512-SjWWoMMkImT1ymDkdvnRKxpWDmAqPRWwdKakkfy585fLp1b3pofbrSflrCnixZOP+gGfnMWIgna4rdEGKoxwDA==","signatures":[{"sig":"MEUCIBMfZEVA9ijpuxK5KV/Cf1S6cw+52IMnRDiw94s7dQkyAiEA7Tv1v3ij0LEMv8/f6uQ4Eq+K0ETilmAnXBX/qI97h98=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJis2vNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq5UQ/7BJE4pqH3MaFhUJPKi8oAyThjLoF2mqEAB6A8i6m04l++RqO8\r\nv8Ijn7ujsIIhQn4UD5O709KVTG0DzlrphmNfdQvACDPWE9HCUbmhdDgcL3Zo\r\nwiIk1NmKlEJZcr9V0GasrFxW9jOKU+UJDnS8p8CuRDOJNWhILnntjoe+9xMZ\r\nO8E0J4Ip07bNpgRA4/FDcVrwRacu6P5I+M8dkKPQmr4Yk6e98T0FNqqXSZkp\r\nhskMw7XAXPbWaluWCDcxGguyQgZFtK4p1QQcjEfC2uPPmJXxNMilbSSa3EWP\r\nQEIv426voLChonn4gRZ0hHwgswErDwBXW506Usy+ALj4aYdmFGOY+JAemjvB\r\nx8NPyKcmqt7K6E1xi2dVHbYMfPdRrXMBih9eO4ODzrxgI8P97xyY6Q3mB2sd\r\nrITE1qwUuKYS+D4HFPoczoFESBljek8t/0bpilwQs0IBUgfUGo5nunbjp7tj\r\nLj215gjMahtz8MXwx66M2AC8eG0zhhS3FYwElY63LDyAu7GhajFS9m9dM/Hf\r\n7XDcnDoBmt9zROu3AlwFEvQhXRmYUkgm2G++IISw4U6vpJSV57bGiDytOk7Q\r\ns1YCCp/+yXpZy/I7734Fw/wg3kcBoNFT2151np/mtpzTIo1xHp7f/vygu+iU\r\nkGWQtF6MxJgerXF/TYGKoALwg47sfwLU5Xc=\r\n=OeJE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ba7b0d01530df70f39142820ab69babfc9cf5b8e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.9bfd12f01.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.9bfd12f01.0_1655925709226_0.6239020924152412","host":"s3://npm-registry-packages"}},"15.0.0-canary.764de225d.0":{"name":"@material/dom","version":"15.0.0-canary.764de225d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.764de225d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8339a21aa7778f8e9bb444e5717897f12985ae58","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.764de225d.0.tgz","fileCount":28,"integrity":"sha512-K1SdCfHt9JAcEAHDcm8j+khUjk+gdYegxQHLC4jEjnHVAVF/csWyMrEbnbjzd7k/RjazOgvBbLrYjdPY17bZFg==","signatures":[{"sig":"MEYCIQDPKgCaKL2j9BoGRQP4zReBWexkIlc3FDIh7ZWV9jEbRQIhAOw5ae/6LZG2XzcBInPt1F/+HMmcp38Epnwlpl2TNLsl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivH0yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpi7xAAiO8iNcHdvf+E0hC8Jt73VXUUZTu9sXK0fYoiMhI8yzvRccDh\r\n65hKgw5O0PVDenibXuJjXqQYKopCF7eqyJ/OJNK8Dt4Uz5l673O9S9Nc59iv\r\njKrOzsmsN86Tna2IoBrPllGgKKpoCUvnmAPJsPdO7RKEB0Fb9J0aOoDlm8TS\r\n/gMjcvqF4hA/zAmAbAKqT+HmTWUQa+smb+v9h4dEHzEdxV9G7bacL+SG2WHr\r\nIMB1uVHqdgLS4wT/+lOUmj78ESnkhva4ZTIQC9UA/JCTbDYjEryWOXKE5Fvm\r\nN7r8S60NQjAl8Qb6i/x8y80gxWmWltDuWCpyS19zBVOc7IbwAB54fgoomRHQ\r\noT+5D1ILaQgSUMpSWOUisRN9djhWn55rNL000fU7dpUayT7FbKNdO1aZadFd\r\nLgM+VZPyF7Xtjt+QC1VteQtLigr+8YANCm38FagdI8Z8GKmFozlBLTuWrsEP\r\nFR7ZLEn2ZRYQpOd0NSYkBu7EP5zMB845ZGFuCVhR+mny1uC/rzz8nucbJtFC\r\npmH+JDGEhN0iTZTq78Y5XkUje7rvY+pkwS2lQs8PBmUhDiMz2k2mNMBDD5VS\r\nAF88daqehZcGPT2Il9VWlEOUJQN0giZH8SHSCczt8kYCYOmNu+Y1ePYS3yOK\r\nAeDrg0CdOrbTVMkAjuUQcHFFnwUzbWRidus=\r\n=fDg2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"25c0f0a7c9d8dcedfb35f64d0851fc4fb86b8534","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.764de225d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.764de225d.0_1656519986104_0.9143445278805606","host":"s3://npm-registry-packages"}},"15.0.0-canary.31e517cea.0":{"name":"@material/dom","version":"15.0.0-canary.31e517cea.0","license":"MIT","_id":"@material/dom@15.0.0-canary.31e517cea.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e4cd2d9694acff7ddc288c4ff790274f3c807fad","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.31e517cea.0.tgz","fileCount":28,"integrity":"sha512-FLi3m/HTgIL2OCtL11KvUSK1TCAtFd0vAQByMStN3XyeDGyWJSSeS5HsOadkABHsyVtxmq13YJabzdygzMnQcw==","signatures":[{"sig":"MEUCIQC1uhszg0CN6gt74t8gVHRLRXIBFFtrDK3gPjStx3AZVAIgVtpajzAlLevI0FaGwqwebewW2++K4VudvynVZEaN40o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivzyjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYvA/6ApgIvkw0qXH1VJgbPEX9GRKgNR9sL7TjSkxC7GylJNzePcZj\r\nyyk6wvSxj2UYAorOVYoxGQsbYumPfJMfVltUtKWSd0bYCEA9ARbCCfHgBGtb\r\nIOaE3isyhitE3BY2sznLInxS6H0i74jTHj2z8rd2pheLHu/bU8xrr6bKgSGj\r\nAT7d7lc8sxorf3s7R+OEynEvAYePsX8lVwE9u2yGzWs/AG5loQS9GmFTG44W\r\nQvF/NXefWFmv+hePXFmIrEUVvKFqGKSxzXe2fZY1T9rmQdnEkLrseBoryxub\r\nzi0Mj5xu6OW/CFtr0FPtG2ljKQqN4wBX+BuUlv95+O1gwRQQw91PR63vhprN\r\n/+eGxksF+w8qf7q6nxqg1y9zYpVIwSJd4kGBPVVzhIqD+5XlpOhZBgMQdvdA\r\ncj8zDCFIarBl/U4tn9jCrmsdyQxPxRjRoor1OkiVtYyetJFVXMNxdY01sUZh\r\n/rvpANBL9/Kj5cheGSRqZfWTyCQm5rn/PVgZDeNOYTNOmOkL3RWk+BErWUFo\r\ngC+uuz/DlRw/l7dAYvuQXrveoD58/lcj+34pwEkDkNNGpiNUnghOvHyAPO8A\r\n/UPUKkCDxs0J0GdcDxfsb05mmP5EDujEUNKMyMgogA3EDJgYX0LoqP2w05SY\r\nqu0ww4+MEFhqQVThjDYzQCinWrVr3hjx0/g=\r\n=xg4d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8af6d916fdf79ba9e33a883ad56f539f3decd5a4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.31e517cea.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.31e517cea.0_1656700067438_0.32841250211759454","host":"s3://npm-registry-packages"}},"15.0.0-canary.9ea4e8e9c.0":{"name":"@material/dom","version":"15.0.0-canary.9ea4e8e9c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.9ea4e8e9c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5b5189210edf681d77efb4f6085769a85f861df0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.9ea4e8e9c.0.tgz","fileCount":28,"integrity":"sha512-XHHYYqYvlKM/OU+ZYzyBIK0SsevV6fwRRLOycko/6rBahKLOyWFpXE3Xt9l6hDEbH2hVT1ED6GAGaWACst6MLA==","signatures":[{"sig":"MEUCIQCsMEbT9vL8y6Eb4IZTmCGwD4ih6JUXD+hd7XuL9AQ6WAIgIKlEwzQADItBEHc2882ME/FhRKjO7tXnqZtgSnU4zGo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiv3sfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDOA/9HgS89TD2RUeFXVRhiEZgpaR61oDMLfNX+SzP1p00k7mQ3tb2\r\nCz6EWD+vQtienCnmsFBd2qxwA+SykKzkL48efHi/jsoqzN7D/R3QHT5n7i2G\r\nZ53D2M+PhjTs3gsgNVvRcWRuLKDUy8tAIEyBP2k9NFMRXKkYbQyEfNvKHJa6\r\nKt+zdV4D5nPg2Cr2KXhCl+0kEAOga1vv1iBEId2HsPTwe75L7TGNMEOzyUeA\r\nLkYm7JWD11mF3cT6jwhkWYaixksiDZHe6Xri0I6/LdaiQiNREuGAxRwsuNvB\r\nL0fa5SkjzTqk/IGJsB3Pd99N7XJBrTIOMxCmKQreLv+o2an3VLKpKrLamJw5\r\n54y6HJp0fnLULhj045OvwWDNKkbjj+vvIIcRMeJfsp+WRy2/MD7SMNUj/Hns\r\nWDimXQzTgMhY2V02iT0wHLox7TaMtO76s+jKxCdAdLDS3lEm9JZ6rs/dKPNT\r\nw7rCgCfhRPLjbIMviGbGUmqYDk3lwo91vwydmo/0Wh5/u0bjekuATRK5vqx4\r\n7NaP/GwR1W6vzKsH+wsvp9tGwtD6hRyXc7qoCRv8mj0bwLfVd62aBszXqIZg\r\n0ExQxuY9gblIfEETUSFbYPOBGuypM74rjDkKBpxvjYv7+cls9RifnAwu/ibu\r\n28kEXzWxhAkTDhAbPkueE/lMk7WZVbKe+nM=\r\n=uKmS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7a2b791f6f1e376a53ceef81767514ec18174558","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.9ea4e8e9c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.9ea4e8e9c.0_1656716063112_0.45077431717261174","host":"s3://npm-registry-packages"}},"15.0.0-canary.cd5bafabb.0":{"name":"@material/dom","version":"15.0.0-canary.cd5bafabb.0","license":"MIT","_id":"@material/dom@15.0.0-canary.cd5bafabb.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"803c85a2cbe09480ae980e61c1cc1e002eb1ee77","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.cd5bafabb.0.tgz","fileCount":28,"integrity":"sha512-sRxv1PXFAcbKCqxPXFRxzHecCWgvREZOrTu4t06G504DfwXd4ElVzHPCMtqHVqVC/nqlyPiMFZRR7j/lFepnYA==","signatures":[{"sig":"MEQCIBojV/NeGm0oT7v7rUWRE+bWZVwJN5kFDOx8czKfmodTAiBX8OdWKdXw4rdTyuYEd4MHtObz8jadbuIP1rZRhImKqA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixcwpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqXiw//ZixRCeF+jZbSzpSUZRiRvv/GiLZfP9pDeRetbUL2AwrnM0YW\r\nsL2oFzlpMJJ/+VF85Iawz0cxVzNqqFnM03A+UdlkZUMr19T2VqMyHiFovPk5\r\neLktKgNJuzmOCWZga/MIy8s3Zqo9zca2k9SllsJ2zh08+8wrB8uBxUf5f3kg\r\nKJCYAfjPdydsNUbW0lVt9iuUbVE9PAPk5vb9ZsADc5rHBI7HGmvsRQamcSpC\r\nvGHLruXNKIBlJIGNucH9VK/wLQn+pA2LUwwOwlvNp4K5J+/dW2/1FahuUe90\r\nNWb+3AgmOAgCul8CBVHusSZvyg0i8Mpe7ErdlwOlIs3UJjCslDhWeuHDLg9m\r\np8Z7QBWGmahPaQ2/NwYfXjKHvdzpr3xGT/+ZMzviid5xXJLIAonAM8DWf7XZ\r\njl7+PaKeLAl38qHVXxSFEGYA72UOgL/95Yf1Og8OqwJE/J3pQB4XYjIa5Zl7\r\nSETrQr3NzYTKWligbxqlXuQIIdAONxiwdGRzDMzGdS6MR2T+Av4o9sm8covJ\r\njYavLuwPs6SCz3zPMS+flw1jCJqoG7/uEtJaCwyN4mcGmNyvu0STkR6vg5qu\r\niUe4JsA93Ud8YZJzoLxE0wlso55R4l+O8Ccf3KyDrhPFl66mu39xUJOtjVTn\r\nCSXrgKdkzdLgYVHFz+r2gn2d7TO4Gzgon7E=\r\n=IHfg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fceb62aaa361c04ae0a30158d529c7e6896b6f9a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.cd5bafabb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.cd5bafabb.0_1657130024879_0.5178020947558954","host":"s3://npm-registry-packages"}},"15.0.0-canary.a02fe49d3.0":{"name":"@material/dom","version":"15.0.0-canary.a02fe49d3.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a02fe49d3.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"296eb4d29e722b3e12b2b6ebb8024ea401d1fa76","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a02fe49d3.0.tgz","fileCount":28,"integrity":"sha512-dOcGokHJRR0PpcFiKzLK7zqptMDQoVdxo6tPMNGHXB4xQH3utTvzbJu36ikah2E8Ue0SFXRqTdFIvQHXkaQn+w==","signatures":[{"sig":"MEQCIAbDRwtNNpDvK/jSTTbWjI6/p4PWMfcvfYSwFCX42Gm1AiBo12UZxIqDihExo/zowjH4q8eBzMrWPy88BWmV/Q4a0w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixdlzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpxtw//ZOnnuKYSrvhp7QBa5xTpOrXjktvOfSS9HGKJLMmrP0NtIcSo\r\n5tZzrj2lspHl9ZDURz5l8PI5/u3jt4lVSZODF3Nk0SDi4Ms4MzhOLyMgHwoC\r\n3vGb5pdb/vfi8Fr6Y8b5KB2v1PXjcVwWvkuIvXx8dhjNZzWIXSa/tkZp0FJ1\r\n69jX1yWV5vrM9zuByNTzwqgrTLmmHlJWg++VngXDF5DLW3lVIYvSUSv4rHa+\r\nuFaGkqg0T90c2UN+/F3vYAElPhEhkrGswGq5qgIXz/XxEtIol4rgDaVgZtCz\r\nFAwayEsFSChXUJhgzkJrZUZXxKxzi8vT9ParuDxQyahSLeCG4grHUV7ZMAiC\r\naKU7nzLUc94OyBXywCNFPmjcdIYmF4fP63CmeYUVo7ZTtbRoigNRtM8Uc4Sd\r\n7DQLEKS5j/LRDRFu6e4DPjCdxk6WwSL2L7+rE/pQkFVPwc1vd9A15a26mrVH\r\nG4jhddiz6ISvyIvEQooWfcQmWgxppcdnLOHHIzA59O3tSvRo/7QvPkY1xWLl\r\nsrlweK+YvWK2N3b1X5+t8g4V/AFLFG5L01QsB8jMY0pxBneCSBG/jLac5JM0\r\n+5Lba3AgZwWB47j3GzQXi3hPcJYKrWA8u4KgMPTwc9YGPSQrEXMcnauj4gY3\r\nyqXDfnKgOE1PmvJAm1c6jrFSoBmSx1UVoQU=\r\n=PS5O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8304e794f430681d03b9d2d3193e635a072f2d8a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.a02fe49d3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a02fe49d3.0_1657133426781_0.481711752757102","host":"s3://npm-registry-packages"}},"15.0.0-canary.826a3d8be.0":{"name":"@material/dom","version":"15.0.0-canary.826a3d8be.0","license":"MIT","_id":"@material/dom@15.0.0-canary.826a3d8be.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9040c066d3265c69b03bc25043d9e083c5e938b3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.826a3d8be.0.tgz","fileCount":28,"integrity":"sha512-Zg0LhmKvCszyKElYeyBF9PhYy7sKebb94l6qZ8kDeGRVf7hPjcziR2aEzA5iu29Qd0bv7Y+7sUNGlLvkKCTwIA==","signatures":[{"sig":"MEUCIQC4fXUqTGYftwFjuiv1ZJlJcoO9AVkwSW8nqSG3zeFhbQIgITS/t+gCZh3U497DCyLJ8nisWSc5st7IktXZ7Rc4UYc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixeLRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppFw//R5vRtrAdwx/KdmSEkQPTUI19EEUdRk49VKoo0XgJWxrWLfva\r\nnuG0XQRR2TDZng2rNJ4WBRqlqNREehZ2NJzD9Fu3Urzt9lvzQdD+Y5w01ZBc\r\nLZUgEnwkXgPS12A7xF+8kF0v8NSREOL95DEdj7D3sFeo9qj+IEiNIkzt/3AH\r\nNM8fmaovIWbmulG7EaArnL9zUNLSIeMmj1goZklfjKO2cjVW80MoiDepeqdM\r\n6MIhpP2B/aeFZORB6BxPDMlgjcBHYoQIWUQHa5tm+UkQg3YyjdLfZtr3Jo0W\r\n+6NvBn9rhk0yIRDuriICKPYEOr2aTYHvREmKyJJeBErtodM5jhmNYi3rjHxK\r\nmOC0UW60fzj2WuC9MKQA8gmcG4e3GIVua1xTEfGMWsOQMJgnCE9D4hh9Y68w\r\nYcmP6kxeLmjvhaHX46HWC0xkf/49TUil7k/48CR9VREyoIwRUepzWlNeb5Pn\r\nXdANvudZdP8/GDcIFL9rqg71HRwU5vq2sVhd+R0cO9VEW4iUBgeZDcW0rVPl\r\nybaAcWZcot2ju9PI1pptO03ClTxoV1U3PEWF2j8hzZeNwGiyol7s6qIM8kkf\r\n0F3c2d9Yp/0DiU7fRZCxcE02gnIlb/2imnNPUvgXzexbI720PTjbR5ypOR9+\r\n0wm3qOs3QCX9VPU73sVT7loyKC3cm5vuJPA=\r\n=yLoI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f54c723431e97d10fc1886f271ed251cb10209ce","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.826a3d8be.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.826a3d8be.0_1657135824899_0.9780485118360067","host":"s3://npm-registry-packages"}},"15.0.0-canary.ef276aa93.0":{"name":"@material/dom","version":"15.0.0-canary.ef276aa93.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ef276aa93.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2bc7dbdc4baacd54cb0a1746293f1ac7d79efab0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ef276aa93.0.tgz","fileCount":28,"integrity":"sha512-MN80HBJDgrre1Vo0OeeiPJ1bkJdj+sfUGFvKDVtidF1+UhfbWvVgC/iRwHjqHEhPYlWDOT2Gx4fKE1bObXVc4A==","signatures":[{"sig":"MEYCIQDEl8cTuo6VJ7vZnY9l8q4CKtfBu9sRWTL75SGb6PYuNwIhAMM+0+1lp8uZEvWeYOew+RaIREfzOzwyfrY4hEYDDpHl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixxGHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmohUBAAj6Ou+L5CJa+1n6gMjpLo6ZaZqrgYPLaEsTuZal0VdCEUIVif\r\nX0Noun3yoghMytg6RzXRnfLTLYdIAJ4DZVurlxl2mvzpKxsVMXhYsiFi88T5\r\ngkNiE0H/yeW5B22GThrWjm/tGhZEyBuzRm3CiKprtMinUbCru0gYZKpMSGeK\r\n43usFd91bzFD15EEaZAjR8hiLJhY0ydRFZtTQk0cd+Gz3UUTY06svbnwHHbu\r\nOLT/dJz2beGBcjkTV5pnl6TFstWohsa3qRMZGKb8bx4nYQWimMILVqXHlF7M\r\naT8VVA2YdoXbmNlX90iQTres4LQbJazlHrintr4K4/M1Tdf9jQJUhbqhiQ8z\r\nESUbDnyb5C7RC5oZ6yC3L7A3a5P4IJUHNLArV2OIQakpVl6tkt72bUT995r/\r\n5zGFmlZUAucLTzxO/wPykEM5aYYfIGiXPnDBy/hODtb/ryNWZ9lFaqnwxSXq\r\nQNtSnkYoexpV6b6BRskrPdJ27lwWvszk1v4F55kipns+dXp0lFa7AU/sp9qX\r\nVRgCCuIjUUCss1UBosArZtAdLa8/xyD9JZCa+BkwNZT9CqMwjE+rRhdrA51F\r\nvIQ9qrmgVSYT63ahVNn225a8d8hyyJhVpl4+Qi/Y28QfVP3Tp2Nze7F1lNQD\r\nCPfxNLfKwQzkBWKWpdvAlrZomFuaEDy9h4w=\r\n=OS6C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"502fb9536e29ea5887a9fac4aaf0c9dc2c732e61","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.ef276aa93.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ef276aa93.0_1657213319601_0.20843044741511485","host":"s3://npm-registry-packages"}},"15.0.0-canary.59cf61d6b.0":{"name":"@material/dom","version":"15.0.0-canary.59cf61d6b.0","license":"MIT","_id":"@material/dom@15.0.0-canary.59cf61d6b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"606f2ade6f5ceacd30e4a9c1e8d1f59672c45646","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.59cf61d6b.0.tgz","fileCount":28,"integrity":"sha512-s43ffzKVGwQwcp0LjYNUsoNwsHr0vFX6ctdkmuFOAKz98MXOuNObA89om4Z7DJ8isDAhFc+/6BosuS45Vj/RIw==","signatures":[{"sig":"MEYCIQDNV2bfg/xpNHvjQN2Z+WoayR688mxByDuye7lCm2o4gwIhAKrE8+ahfCxAhgiBwFsGDhWHVtTtN7sXIJV0PJexf1gF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixxhHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPWQ/+PYURwcCKr+paI0Ra25T4cAd3gbMDek2o4/Yc2xyAuJR4fWt5\r\ncVEE3bLhEnyE2PtFc6+cgbfB2V38G8x0r+nu4TcdVUYAAcOmCPZ7n+heZ1MS\r\n6Q+0gVMkQAvUXhDNCJuoNDa7nXns7l0zOoWVXKZAx6vqKYSilLK4HSV3+4jb\r\nFDxXoxdrBaR3ziR0AIS5+IMMWP0zRv0E3AixzVPqJCwpZxRNGifGNpqDRvni\r\nWotf3wwy9E2KWXro+cc6XFyEYGJ6o2cb1rphIYFeGQ/Jm+g7EETaYG7vm195\r\nKzXC8yCm8Z76ioXX3Z5V9K/CoaMQfOv9SjiZ/Mk5TqTNuDxwhZoUY7cYBWcL\r\ntVQHc62hRN3Of86g/jNy0QXJ4JJecxm32OUgbA4DvRvO0x8KRUKCyUj9lmii\r\n4hNB4LpTRP6Yi1SsUmDq1+t6IZFRxk8X3QzXTWnWVoKAveNVN8dKlgQF4zzj\r\nfKdNMPNRKajp2w2tRSMN1rbXXLFMObd8IdaDJkmf1/7zI4PB1aSkPjj7zIL/\r\nbh+36NjjgiMn8A6kcMYtDF2WlYjOimpER2s5N4QgaktN+KN8p06iYBY7fcxc\r\nCxGjezB1ZoG3ddJBxHhqVjyufhX5Xi0g2s6UXXVskIVhDrCTxeOwiQ/hSEyb\r\nv4/pR+Rk3nWHUTNJzSUf8ahRj1gHKYeoBYg=\r\n=Bept\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2f27bf33b194929683b4faa9f388325b07b408b4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.59cf61d6b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.59cf61d6b.0_1657215046832_0.12474711926835069","host":"s3://npm-registry-packages"}},"15.0.0-canary.8647092f7.0":{"name":"@material/dom","version":"15.0.0-canary.8647092f7.0","license":"MIT","_id":"@material/dom@15.0.0-canary.8647092f7.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cd152be7635792fee79653c44cc392415ac7d295","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.8647092f7.0.tgz","fileCount":28,"integrity":"sha512-j3x4tkydQszsACxbfR75c+aPSvmnUcmHZs74C/VLYC5DsxHYAyBttitQxR5CZkdVY911l3LQQcMmMbZB5rw43Q==","signatures":[{"sig":"MEYCIQCKKnQJaRB0C/2gsZiOY1y5Kdu9DI94F/a9otDKhcNJbwIhANCA1HVM6yDArEr+JJCYkyqulg6jbNShby+GiFH081NA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJix0QqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5zw//bLWiICFTnylLnvD3DQZ74nKfitEe2aTVu0w6RQUmyA4ai8dK\r\nne9ciW8nM8dAyHLnbk8ZOIttynphPDL6NkycNZO7Z/s0OuBmY9Se3ve0wLsd\r\nAZmAP0H2ZLA9rKvNJbebdBM+21ne1BRGWhqAUPUXxH+38S6yxzUDyCfa4qLT\r\nGliVN0TFqkf7CAHgI0AM/yrDxFDZysyXgPJf+KMG4TWZoo+eAvVFLgc12G/W\r\nhJjYPU19eH++pPorX5+ncWjRzRavanjqyE20ovX/EcV9IuJdbOoQAjGi8skX\r\n51hgfY1pZmc37sfNrE64FavIbiM+w89jyv3CB4K8KwTcx+PtPbqQFw3Zb2bF\r\nKIMaMgcC4t5FUFnoJ7uv/sSds+1QxAwumtAs8GRaRCU9BL7pTING1uKkjDCS\r\norVdQn/oji3RjJH0lrinKbb32udM75j2a/cx78lzUkFoc/96J1N/1ncxcmeK\r\nPvfHug3wFClefglmvUDKd9di/Ym9jwl9BKCk7FfOUBTSy2VxGPe+KVvJnRNK\r\niBg7k8jHS6c4LQOV/sMTeIweqAjlEr6ZY0ALF7qiVtjf0zZaRZRMDoIO00nG\r\nxBoT/pYkssLojyR0xhIRRPhdkfWhmWoRRgRmcqqvHL9UFCiym8hNRB4M+I7z\r\nlaPL7HOSbTjbBEqDyMxIafCdIq/+vXjvRro=\r\n=/t/W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1edf72197ddaf5b6318f71205888f8ae695e9b29","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.8647092f7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.8647092f7.0_1657226282708_0.10851210786119192","host":"s3://npm-registry-packages"}},"15.0.0-canary.02ecd4d85.0":{"name":"@material/dom","version":"15.0.0-canary.02ecd4d85.0","license":"MIT","_id":"@material/dom@15.0.0-canary.02ecd4d85.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"905d1233c16ca3c74d2eef954b5376313167748d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.02ecd4d85.0.tgz","fileCount":28,"integrity":"sha512-vbh+y/LczmNrdZa2aaQU/v+eRA0lfnZTd8PvXjyguFMwnOLsdXXXMJKekHhQtFJtN9bWOzyxnWgrH80VFEPA3g==","signatures":[{"sig":"MEUCIQDo8gsmE0EcEJo4Nd1VceUD4+e+MNRnBBhuflre+IEEpAIgEJrb21GwwSeF3pdtLy+I76ysllotX5yh2z7FB6YBj/A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizFIHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqCtQ/9GJw30g5jBm+Nv0VaNqeSD+4+iOpKDbkdLkIb1mKtCvDfIPAA\r\nY3MdwEWMog83IOw+nA78t7w7Sh/RJ6okSQEcE9PLa1fJzKBsJAHcneCaz+SU\r\nsdPelmxiWZcTc8gssSaMvLMwSydB/wq3dhzvFMfVhdyyBRvOhb45zlCR4klT\r\nS5czDnF5yGPcTlvz2nFu23zEwSt1MIb8hV1tmdirrXpLInvpRaDAU52HLdaw\r\nN+cWjYG2oZaer65cXL9IHDsFAJpBb/wjor9Myvwoxy6wZz/SSeELx2yFgxXP\r\nj1tdXK1vKCEqkJlTWhrXBr2BtcEDLP5wwYZQQAiQYsBDpMqec6+6TkxptMh0\r\naFVOon0g+uw9Qie55RW4wSi7cxEuRQ92GIeIRu0uI5yG7Ku9pBgpxIhiSzDI\r\nAgW+2oafypbA0RDvZs0W92TqiWxZI1jxOy3MXNlHZtzpi3bFMOLXIQnbJxHv\r\nL9S6q4L4bgm4Z7hThXQ/x9/E+wwliDhAjCHjb7tXmVJrRiPHxBnWvW1xWsWQ\r\nFUnM3mLI+Eg9eqm1JcPDfUzUwIU4YA+PCIkT0q3esnPjv+5BlvvKSimNJX1I\r\n5V09XumEzcNNvQhIieSEvHLapUHoUqMYJPptYtSdpym+QUOWc6B0UpRffHzq\r\nEIW0a8eQtdYRbivXGvEia/TN4j/IEaUJ71c=\r\n=goDs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e9bd9b1837b6df66731c0fc9da61877874518d2c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.19.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.02ecd4d85.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.02ecd4d85.0_1657557511558_0.33930207369797083","host":"s3://npm-registry-packages"}},"15.0.0-canary.63d3a146e.0":{"name":"@material/dom","version":"15.0.0-canary.63d3a146e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.63d3a146e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"285ce7d96bbbd3736d329170bd96cd72891fdfb0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.63d3a146e.0.tgz","fileCount":28,"integrity":"sha512-8LVKDxyToxyf5lL2bZDjhFIxGB4lO9S4tn+BpZhF6R2YOgy1vHbFK8lzdLyaa6sIvU3U/GJ5oh6F+rCWDfouWw==","signatures":[{"sig":"MEUCIQDwf+8p9CO4ZX+8nuaFEw5SsU0mciepAUaWtXykaAE5OwIgYOI0tDcX7jpPUT9WVj5B2+k3ps8JbUReso531IMBZgs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizVy1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpF7g//QTQGHutKVH/iWrBRKH0wi4U5hFozI5Gv4MGzLdt9P5DEhLc7\r\n/WxREEN//mJoxncSsAG3kwiSSWKdsrBqwqgLIT1D+BQRtjZs1Paqcc38rwgz\r\n2mI+I1wjwl5vJOgE7uQUCTgNC387AgPNEn+X3KnWyXvGRq49PjrS08xUK19k\r\nFL7/t+/0Z9ZUTO/IPI+pOx0ejVGhrd9saiEtWRSM3PBU9L+3w19pQgXR/wz1\r\nSOt4O/kDK5Ah0P+M2e/hQhrpuZX3LZ5huh2yTpVO43EwdechPr0pV5gVpSbe\r\nqg1MLiZTJLwW2g0XRxUJ0uUzzJFt72VPkk4AZMxWJF1lMz425kuU3z32hHBm\r\nhvhnRPTMRWQXenpimwBaByy6snhV+0p2TZ5NHtqWWwn5qYf0gJFmKrEu8ohm\r\nRAONP4Lv0EnpF6A1YRW1pn55XSapgac62JyDxTxZ6547y4QOya+VUZEpI8iX\r\n6X/Jvx+tw8GoUfHrM690GP9qo5xWwkToY1gCVPvr2k3y1V+hupyBz2NIJwD4\r\nf+j44EODWkUU6mc6a0XpvJ/RR9XRQ9yl8yn2Z6OyLC3SUE77NftGxzq79cTI\r\nakGi4V6EROiNMyV20BamL1qzajQIvVbmnVKp+uWWfonXxVVxMB8GRJgfA/QY\r\njuFQsyTMkDt0w2YDyih/Zxz1mNv7XRDsbzY=\r\n=LLNC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"593f32d351d8703bd0422f65b3651e55f97fd31d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.63d3a146e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.63d3a146e.0_1657625780874_0.816422595855349","host":"s3://npm-registry-packages"}},"15.0.0-canary.88db01990.0":{"name":"@material/dom","version":"15.0.0-canary.88db01990.0","license":"MIT","_id":"@material/dom@15.0.0-canary.88db01990.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b8a9e23b785467e774f3e009a6d5240212fa4443","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.88db01990.0.tgz","fileCount":28,"integrity":"sha512-6Bia5TiXH5Kt9JAUInJGgMmY1eeZYZzJAtigUpNPsgPNMMwwTkr6wFavGo9KU6F98PhvUVsZESa9lvDTU8Jk/Q==","signatures":[{"sig":"MEUCIQDBdUe1aFsNPSVxl/37L6PGNR2VwqGbpcHw1qatQHIwvQIgD0Rx+0mSs03f1l8a+u+H8axybxJtqZzYMRrSGv/XyJk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizV1mACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo4YQ/+JSrj3E7WQqWwwgtQ50CpX+QPDK0UTZOpvSHjxT+R1P+fIm1v\r\nr43PCq330cgEuxokC1DAxQoP1lLnNTIdLLqbiVFYQOzWEaxQK+c4OOaFXBX1\r\nsofkglTsS91Sv7ERMZOpKrtDkkC+mNepYhFdYQuBKodT4+7RbiArvu8yGr0w\r\nilbLxpKCcbHJc7Eqcfv5tXM6rg8ouecI2iaoxa52Uoj0VxjaYIGo+eyMaQFV\r\nF8y6UqI/D4mDiZoe2Yjd4S4EXGqn001mTuq7e28Urh1hhEQR9dyzNQIqG5IC\r\n1EOYdTRvx9ShjwRu8237FKVAPUUiV+RCBz3+Eiw0SkegveU5cG36F73lMLnk\r\nnZbBeIIDXWEcjd/2nIYRtjEg4tOVRcZ5G0hzSJVOWEburPFPDKR1dkfxoLrd\r\nJ2iwf4Ut+V4eelON+6jcUWbOHbeqS6YYFC0w7IyZueaGG5XGknpfKGNlbpa2\r\n/sT+Ko/6J7mFlSa/5m5TGcRZ829iMuWcvPJ+jc69VuJIqnUqc9LLrvM0LHbw\r\nMqOsRP0xGvihGXkNt83wfGT/2WV2Yz1PoMun7Tnzw3YTdW+0OVlrz1driyOc\r\nDd9icUwFIjBUcmZrUTDwVAIv3btC01D0heZsD/hZOorTbTrVC+b5vYFVDCA/\r\n5CaluMUZJzb4u9fDIDIvcEmsjJfjblVfIjw=\r\n=9aAM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a2570f15e2572775da6e1894e5310c107a703ea4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.88db01990.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.88db01990.0_1657625958355_0.18514495143701448","host":"s3://npm-registry-packages"}},"15.0.0-canary.6432d8fd7.0":{"name":"@material/dom","version":"15.0.0-canary.6432d8fd7.0","license":"MIT","_id":"@material/dom@15.0.0-canary.6432d8fd7.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b3772b8298d94fd7dc9008754fc6bd4afd3c40c1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.6432d8fd7.0.tgz","fileCount":28,"integrity":"sha512-LRl7XWRziC9Rqtp8ppnumJr1+WCt0QMmjAf+uYxGSU+sj2ehqgxK2NtyCIn+mNVlfvTjk+ilGH/5irh2yy13Qg==","signatures":[{"sig":"MEUCIG8teq8/147PrYyXSu6yhK5h2MQOJgKPBKninVD/aTAFAiEA2az7gqh2ckxc4wNFswUM5Ztiaq5/I9bRDTvBb9Lej9M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiz8WQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFohAAlO7AmbGZHOkxqQxwkonObY93YUIXGDS77DmikT8ZQftfVcbY\r\nF4OC4IfZjXtBhb4U9Xd1dDULi14+jeNfOKQlHxT6oiZFgTnaSSZKaUV15HV2\r\n2o6OHYVvOYgFdzAJH4N6h7Ack7oWOHD73PJYZPzkV14GNVYwBI+S6+PKo/x+\r\njEfG4pouVDVP28jCvUC+Wkq86RlajX3xG40iyE/34tTdigS2C6/xvdJDCGP5\r\nkdG6Tc3CwYFFVUWPLpXqAOd1NEMNSfebXCqydPHYJEdwcHEMin682+i5wqnj\r\nuIS5hHQddbc8UlQ1iltffvhcW+oTqtMbI2Fh1Uy33vClfg+9vVVKzS1oxXbf\r\nnwn86F8PUDUMaOnDdoQNNX2TWqlR0iNm5JnqHfofH3phKC4dcurr0OxVXX6h\r\n2l9qZcFG07Zh9UlCWCE5ZlX59/K2Zb0AWYnWmlAkiZtp8ICWX3JQmHrw+D01\r\n0wLuUY13TKQrLiAC/CvcMGuH9+4aJqEGqRQC81wW0nRJ5NsNdbKk0izOfNhl\r\n8/dvmO+VmTRfsPNKWjRaEbGl8toAN7Fo3yHbX8MFYNUckZqSeHn5udtzv74D\r\nnIl/OjUuHKqQUS+MeNmz7elTLXKY3bE09lZppGtWBnzN3ONKruztTcWFSPm3\r\nRcRL2m4Hs6cAKL7TMTKLiJ7rA2B4guysPDw=\r\n=kuE1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"307aa53d6ea873bb978456b538f97f9922496798","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.6432d8fd7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.6432d8fd7.0_1657783696150_0.8482546935681372","host":"s3://npm-registry-packages"}},"15.0.0-canary.085f9b25c.0":{"name":"@material/dom","version":"15.0.0-canary.085f9b25c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.085f9b25c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3d7564535f985bc2e22bd01db5dcaed54adaaf70","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.085f9b25c.0.tgz","fileCount":28,"integrity":"sha512-aH8X/iU3pNCB8U3rnSvRfHCPOXE0U+lDY1w0myHb4Ghv+DuXGePptshALEHpVBe+ig9FIIWVxUtmriOeBzQ7wA==","signatures":[{"sig":"MEYCIQDxtPm7W/T37toRUxJl1eQxY7/bPMSsi6QLWVqljtLRggIhAIlQIBG/6rjl8D3yisuOduFUpZ3f9qRape4P0Ozt0Td/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi0EWMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo05BAAjYAok5yD2fnmeL4RbvSomwEeBEoDMKgVqFhUcbddskDal6l7\r\n2OG858lpqcFTKC9OcsZ+YMOHTAtATTpHvn+wOTrzl3jljFo18SvS0tDpg0OE\r\nsfbu95Fr3gNlY5JX7Q0l4JXjheQaX8hz+udUQbXWNcHw+w80/I1Dd2SOQ8Nx\r\nfxYv8e+/9wuIqROKRv3i2qcFMl1fy24VgF81HYsAl04KIQ8NbLHMvk7vfyA2\r\nGZAxxNLgsq4KhrRdFDEffswQoFvtT6QWZdv+EHfRztF2dCBTzKUPzGVFsBAD\r\n8DLldDIQa16sWiaGOqDeSD2dNx/PoNEJ29dmEgpdZZubbvJ6JLe8RLGKXb03\r\nJwV6oyQ2C9iECLxCg289SvY2NFVqlKAbVRZufSRe0LhBaCfVM26XOo1FNMpr\r\n+3m4d2I/1pbfHKZD5+hq7yq/oCg8A2uPfYbKYemWlj9immjSRpTsnPJdaRVT\r\nRHx/cTlxn3ZGk3v2P4FF1ljboKsTtKzujTFunTfzsKsjBH0m85VKdf6xeHCh\r\n0h3nr0V1M9AchgU7ouCi2LiCZeeFboJW11eIRCHX2CB2Y+iATyGwAoB/rRzK\r\nm1D6svwUERQHSkh+OVWMch+HPiYYLHsryV8Bm4bytJ5hpaYKJZVKkMPEHIuS\r\nYsxnuRlivrk2NYOAAJxf+DVzSzlkK9Fu7hE=\r\n=B31l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"766a8d5f5fc7e4e022835f16c6ecdab8d2ccf071","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.085f9b25c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.085f9b25c.0_1657816460372_0.32478196347029575","host":"s3://npm-registry-packages"}},"15.0.0-canary.39f9424b3.0":{"name":"@material/dom","version":"15.0.0-canary.39f9424b3.0","license":"MIT","_id":"@material/dom@15.0.0-canary.39f9424b3.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1e2c6f49df33289574f6dbd7bd377b86ffb971c1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.39f9424b3.0.tgz","fileCount":28,"integrity":"sha512-M7wozMNDl8Mu9dGKC2MZcJClzA1smKrSa35lOFjPBLmIa/lc6zkUEbSq7ESkMcLvWU2wjwZeDU0hq0D2Vt87yA==","signatures":[{"sig":"MEYCIQD2aO/pE8lj7yKkntgGZcFMSm82oN6griCQtQfTSReOUwIhAO8zcEpWVLQP90bFqZZo0Ad1j3hZFnTtGkKnbZfcZy4Q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi0EymACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoO7g//aquYVjkP77T0t1JmdAoo3z0jOP1jpGidgWX4vnbLpJC60xV3\r\nTYoTfmKh6ltHePuZVZ/62T9LtutpSf+3T6OLPp3ktEaKVIIPcni2psEdeY3S\r\nXLGBClNgjlPrMFRq+Ir/kFOjOqTfHOUjN+QHEvpJwdqsyNfyivycEle28kAl\r\nyeK/36cDTvilScSlNgiVtnZfLmEwPfN/tFnUAgXWM2hC9I5ftWXIZZbSqPWy\r\n4sJfgIKlg8kbXrIaLNkVg1J2juHmUE1/9+ahLyZzoyfpXIonmsKmSky/o/pc\r\n6k8nZvbFFhvww9oQhmFNfU8TAcI0tmqeS+TxKH5AewOw8EFNhhxmNQneO+/j\r\nW9BsRVd5crVLlzwsB7izki16pOtCUFRyTdNW0tEsG06Amvx9NEFqW6A63MKf\r\nuVyX2HLdt5uG3oKQa0926/aeciYIfLXzz3GrIZmo1zL63jj7RgJB2Gr4dkPq\r\nkXnBIjVFboxzQ4qhqlfsaBViTMVZh0562yaEqNEdjTnW+XOiXOc2wIQnSvFu\r\nLAcSvlRHekN5XwCDygBaJ4Ixt4Zo3c7E/lVvN1TD/t+Tu3EAuKTBovvAlxPg\r\nYK47wmKtxHbGgau1j5rNd7JjTAygP4I9/brIc+IWHsCS9uG1zwHtYCuugdHr\r\nltvi8lgvVDeMwHn8M7PQ1mFoDfIs2Cm6VEw=\r\n=QCJ0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"62e726843fd90c6139d8ade27db8da6ded6e1d77","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.39f9424b3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.39f9424b3.0_1657818277896_0.18327266152659316","host":"s3://npm-registry-packages"}},"15.0.0-canary.ae9fce587.0":{"name":"@material/dom","version":"15.0.0-canary.ae9fce587.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ae9fce587.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f40eb2bb831391a7701d33da0a196ef53b43dae5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ae9fce587.0.tgz","fileCount":28,"integrity":"sha512-bBEuDCm0hkUmcp8oGyA4i/3iJQ9XUdSQPl/YunCxT+sjatODuV7ZJirxdo61sJ84tvGB3v5cCUYqqIky05qJlw==","signatures":[{"sig":"MEUCIF/5VsBH1ZW0BiCbn8LKzYfx/utTC7j+ZVNhe0pS8SdaAiEA0IB2DlNGkxc6vvJOl1KnwUUwRvEastsWEqtoNHQoqS8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi0FtlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoSnA/+NoGDTotNWbSn9j+SD03vGNbGYnqxPCdtp5tXWbbQyPUkEFfW\r\n01NqMzfs0IFAMvFtLBaSjUxCqV4uzqbKmtZ+JCulDxG3nuHTsgE/hgQdcQ3T\r\nTrfkHVv8OWgkaZhHhhN+jMNcLEzleUUjTkL+z6Q5/ItuGKpNwZeaKo/xX1uV\r\nJlHkwbqYWj4G2UQemcNsCrvU7f3U+XvGAGE6HEIXzOkuCn0E8Kt8kcc0uAhN\r\nwijuS+M78TMvSauoCZZfwZO6XQ9ODidghjjDbElaNjw5OINr+2kT6Hj09juC\r\nAItVQx7Aln5+zaHL7vzmQgQ8ykfcgbum+dBRu28q4r1NrbQSYrnjcp4ZXwnc\r\nxAzTimuJOWzt69T6fWiow1ori3Hhz4SO5HjyilDqn7MM0ka6fb058IdbyVjx\r\n3men5MDN19jeu71E7UJS+irSUWqBpf9kuvtp1k0+bTO1OsAW9SazkrpAusA4\r\nGCtMPsUuLhvAZZLXhy0SiyX/XqDHp6vPiF/tVX6uZedOUOaoMTB2QCSEnqVK\r\nCDRydOXU8idf3JSOx8L7uKNAMgo7PjunvkLc0LTuYru/JZwc3d+C78NU7CbS\r\n+jfv/UUuQpmi+V8tOlcdwFjRdB+t2tmuSAjtmBzAK1AirwM6G0JpgDM4F8oQ\r\n8Oggq1lnicW5nzuoqKnkspWh56Ke+9jmbHo=\r\n=dqdu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2d55d2ded8f3ebf66d72baffd67452a8de349b3b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.ae9fce587.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ae9fce587.0_1657822053049_0.019012433650305027","host":"s3://npm-registry-packages"}},"15.0.0-canary.1ebddc343.0":{"name":"@material/dom","version":"15.0.0-canary.1ebddc343.0","license":"MIT","_id":"@material/dom@15.0.0-canary.1ebddc343.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5d13046aa36bd76375bdbe57b028e53f95f99e8d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.1ebddc343.0.tgz","fileCount":28,"integrity":"sha512-ejO61ixUKYiHBpBWSZtAeNvVTJNfoQoO6ZJBVSciLQfZB+gL6SaQxCORhsw9NvYXVI1/bNLP5kFQcqn3kt568w==","signatures":[{"sig":"MEYCIQCHXhmwiCbnCtrCmIUY9gYJdu3HTOq4SQlmAbq+xz4TVQIhAN63h+h/KdNp+agYOK5mSO1+8Sl57MB060NJVrazpxTM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi0SntACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmofEg//c7vSGOtP71ijisjkHnFJt3AkqAT0LGtdYYkDB3H6o+nghAUK\r\n5z/c77xGjgbEyGgWfK5UXawONnaNcgX1pjwcuJ0b8tn3Bdhvc12i0M8RSbfU\r\nN07ZRccUxUQdj74EgO7l56/UNs0aqNsSCvpnMy4BonSI0M5vPqEKtXpDtQCj\r\nfTsb71p4dyHe0NI6JMxLodTbIZR5hKuaGBhgsTQqFN788qsrJFZpiuHgq25e\r\nVfBH9mNQVascsvyOVA97Jmj+pON26Kki609745rWiLgwVVJaQiQta+uvCym5\r\ncA+fERpEY65HERupILOM6TovyNJvEWC5LacVmtjct01bwSvnQLRxNnLXlppf\r\nqJztwtwWIYH0F5j7b6dXvsX1euqeodEQSGcYESwWVenJfcvNyep4lzfLy8X2\r\n7Im1Q48Wt6FzL7wAjvMSODnWtHIN1aWDfligJUfCd7SxWYZM0A10calT0wvW\r\n2zxkgGV5/AYQZH3wDm9xSMwTtz8m5PEq67BIOuSE4SPug3AKjOa6b6H8pHnZ\r\n6qF1ofcZUfadmg2oqc+H9bJEonvCMsB7zas1DAPgIaNyONA49+HkF9/BUjCE\r\nDqW3omWtlyuJznInwq0Es6dUTkl0OT0K+6bYOVfuc9UNVylMgRttybf0uzp/\r\nVGAXuXQRL4GkMLc8BcnB+31jQnX0wH2pIls=\r\n=MDXY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2ec31cdb5e8e1a849368a3f352b213919bec43df","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.1ebddc343.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.1ebddc343.0_1657874924938_0.24687844786450253","host":"s3://npm-registry-packages"}},"15.0.0-canary.c5018840c.0":{"name":"@material/dom","version":"15.0.0-canary.c5018840c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c5018840c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1939e78d88476201abfd464b2f948864d92afafc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c5018840c.0.tgz","fileCount":28,"integrity":"sha512-0w/w+bKvZgpWJDk15QcN+8g3EqukMd9XVR3xYjU0GCdjKYuVYJZTl78epdSk/Yp5xjmZhmu+Az1ELMCK8PgN5g==","signatures":[{"sig":"MEUCIGMzd9cRdWDotB315pYFRHrbHE9J9L0J9bUajIvvBeovAiEApUH6+v4TzHiyynMXKzaUmahu8BEIT8Bmj0dBqG3LKqM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1SsJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoI3A/9Ho0o5U56w0qN2YJOgDPUtw+5YIDVEylOz/fk9gcvutfZDV+c\r\nDxI3f42LoVhEl4LnK7aN0P5T+57ZeX2iqfH8S10J2iK61pQvcdJ560ex4JXC\r\nHX75pivaA8refUAPdE008MVwhfpogbAw3S5CbpFEhWj0NyN2jJALrIG5OOrK\r\noyndgvz9TPtKpzxVOTG5VsJY0DK0paVb7zg/MSjmj1SNsqCUI0owWILbg17z\r\nNxuhf9CdlMRPyEpd9ABQuFf9IQnpnAqD1nn/1WTOEsEu/3Tt7vzw1f2Plcik\r\nmUXe20w4G001tNIydSOG7nCmmDeD7NrNLY8AxFCfmPXItYYSoIoP+BFJ1Jkn\r\nEEkYNd6qDCQcENSklAU44j5fujwl7yQpQBo7ZoW/aecWOhOQQv6ZNI+bJ8qY\r\nlkGJToohSqRtEbYMG8ulZyeHpWP3Vu3ZSADqA6GfFnf42ztCfiTHqbD2oi9V\r\nWA1pHKk/d6vAHOemI5rHCXdrwzv3emv17FTiIqTRZq0PV+2lfVeNR5MrbrOZ\r\neFw0uOErZxA7vJuNkKrDxgnv91BSVuGOvrUPIZ+R6uq9ejHcvj3wBELtLM7b\r\nLsFXX/FRGrtfRE149LFOB+Kt5PJkkSxzb2DostVyo9AR+4BrohDdD0EIJ5NM\r\niKKf0w7f8hh9nq/s5Rei4AS1ay8fb5J0YIM=\r\n=6+Yv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c86de383c50b7d72b8c5cf908c5fdf3e6efa94c4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.c5018840c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c5018840c.0_1658137352939_0.170348881124067","host":"s3://npm-registry-packages"}},"15.0.0-canary.551b40d18.0":{"name":"@material/dom","version":"15.0.0-canary.551b40d18.0","license":"MIT","_id":"@material/dom@15.0.0-canary.551b40d18.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"02c7e92e2a9421db28aa6bc2fda17eb712a65da9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.551b40d18.0.tgz","fileCount":28,"integrity":"sha512-jQEcln1WMYogYjHKlOWHbKDsAjICQejSip6kJLtSxiVDae6xvfmWavmh9DNLmYbQrFBfYE51ZYP4ZOlHP9EQYw==","signatures":[{"sig":"MEYCIQD3pT+WiRyFsiSbXGAYyjvp01WwtfwSMFcNKMDqg5b90QIhAO4PxuJtNERUpUpmsawgcD0DP5OwkXI9tk/jVvsdY5ZD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1S8vACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq97g/8CoHZmZ0/TKc57lfytDHtabVjQ3GMqupVoqFpDJ+d7zHYjbld\r\nJnxmvW4rrz5vZZBeV04x51k+SoyRLubyQ71Brrac6PEVFIt0hC1iC7tD1dXw\r\nbmZm/b01xCVV61LvOOOPxYFAEEqQHPXx1d4E7FhTxNZPuVKEonKVo8lmVGfn\r\nhBoiNJZ7LEd4dM+xiM8uVECQaEt7UrQ//Izm768SgXocB5y9GP4BKa3U0FUQ\r\nv7rKr3IsOavKvCA4NkwppY87qqtWA+vZIXSCL/i4UvKW0kFSRfc//e4wqdEu\r\nlnoxMTWJUmIS6U+u4+9cu6JSfhKetlANavge7jfYu3s5T+q09EbMNe8WIeqL\r\nrAa7YYQ+FfAxYqFHp/bQhfgcigU1hisTksAzPqzkeb0fRwET/qZHpjt6mARJ\r\nuk9Ftg7hQDpIBG4FFX5YL4Sahmu8LEMoE9ufFmMWhRZmgvFxatvgUQq7J+Jz\r\nl/iLjiVkEm1Qx0lk8TWPdmaeTMW+dMPPJl5xV9p8H5FwNa8pUW068kclNakW\r\nWGT7KySUfcZHN5KMuWRJoOuGq62CPGstf0LOhTWjq+8eXrNFMb3J09Wq3hCK\r\nezZHoJoUWgiOicnYRyEhlDJmYZPf/2/tkrj1Q+VMfso2TiGnUBr9wCxmqpX7\r\npE34iy3oAOMxnSfFOTN0ldeC9Y8Y/CZ/Oe4=\r\n=XDWb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3e9aa3499438031c9229cf2a18a1a3672620853c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.551b40d18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.551b40d18.0_1658138414978_0.4502143150538729","host":"s3://npm-registry-packages"}},"15.0.0-canary.cf9f12371.0":{"name":"@material/dom","version":"15.0.0-canary.cf9f12371.0","license":"MIT","_id":"@material/dom@15.0.0-canary.cf9f12371.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"84fb0900cdc4cd5002825bc5bdd2a09919c72da6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.cf9f12371.0.tgz","fileCount":28,"integrity":"sha512-E1AoqKz/UTean/r9DhOLpU2jYu5vXJi1q9PhVx0oYU2vAZHJaoq6E5SmBqZniXVpE+0uw+g69Mn8MWYdtlVZXw==","signatures":[{"sig":"MEYCIQCu5tJoy6hlakflvnvRH5wqa+vbsts9qrDPQpbJHpXH6gIhAKRlUJD4px4UQlymdottjQ5Qaspmrv+MeTh4cJrlBB6+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1TAlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmotdA/6A4rY26tdLFuq/Iv3tlSDnwDc8ym7HDrMnAdGJfD3/AZISJiz\r\nCTcLpWPfpDO+xQ8Ihbo0ajfMqhX0lW4vDpwVY0cub+SAm6cTf+DltWOtM2iy\r\ndAlAsdGFtVD1rKEcWtpVOPVCcAEzDM7/rHF5IpY1I3YM61dWB7SJbQ22tRbF\r\nFmrnOtg2+/+YaRmjvQ6HUxoWa3tDKXbaGJe1Ata8RZckNAIdwiTMbk7IpD+g\r\nbMOkerXMj5r5DVkV0dEHxlctgON3CqQHkm4DHhjUovMg221Sqm9RD0K1kzk7\r\nKl+h95QAifzr4rdpFEqqBe8nmTVWq0zPEvYuNsIl91vkY7BrK0guRYCU6d+Y\r\na+WzY/Nyl83V7S8BKtwrh55UWqF0JP2/Ed3UfPMdh5TUx7xlnyL2KiKh6Hjw\r\nYhAQ/Jy/llMCzc6DJ/9IgKq561OP6rc9TZFgjjQMklfs/4pIjGjHb+osCN4o\r\nuQIqr6px6qqXtAE5OTqH6aaKgpDYn8K/SjIxc+A3CuenMFRpU6etHggN5f7N\r\nnV2EpYw9fPH8liJE2+PPyRbxNjG1Xul5NLh3It1tKgxcF3N6NdgJrOt4JXcm\r\nBGVN/OvjNuA+n889+yjcjWgOfOomBdKML0Ld/xyM9AmreuqA4Kqans5GGdcZ\r\nd6w0XFHOVw1OZO2k4p1Cuv62WcXLJc8ES4w=\r\n=SEP8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1817e344a80081e042f37248beeeb96228402878","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.cf9f12371.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.cf9f12371.0_1658138661715_0.3794706517931421","host":"s3://npm-registry-packages"}},"15.0.0-canary.2797ff8b6.0":{"name":"@material/dom","version":"15.0.0-canary.2797ff8b6.0","license":"MIT","_id":"@material/dom@15.0.0-canary.2797ff8b6.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"50661a5ed5a16a53f011de1f95f38bc8765aa7f8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.2797ff8b6.0.tgz","fileCount":28,"integrity":"sha512-N2EQ1wWyRoMlRMf/32yulSvfnx2/j7iVu/aWXuUZeOhFeBbxPhVig0zxLhoCmfDG4nV9hOYxM4nlAuB+r9cTRA==","signatures":[{"sig":"MEQCIDK/fPXX74FJWAODSE2mK4Pv/DPCQbalbzjDrjBOtfvdAiBRLq4Rj28sSWfWN4lZEGMJGgHRQDwUSTMNyHpLPQ05Dw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1fl/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqDrw/6A8TVF7NVIOlFhneAjskiN5ShpudeX3e8AR0055Eteyfq3Wkn\r\nPKT6QGkkrMBdTPkSP0IWlAGldXHUlsWomsBkkw+aKrrU5LewCouwmB3hK6hk\r\nR+OuaSJyHQJzChF6jYqaCwOuHCxzU3MF8uUC+2VA3biv3ghmmheNSJqbUwps\r\n8snlclhoIMyV62O0hBHk1Rvt+H31LD5a1yVkcGS9DlIp0+/nfadlecC0wpVO\r\n49gsvU7j8/KdqGGLkMJFAcYsQElk2OMkPQDYouxiXjd5dMPFGbqtWxuRF32C\r\nhtnv1yD+t5tfoeQOUaPtstGjmlJ8ocVGiaB8AkeYK86Terbt5cAVqz17XMrV\r\n/NADU+NvYdD8aGyeIFN3iD3JrfEViNqM02KLV8wQt3YLfpy8+PbY8C6vj6CD\r\nSsr8QenGMSS7G+CuQxH1g6swR6ke5Mi0uiSJKlPXm/4WndWrVDiU49znKlEq\r\nd/ElDwP4HRINmnz+C3Jih2+IQv9lE0+dMLDvNBq1aFYs2wJx2Sjo7/iZkRJX\r\nkDMr9F6ESP1v4SIZVZmd9LijgwzzqTmg+kAtcJKN+cgF+4LvSaJsCC+an6jg\r\nePm6lalvWo6beC+iLo1IQBSYqXyARXP0KYA0TxhESLafDASUJqw4GgGn0SFK\r\nzx0IHbBeqbNt/b5P6E58eJyn5G+aGVw8VuY=\r\n=eVUf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2c89951e5e0cfca0b1dc61a4f30259b33cee139b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.2797ff8b6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.2797ff8b6.0_1658190207735_0.6955186126214499","host":"s3://npm-registry-packages"}},"15.0.0-canary.110fafa17.0":{"name":"@material/dom","version":"15.0.0-canary.110fafa17.0","license":"MIT","_id":"@material/dom@15.0.0-canary.110fafa17.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"245c4a8c01f95c9a844cf4a6b8c4285b53ef8561","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.110fafa17.0.tgz","fileCount":28,"integrity":"sha512-waq3+ULjPWgWgFMwcTH8e5JX5V0imI4h/X6roYOYE8Aq63xVwY2RB1e8xRaKJl7Yd37dPfOm5c9SuyFFmoWgPA==","signatures":[{"sig":"MEUCIQCiaFaKCAj5AOpI/beHjCsn/799nxffpvTZU5gay2rywAIgNl2aZSs2VTt0EM0D/4T5X69a9iUW+HiQjMOULjVYJks=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi17K8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoshA//aLRom/jGAZgrUmAlR8qCH8hO8ifLyVd/dQdm/1u+PpNm56L4\r\n/gjt7mq6Ly7EJkpNh1jV4qsdXFfB7Ct8I550OcRj1xZF+FK3CY1ZzZN4qUNK\r\nTx/gsRa13dhPgqA1xT5tgeK+Bw+hvEt0Dh/rmsi/UMaIudTzwtAR6EYVqx0w\r\neZ+A0n8eTo6XtpzWbFZZZZeLThUsZWEXORoGq2QBkWorPF275ezRhrHUAt5i\r\n1dlpGMLm1kpynHuj6EsqS5wdDepTXwK98Rfex1MGnh6lKoMy4bM6cuK5f69r\r\nZzkMwrF3F14MgqeapLgkPeCneW3U5qt2sczem/4dxrTxX3WP95Dq8UKyoRRw\r\nkt1KU2F2PneIwIkl0hMNqDcpQ/vks9EqvllfGW0+3Q01+ZPxj7U7x87BSK2/\r\n0Mjrt8bdOjC5OHQT89RO/vrbfBhcgBGUNi8NY56lj3ROI7IRXEfvFVl2Ypq+\r\nEaYIh4LWCQn8RfRqPEthVbL3B0NKOw0/N5NZuM5YjeyEwq54TPhUWdCd1C5V\r\n9IA+7Gbctadc51PJpq8BEwblTgrGzs1NkRnyH4JPKxA7fqglAZuDUD7Ba8dq\r\n+KCZ+04S6+YaA9/zbXBzhhsSX8C4h25AxAG8L3UbFytkwh3OO07dnvrAxEF2\r\n7EoW0EwAylIlNB/ZPPODWsYkw5VpMOLjXlw=\r\n=RTkZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ccf0ed3e8eaadf1526fd10979e8c00e79b228f5f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.110fafa17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.110fafa17.0_1658303164502_0.2753058857006845","host":"s3://npm-registry-packages"}},"15.0.0-canary.386ef1d2f.0":{"name":"@material/dom","version":"15.0.0-canary.386ef1d2f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.386ef1d2f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f7f1097031ca5e1c94869f4f30225d6ccc96864f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.386ef1d2f.0.tgz","fileCount":28,"integrity":"sha512-u2sEj/ZN7NJvacNXp0KaOKCZdYl3Av4Tr/lI4ZOcT9VlhfTVniGVpoWNtqqrLSNnjZs+tUZ0UYndD0XO13NVHw==","signatures":[{"sig":"MEUCIQCM8LLmuqvRwCuSOS/D2N72XvuQT32oiS1P6n5DFBwHdgIgJcvd1e1kEnr/m3ecjh5wZ1jXfl2m/y8gYnpUFKwZEYA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2EceACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFzQ//TRSKB6rev6LtWi2mVzA7ZldfDKSgSPCMalhvIj3qFWun4JyG\r\nPpnguO02NKyjl9c0zAKPxcfleqfxb3EUMaFR8gUNSzR351CZxu8cSX7u9qjB\r\nhP6GqcDppiG3ryuAs0+YPgs0Nt9j08xn4+sGsdR4YAgvWM5SNUo4SdrGDRT+\r\nUSpew49TBf35j7uZxJAJH/sPILhHNphv27hwgt+pRv8l0wJovwtApd4DhKCz\r\n54iGW0Mq5M34HqOzSZTv9ZJBwukyKtxRnIe682w1MbexnKOab7p82/Jk/sMi\r\nmodqCV4o2YlpMyevrgRHig8XMJp3xpHq7xACKROBpqAnbv6QfowOqGDQPHms\r\nqcyqI3s1hl2vCEsJNcV3OZwG7WVZwGZla017EtBtz+CTFtfN8oLh+iFgiHKg\r\nwD/CJcTtqGyb0HHn8BNUdIf7TF0/A/Pi5nW+UR5bH8UJlParNnpPSHBvKfGZ\r\nBbgb+/7oBgtft20p6MVpSCY01XVo0ZdTCD34+cqnomO4HROATc3bCrOVcL0/\r\nz/3WY8d6vshg6ulQUpZkLSjNXe6ukyf9x/09QmzxkM2yJIh7sWTJ9YZTV/pV\r\nKkvVXm261uYzM71gdZLMKng86zOPPYJVz1V3FK7Tn4sE/94b5C5Sb+EfoHZC\r\nFwsz+VwHSfXYILVteByF6mnkOqIAI/XvkVc=\r\n=U/63\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f81dc27b99348c90268023c46429639f145ca534","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.386ef1d2f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.386ef1d2f.0_1658341150212_0.5458739970722346","host":"s3://npm-registry-packages"}},"15.0.0-canary.c3924efef.0":{"name":"@material/dom","version":"15.0.0-canary.c3924efef.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c3924efef.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f40ab2bc9e8cdaf5a043aa38660786a43313e1ae","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c3924efef.0.tgz","fileCount":28,"integrity":"sha512-j9PQmA/ayQ0v6sdurMC4KkCe0o1Hd1qDVSPt8YQxEy6cKieJ3vpfuu4dkiObpmVbuH3avBFei/HaT7W5pw8UhQ==","signatures":[{"sig":"MEQCICroi51U6oifQAYaUmNo/YsP9h8x0N6iU6fO23uBNnw9AiA9cGTiCCQmDzo0mCzWUTBdfRGCpS374oWc5WAKtFYn6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2ElMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrUDg/9Gaf1GJZAazaElKk2w02TWKPFPAUVR+6vc7IU2uGZoES9zIXN\r\nftZzQTZilL/xobhjB5lQ2H1h2W68EemVYt/wQX/8+Ghz76eYDP567TvWDE0X\r\n5NVYzRzJKlxY1R4RzczDsGN5oH/SwIRN6a5uDcln4ViKQVBmLA9JMPNjU8Kd\r\nbCDcOoDzwM2wgj5ehOgWgSVwj6RV2lOo0bI4noYMe6bqqdAgFJTUWS93pnFO\r\noZuj7hr0WpqzCi7c2PtSDpJzosG8EZbmyDsfwgKyZ6gT2VkztJGtUlUboljo\r\nw5pigXiPVBZViaooEO6j8aOp1soul84cwLZAf9cp1JonXtLJketS55MF6+eS\r\nnI180/Oyfcv0IW+nXHPFtPIvkHSOPPW3iF1rJldV0QjHJRHO2S0lrRdB7WOa\r\nF2JigZX1TzU4BwMlZdZkPap4tC7HbMKQMYEmwENDIpNIN2SAzPqnKE0n6CdK\r\nKsKOY64jP2X5xY1mQdyvZi6RdDE3Wc9mhnq5Khb1TzFvCYPFLYGxiT+6rBVZ\r\nBbk0H9MJ6S2wN92Gx7HwvmwmytBedPWWeANGbl9W/+njgBqeERNoSbELiMvT\r\nw5/4NlUwyhNZuCBPkjCQYZAZdmFFT/FBjjtZbOOBTnH2uZAGcKLptJxMyrIf\r\nu+HbyFnaEghJWmDF8IfTakrJcWao0svSa5E=\r\n=PvIP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f665d9454e06d217296aa1a2064c9c67d3fe2759","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.c3924efef.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c3924efef.0_1658341708621_0.1862155130993166","host":"s3://npm-registry-packages"}},"15.0.0-canary.cf5c5907c.0":{"name":"@material/dom","version":"15.0.0-canary.cf5c5907c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.cf5c5907c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e71313496c65b83197ef4bc0a9b8f9fcfe628010","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.cf5c5907c.0.tgz","fileCount":28,"integrity":"sha512-p1zt7pUcLERgM0vliAkaQANJUL6odKpR7bG2xcUbRASiO4cNeEdguKuAPseijHD3tlfgVpVuZzlFEbW1/RR0kg==","signatures":[{"sig":"MEUCIAZcR1MjmEdNX1u+QcV4rvQVMsrCuryjxZlvOZVRtYNgAiEA4cdEIG134ma9/s/nqev7OlUJmnDVqFcpXE5ie0iz8hM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2HHLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpvQA/7BvOBpGl/fD+LtJW6+HKfLx7DWO4JCeg6BoCCFYPcyOgGBQ5P\r\nEgJ8A7v/0LmP5tYvUmcRkV+f2F6ZB1vkUmrpv1sg6nilX34dn2ZLpKrqlCvR\r\nLF31RoU0ll0NRAqvWfQh02X3GVf7TRf8VJJhBL3k0krt25zie1YjTtV6Sobh\r\n5vGxw+H/N9xG/lFQTkvhf5WHhOs+xthvLpNV8G0OBj4nY5cYESOyvlq778Jy\r\n8frRVvaMxkJyi+j6L63OUxf7+fAtkvSxn/vLXa67i1ZtJbnpy2UCuCGoOicD\r\nQBRpo+ykIoLapu52ZhWOtMkGKo2cvaoqKQx6Av32CooCdf12tLBYB7kwhRVE\r\nPoC87LRg3NOZeveyt3z8aFQWPuVRpjCU1B0S+Kn9eCjaXuBvbqs9PSORwBcK\r\nD/yptj0YVIu78KbKWVV6Yw4GD+O3JrxOdy+ee5NEeejNoGO9LMsJs1Wws1UR\r\nr2MqNBBeSdCaC+jTCYtHTAl+ijAvi2xWc56VPAE2ny7XWAixs2F5tAUfHRTb\r\nxj+dPSidkasyuGED7deQQ+v3k1umjxD0eF0sq96+xFL9Jp1uzQg9cqehe1/1\r\nxOC1C5bVoosM0sPUj2lOynXdd7h/r3Sj2qyOWyyTzvxZOM8RMCj4aL0vhrIF\r\nUMXmHOKxEtumH930Sl4kexylAkLisB1ce1I=\r\n=2etd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ff18947542e40ce8532c2ad78551ff4e74f9d647","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.cf5c5907c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.cf5c5907c.0_1658352075733_0.8947842383870406","host":"s3://npm-registry-packages"}},"15.0.0-canary.0617e2319.0":{"name":"@material/dom","version":"15.0.0-canary.0617e2319.0","license":"MIT","_id":"@material/dom@15.0.0-canary.0617e2319.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bc234bcc9f652573878ee834102f3208327c0dc6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.0617e2319.0.tgz","fileCount":28,"integrity":"sha512-gfHvBOLXQXH3ynhZGFcSkNV2BxCLCBUxP9SPzC0Wan0WQLAG9EuWt0eyYrOu0cYMFErtrupHmx7R2qh4lnuIMw==","signatures":[{"sig":"MEUCIEFcpj5uPtyKdurWzwB8kcaxGIEeZdyK0czLboMKzLEYAiEAptvnibjBeimMBSWIvn54qQaXj/YHCyHmxlFT1HhxZ6o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2HYMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3gA/9HUzhDt/uL/dnXHlPf5VtJxJXyaxjAAXWzcjyl2huZmMd1WiB\r\n+bPDTcVGb6u5BwP1LTsNDJKCefR090QWgQfc8VG5XnfEMcgHZf3c5PMJweZL\r\ngfUgz4pX4nQZHQL7o76vMEqw9B30ZSJDiYrYAMBLCbKzqXx+jtwm6pZPFO+8\r\nZq7+DP1qTX4ONNEun7S8XbpFYJ5ghi+l2OyeSQPtkkOfAeSmanR7dJW+MNE9\r\neWwtXOY2GY0ki+iuhptPaHqMB1zxhzXha9iYtexYJS16zSIwNFlBx5smvsRj\r\nD/w6Urmz8CYNRlyFWFHTRzt5736S2jUGc9dLZNfCNVw4jcqMnEGXJEv+guYl\r\ne/eteUPiFpaDOW48qJFebWdCctASPkQSfTpushi09WNSVk6sdggLmBsxEDmG\r\nkh2FBdwl6IJ2Wl58e/yBfEejYQuN3HrQqnyXuWaN5oGfT2kaNq7ZTIOdTrVC\r\n2wtq5Qgkb0zKRl8Dhy0WSO0+FCa1yhG6hxVvzwpLOn+BivMV0qTfj9CIQ1A5\r\ntJnrumWL/EPhXELHdjNQewwOjehkfzjz77OVtnQtDAKj39L3CNoKYNZ9Ij0f\r\nQN0qzh/FoHHIjN96U4RQIZVsE8QO6JHJIWyPDuDDXTI5dbZBDGBL7v2pOiWB\r\nYR5taLmnl3zdtGCpDZoNUCs34BMcVZMBnh0=\r\n=EvD2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a4d6efed0d00cc69adede24744dc368da0b2c897","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.0617e2319.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.0617e2319.0_1658353163936_0.9901067405234891","host":"s3://npm-registry-packages"}},"15.0.0-canary.a743b7967.0":{"name":"@material/dom","version":"15.0.0-canary.a743b7967.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a743b7967.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1996ef1e4f3902bbe8a033e4f9f1a5add64ffa3e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a743b7967.0.tgz","fileCount":28,"integrity":"sha512-UCcGiaFeYEYQWp6IYE7bZkprJd5m7laNsTn0By0iNAYX2lswRkGMn3QJxCSpV9rqQVXhwCZHln76AeNd4WSB2A==","signatures":[{"sig":"MEYCIQCXPVc8eExoAObccPniZky6g/o9Z0P1cppt52cj4LOBTwIhAI+VwH9Y1lsVoH02n7iJQpOVQJWVSIvmPRxOUTUc5vdJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2HoPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqB7w/6Am7gFTYlQaJ4eV4Gjfeyt3RfNo6pfS6IbzePMYVOGmjA/kvJ\r\nPND19lr0O6N/JEqD4yPiADgRi9bQw6NYRb8d1Bs4Z/SBppwSFpG3PJdgvPeK\r\n583S/IQ7JkJXlzpJgKPoW5afhZWn8unHB3Tzy+hOr8E3Fc0XFvsqmJJ35YQB\r\nAJwVHWWpHKdBcJ3dlXgHamcL9DKkKC/nV0w5yb5uXG1UREPwtSHz/A+OC6Jh\r\n6eS9b8jnlkufoTywg2nC0pJ4YhTNgMlgcWkNUpwYurOnzgG7ilII4Z50xfco\r\nF+JaxngT8UDK7HHQN5dBNmz6Sy5f5EPT5+7xBw7UcAfgYZgAPnAMIVY02x81\r\nV4hna+jTWHIKB2prCa+bxhO7Txmh3j+kuQdXSEt2FZHu4ttp7FAkcIltVR7O\r\nMe5Yp5uH54jK6ilYnsmRPuwIqHUveUhv1odIA1NtiIqiIM8dklr0JPdHBJVc\r\nqcHx74HZ1GkVAn8t+wm2t/wtmC9Ro9t4/4O1JvqC6na6qiBRkVbfj6fG8LpX\r\n2t7jNPgcO+kP3nmL9qa2tkw5KiGuQCQIrBqw5Wln7tK4PvHEAJrJqtpjtJz4\r\nvaSlaEAUrOvcI6EreDlD2P6dnPJqxj0GFm1GZ8u0oxWaow3WI6Wbuxt0Td/7\r\n2DHGd4S1MiMe/QfrJAfTfAe+JMUUyunkMW4=\r\n=leIB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6fe7cdad71b01dac35a3d815662020bebbe50e23","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.a743b7967.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a743b7967.0_1658354190982_0.6873878688765283","host":"s3://npm-registry-packages"}},"15.0.0-canary.69fd619d0.0":{"name":"@material/dom","version":"15.0.0-canary.69fd619d0.0","license":"MIT","_id":"@material/dom@15.0.0-canary.69fd619d0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"eeeb19d60d6f23716e9c99bec08dc62cb03a65d0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.69fd619d0.0.tgz","fileCount":28,"integrity":"sha512-AX0duKcZpwoMegSXdgrLMpgAz1adJrNUGHM57hHkTmAieBw7CiHKtxEYMo7mIpL8kpBlc/7fobldYUMEBOnbpA==","signatures":[{"sig":"MEUCIQCJvD1Q2rwyMTxJ1siq+vNNeWDzIywhpdp1Ti7jPYthogIgBVmwk20yzV3e3uBth9fTw6/P3XKVPbdd8in9XJCScFA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2HzWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpvA/6Ax8WsFd16MkUztvHA6c+MioQ7Y75sX8dI19XcMDpqcbOPHnv\r\nmQO+mNk58ttS6dL0vQV0l9SUWRoy6QWY/4TPdNTMbJLUn4I5d4XY+xoI7KYw\r\nvRMMQUsLWP30IvuXwCYmjJQ+jKvknblHgFNprTux7ATBil3mp1NPNYuN6zk2\r\ncwWSnSGJ/jwGwaxqXWtt0IukggY3w78wPhA+KBg2NPW5kSTBX4eNJ7TnqyaC\r\n5YauqAFwd0eUzSWJiiNoiCYWKGT++7iDdtetf8B26UAWkmTxu86znjLIEpo1\r\nMhotOZFC9+syWKDI6UV801o0UVrMJghJBi3gay+krK8uGqnXkhntHDB5L7Ca\r\nyQi0TY4fuLhWAW60zhTjHcDpLZfk5e37r0XZGl27duhUmjxzBIy+YIQG5Z3k\r\n5UGF5RCoV/wSCGj66oPIkdCsZ4y/pAmDSv2IiS03hVSWq+W7lGxJ9YXTBTeq\r\nSZBIaIE6cKjmmqYZZI78dY1I3Jp0sGk4wKHSzTUMSCfolXGciTJsSGBdXzMy\r\noMiMGmwhDYju2P6g3cl9PhMImSl3Tmcr0kJ5Shuc/OONTE4mwyYl8RueTjJN\r\n4EI7NnRPaeX7Qm6HtHG1Cu8/lPoZ+1r5uQE1xnKKD841qJWPEyfdTfttWHcv\r\noPtrWIufocJWOTfhDfpymUhH2gOIna3UpcY=\r\n=Q4su\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8982644a21769a71fcdbd9d8a35d87f00bf73b3c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.69fd619d0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.69fd619d0.0_1658354902361_0.32721847247872193","host":"s3://npm-registry-packages"}},"15.0.0-canary.2a6ddc1cf.0":{"name":"@material/dom","version":"15.0.0-canary.2a6ddc1cf.0","license":"MIT","_id":"@material/dom@15.0.0-canary.2a6ddc1cf.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d9f86563236047fc377bf83603ed13dd96637993","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.2a6ddc1cf.0.tgz","fileCount":28,"integrity":"sha512-Lv5NKsEbALPZsaEMoFWT4KG4KC83MC6c1HKCxpGH8MA9vs0eDNH/4811uHICRfXuEGBQhMeaRDBTnK2nyKdiXw==","signatures":[{"sig":"MEUCIQDyR4Kr1DhKbb6AuxFOMkzNqlWp52t2uhLc5ydil/nXQwIgIk/7cB2zyNWw3DYOBrkzhZlK2y6H/eQt2bTbGj0jPbA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi5ATuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqwUQ/+JcqZl3PZ2E4GPY33r5BL9UPjxVbfdFqUbZUVqCnMUbLCAo2Y\r\n307mtcKh3FQThO3s4j3/gEvkitB5KKbmTSzrIE/aI/t/zCkAogq3ylhcX/E+\r\nibg62ZY+RkoyQwvQvwfybG0fE0VDgcdtokmCU7mv78obMGw8pU7EpcT/0Ac5\r\nGgcCFvtX8iW/6z9wNpxdIjUhD5pbZhkYWy8CXAtsJGDpbuD04mrYc/UwKykS\r\nli/CQtu233kgwRlG2JJH60cAESWp7nct/eslkOZf3PvB4jDJQxiyCZD4fvAV\r\nio4yLmHNtenu8GvC564aHXtQobBO6NUNEvfyyaxJOXEqyBMQSEopVSOtS0Pu\r\nOQNjk4ryFYAyMI4LGi3HJtrngwGJ/aT0QNpqt5IFiaJuntq3PuHTW6xRnOBh\r\ndUyhZQayIWpTQnR5AiSRxh8Jnx8qojPYakNcwf1rul00m3lg8KXNj+91lHKs\r\ntWJnrnkZs9Kzvb9fkCHnLQUSEngCCbENaopRC995EjaTAKtkN4uWmWVr2pxJ\r\nySFV4F26C1wJRGZ2BSb0hYBIGp7N7hoZN9fJbiFT1auhrN6i+yfomGa6frsC\r\npk8U4AE09POu85sZA6mR3mODajj/gKUbDWIbcRPwrKINLVtbSD/crmU4W3Al\r\nhv33ucruRK52XRR8jic7+vl8Xqjc47XXKB4=\r\n=Pgmm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0e951ea9d38f3d449f24bd1d8ecb0fa70c0da462","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.2a6ddc1cf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.2a6ddc1cf.0_1659110638348_0.5713889642703338","host":"s3://npm-registry-packages"}},"15.0.0-canary.86efd56f6.0":{"name":"@material/dom","version":"15.0.0-canary.86efd56f6.0","license":"MIT","_id":"@material/dom@15.0.0-canary.86efd56f6.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c67b4a8454f8b455869d8d896f9b4b381eca8751","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.86efd56f6.0.tgz","fileCount":28,"integrity":"sha512-/8Hx/wPL36RHfZVrLrrejlWNxYudOH3lWnxxzVs6xXfnTSL0sHtkXKywA1UFhpT0q/1EDVBtc/FEwSC3WRFFog==","signatures":[{"sig":"MEUCIQCZke2cvGwjxgUVhREcwoAancNS2q6UkydmrYAZtRa/cgIgKICRQq5tut+JxWqH5tEeUxEGnE1GjCohYWmSxWyZITs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6ThmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6rA//aI7OIIiTbFwtN98yC9kcURyDq0X/QU1hdrr5cAyHRZfCPoPN\r\nkPgp0WXS+mTi+q49bbsbmETb/VHhXgnd1nn83qKxC7Pm+hj4q4RhOH5BcNvJ\r\nZZ+LF0613tiWKJ1do5cAIJSTAjRH27zFEkzImYm4sPWA4NoD8dqvSCxwtPPc\r\nWDQwc5JhLhdoqqgKdcNSqlF/TQm8SiDwDK1MUNyDBt4pL2EHE/zMlIpZ5vPF\r\nZYUckEEboHqugNh4EcDwq75ySpUDVMYPL+KmQGL+SntKirMg3y7HVVfAhAYk\r\nfP0UDK2+uNkjPAHHa4BZgjPLTg9OXzUZtubQrLrCqQ9ecXBIUJGzuM96aKCy\r\nxLSioHSodyx9zRFRWdwywajdaxttUkB4q+e6MR3jx/h1ZQFfHIMvHLt69zDd\r\n+SZEUwuyct9inIVQRJyqtNCx/52pzz4udAVq8IqQxeAUQkNXaJRCUG/Gfroi\r\nojxI7JVHFEEGXM9OO6R+KVpHZTmYs0sYpsxvGdH9TqVfFKqAXeV+ps5/jsgm\r\na26u3Nuo5miuYomcCQV3oRUoVBDDafvbdpblm9FRUsjIaf9qqvCRhoewix19\r\nRdbM4eATawaLaS0dTffXiyHzVhUJxKi89BOU9PTzZXutNCcIQu7gWfIqD3tK\r\n9t2U/97bLpnIiN9Ga91iWboWcHqCtJuvKiY=\r\n=FH0r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a4781ca009f9a9b59c7dfff5df2d23bb14b9de2f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.86efd56f6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.86efd56f6.0_1659451494482_0.5592781463662451","host":"s3://npm-registry-packages"}},"15.0.0-canary.ccfc24d19.0":{"name":"@material/dom","version":"15.0.0-canary.ccfc24d19.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ccfc24d19.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a3a728e9f855c357cae6363cd260f87ab236bc85","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ccfc24d19.0.tgz","fileCount":28,"integrity":"sha512-pmUzDjKiBE0BbY0OTnMX8xwaK4+2CyVFLKHfh8eihSiNcXNJnQRqBoyGWy/IJaFKuC60hKpve8pD9Zg2CfXVCA==","signatures":[{"sig":"MEYCIQDbMaE/FfEYAVT+f5CfKt8cFpYWbUKewRuDPNjYdXItswIhAJcOKOay38EUTeMPHYmeVi9F+Q004YTB1pYOHOneOQ8u","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6rqeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpyQ//anXx2+0zw6CjceTzh/lWo+UsaV5XXz40IoZAWecRVbQP/g7F\r\naDBJ2JxlBZtPy6T137dyuFl8BCG24j+H/8LO+ezMsmCLmSCUYJx9ZGM+oIZz\r\nkPjyYb78/wPmAf2TZHhOlldx3xkEd9Z6fYVlBOPXDIAD5/uYq+9TliJcpAnd\r\noUhajjZJcuBrv1ezTnYLcNpxZoklRhb+PmmE5vl+OwYhaEhJ1/GDnxCQu3iw\r\nCvz09nOoNMIIN2OKJy3eb2Vh6kNoLRfTK5jiAU5Le41eTGY8vTpUNqUq0wKV\r\nu2jhIurIEKiU0c8AurSG4ndD0sGveGmbbI0Mt5VhMwj2CIuidBlwD64MQYkg\r\nExtK+tp0Ke3MQWk7HF4nBHKo7v6/Cqj/FmdpQmQ9XL0Bzzfgml/8x4yzdhvG\r\nxXqSSLIDt/zdU4Ub+H72t6k1HE1/Q/w0yMfFkqh6oq+sDPF8tnmqZzPvlhbh\r\nDUNfrKWyGfBqQI2+RCBKrMC3LlSJmAHlbE0HYffchmnF2rZzNd6gNAxjroA1\r\nT90LNQLG/MSLKU3YXJbv/S1/7ekrH+zqkjXWnkt7aETWLR0SP2jc4ZWvhWJl\r\n9krPtaw0aNKjQitWiMnrdod+lYT2OwiwZPFNxUgwn2ECztcvJ7AHdsfiudaE\r\ngi1Jy19f7oOtY08+D1+KlMWEIT2/qyGoZbI=\r\n=2wWa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f790058ff0b4b30289ee965102aae1ca19654ddb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.ccfc24d19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ccfc24d19.0_1659550366374_0.3036291277208507","host":"s3://npm-registry-packages"}},"15.0.0-canary.e4570146f.0":{"name":"@material/dom","version":"15.0.0-canary.e4570146f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.e4570146f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"733a3627658567412d2747f85725ff8fc9e72ad7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.e4570146f.0.tgz","fileCount":28,"integrity":"sha512-2c/prFe9+r/M9l1afaJmsffLWpurz5QGZueKDUSNN8bIEmsQLaJtp3JafNZTkwjEE1FGWzu0Ywzjxak7ctAoxw==","signatures":[{"sig":"MEUCIQCbQYRi1qoJSYSyixubk3B1746KtQ1Z9S2uQidRakt1igIgIMqbiwA9yRqUE5vhM1dtqwSbEhIabDYF17N5yoLNxOc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6sECACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkBQ/+KoXWkIGFPgkHR1eiyO556EfcXAeSfkBd57OX/d9qMKf3MXSY\r\nKu/b6L5hTdVl7+QyEvSbF2h291lK3RRAk/6LyIdqTOi+sg+wpwH5cFsWgoTe\r\nMziwwLC12Vw3EUzvWYsXGCTwT7SZ0rd2cRU8qVk+m0uyw9aUyqpfB/KrHez3\r\ndCi+kylMFzdKYzg6z3ZXdy4L1HB+ePXKa/GtQC/18Mgy6iXapmYvVXDYh87T\r\nVsrtD2YOZVglqppOsiStg4M/6EOtQBHth3qbhxaPTI/aD8nn+LsOViTQq/0q\r\n3raGaA07IrM1Wk3WKf2nH/y6BEKbMvXeWr4u3p904vyXB/lK/ubus7jxFc/Q\r\nZ0fMgqozmZY2bkk8oiIBg4t0FEe1qUISiLPa3L0kIj5m29MIjIzLErl9u5Vf\r\ndNNztv1VSewKGLUPDmRJZPA21qjbjly+s+GCLQ1OmOSzYR3gNcFbWmddvOGT\r\ncbQB497qfzGO2GqODd7hVjRRiRHvU+2//gSROKSePKKeLS2kHc3+qLpeRf/G\r\nNsnDAsiSU5sbqDP1G42Zlh2mwulsDpUnPC11kL24FPHIHIWK0V7bMrqTLhvA\r\nrq6maM1maVIg/+J+lGq0hb2BS6PXuIvewi66b0qCq63YrUkV9QAGf6mlwCxm\r\na4RI0zguJP+GXegoUCJmu5bf6F06Hrpli/Y=\r\n=OauE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e80d690ce0a868398025065053615e866dc51ada","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.e4570146f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.e4570146f.0_1659552001453_0.6139266486939603","host":"s3://npm-registry-packages"}},"15.0.0-canary.6683a36cb.0":{"name":"@material/dom","version":"15.0.0-canary.6683a36cb.0","license":"MIT","_id":"@material/dom@15.0.0-canary.6683a36cb.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d88f17e75306857c0f3dd4cc23a26a0e624d01f8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.6683a36cb.0.tgz","fileCount":28,"integrity":"sha512-OgsEr2BBykCF+E3vLf+MDNsHne/TC2Jrg+neNIYEJlyRuhThQ8R5/8K28df8ivGQhssI4q3IYEMRtSrJt92DBg==","signatures":[{"sig":"MEQCIG0vgomjCN8K/4J1pDHtg4ajTCTVoPIyebMVFggPlGbsAiAd1PTQXsWv3kFQisbP/Cq28LQFKsmxVVthe8V+LeguzA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6speACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo61Q/+MroQ1VMRNN3+T1AKwFVByqF1VV7JnOSbIQMluQyj48bkanos\r\n2vYFLD7sep3eaRoRooG3EEu2Mqn086ksGaxuE2H8T5EOaxlyXd8gMwi2/OYm\r\njVCmsGH8xLl2dFvFR2uhA99Nz5O0YL9hby0PrMvTtpAPpvPF5ClAIqHmcJzg\r\nwY/bJ+PrmhwdzY1LhDoY05aKhjWqGzqw+5gEgpAfcfpFf8Lx3lh9N+1PO69t\r\nYzc1pXoWSNY3W+9ZJ3YfacpBy6jqeSXiJtSKfxjC2TVy9YW3pLD6Cj8xMk7v\r\n+uhpf9vAhxXjObtmSK8DjO2UXhSn8s32R4BFbxCL4Be+kRJvRwTduWyNXIjq\r\ngp+aVQzqgbRxFr5Yv52o77Sv8tuvHD2S8tDsqP4/jDoKZeKj8peTg0mgAM9I\r\nihVVnVDjAXyxi5/MUbN/5N+/v43/KXObHq7PaxdzMO8vEdNQyx+YZJba5Uzd\r\n/B6CJMrS/QYifDHeEKOq/IGkdFLd8Ia2gKunAUCCcX8ThKPY8lvzbPmuBmZa\r\nuY1fvuQuU0A1yrls9Cz017fV7TvXXtNMLJWxUwVlbfKJT/jeR2GgXey6ylAj\r\nHUFWsc64KSRi3Ze9/m30Y16emolVL5BkIslQD9KjbYh8srI1juDjlzxN+Cwl\r\nAfU+TSwjtl4Qx6uA6zH8BHnaoepD/1bShlg=\r\n=M07C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8feb0b9a8c5151a18a06d282cce87d861ea12e5d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.6683a36cb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.6683a36cb.0_1659554398027_0.5726272987259851","host":"s3://npm-registry-packages"}},"15.0.0-canary.10196647d.0":{"name":"@material/dom","version":"15.0.0-canary.10196647d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.10196647d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b8abe147317c386e83a3ecc1ca3c460330c27a46","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.10196647d.0.tgz","fileCount":28,"integrity":"sha512-hejm3yHjqYL9eDsTf7q7Ifq+o8+u+7GqkPbTT5ZGvh7j6vYWIwadpWbbJfgmkDE+yilwyAUdYymqyzaWRMs/vA==","signatures":[{"sig":"MEUCID4+4A/p+NFqNC4faLSLejka3QQmQqLNiaKIe9XcM9UPAiEAk1V0rDcu4Y4sM8RA0TNZKO11RK2moSgYbCeX22q3xp4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6u5EACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmps6Q/9EWKwew70fiIbqmjbbNSobeiXWjmzUSdlLQCUVvfceyJy+W+G\r\nKtokUiv9F+p7r5w1XA3K+l1Hi1ShRL2zxMtzysjHHV5wJsyzvcDHFs7cvyjs\r\nLCiKNtfXEjsVG1ZlbCSxG2A2H5fBc3orjmciqB1N3IC6P5ImKRkA0+dah5H6\r\nbiR2q9xJ6LW8ELt2mp4i4pXNyxJhFUgBdY4v7p4JXEYs+4YEHS7j1Eoryg0v\r\nFlacxXQOKzlLF5RwNtw36tBj2q88uXL5vip0Y+paIylh0I4Tex3fgyiZzBtQ\r\nXzwFxcatEVgECTH/Oha++caDfBbl4igyxLsPznrZGFMxtU/BELUfoVMDocre\r\nxzGUih45eLvC9RzQEUP3SVU/ut6AlDfsrD/GDwRlsqB+Xo2W/lxWFLVDR+wk\r\nLdaqRD+n7REDijlmGyeYBoxPW8Ou71Xhqa5yV29nILwrmfAyNsMYPIwEBTKP\r\nFn6l2K5zsam3Myqc5WfvJrfffNlIVL52UQTcwIGl5tB4zvCrZVCCthvx2FHq\r\n3B8XnbwaOI29U6MKieGPF5RY956ARQO3Kmu7T+Y6kgu9jfwLMcS7pgGAIcJ/\r\nMcTPXx/EECdM1T2syCz3PArbfCxWRumiBCjzSDKUBu/boMLZIaXtoNNrpK4j\r\nXv9Lh7TqNsjKqabySYEVg5VeG4rnzO4iquk=\r\n=D7rG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7a708dfc09b3443c565ce80a676b159abcec1339","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.10196647d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.10196647d.0_1659563587821_0.22191707272310524","host":"s3://npm-registry-packages"}},"15.0.0-canary.b20d3d73c.0":{"name":"@material/dom","version":"15.0.0-canary.b20d3d73c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b20d3d73c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ea016146809a5de78dd0edb243c93b86bfd9e9a1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b20d3d73c.0.tgz","fileCount":28,"integrity":"sha512-tySpYH/d3Itl/RDwvKhZrUNSoHqm9lJvHeTv9qus4nLhp9k+bTa0bssE+JNV2zQElQThENiqAmzXIBi9PGVuFA==","signatures":[{"sig":"MEYCIQC4M8O7HnoKSDa/HwxJbspIXrYp/88Faiymstv9w/yougIhAOdG+P4EmylI77wGy8BfgzM7nPt7a375/AYBNPHFyCHQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7EtCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpzRBAAn34sZ/mQyhMOopapMNwBcILbvN6G0ZNDdO/w0gG8wE8y5lwk\r\nvkWQE9FzT/QWyU6q98a6ERIAsdkUgbpLBzHt28Z9h8K5SgDPOvlKwgraR8HP\r\nPJ2RT0jlzZxfNgjW8E8AAIaOVe9/0+N8rqBZH1roRtLowICvnpaJL1ZknJoT\r\nQJ0aI0g5kek/9NRzbUm+U0Xpk42DiqZtkfCTGehynViJGkGN306UTLT4OCQT\r\nG4aC6Z2FZ/fu0J8cDDrGYpA+APDcSurgZdFhJmDEkiQO7k69+NF2uao1Xkzi\r\niHhrQdyjzfyfrJo6GM9EVcjVhHra2vFVoJ9TY2JSIbGpI6qvwFLhd31vnVjU\r\nbHypCQGSyXjNHPPVoN/YY/uh1/WZyX7D2i0HAVIXZKfAmhK/opMFPgsXdhza\r\nH57qEWSA66vnLoyI/Tc9J6sKlmjXAFqqi6ybs0ItJtyRnLUgB5lIGVWIpE+N\r\nZTm/8FCUT7ve5bMjSP4al9WHHPWP9A9VBiYZzQqRyyY23jngtlD+HH0+LD35\r\nrLvyOHURiiXAG+bPBLu8BhgPJaeZSRRpt2LIeDw7sfxYgIaR/K1UWeFMWHwW\r\nUP9x4r7tikyeloxEGxFMaP+NZMRvD3ztQ2T1fMCzq6U7SiPAnlrqJj9e2hPv\r\nsCR5D3t6Kb1GA9e8UaIOBGBgE7DTUwqBqas=\r\n=3uWO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c869b5a3ceaada6bf2ec164c65f1e4fd88a0e7ba","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.b20d3d73c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b20d3d73c.0_1659652930611_0.40820314429379856","host":"s3://npm-registry-packages"}},"15.0.0-canary.47c0c6b1e.0":{"name":"@material/dom","version":"15.0.0-canary.47c0c6b1e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.47c0c6b1e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"abc72df50b1fc1d96de2d0be3c50e832bd7f09a0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.47c0c6b1e.0.tgz","fileCount":28,"integrity":"sha512-sJGcsDaQI6RqZ12Rgb+4uCWPfWWQPtxhjbNs34c32EY3YxHV2XLde66j8vLyhM3sW+KfnrGZ1pRV9esMPk0XwQ==","signatures":[{"sig":"MEYCIQDdetEcdyrVzluDo77bRaKbhFpsV28CCErqVsGpirkP3wIhALc9zY7LaGgVg6mcYi7WQZ1tpWFEIv075QLGm2niKqIE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8nsPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoarw/+JlN5jT7OJrMbS/wtTCh0X25k6wc+PepxYsybyA5HaJnOWjZF\r\nE+RUyUqeCQFNEGJjcn/naAqAHcMZJ+s2HAvkjY+n6f0tkc9rM0hxbeCBsU5s\r\nuPpVALY0kKX/XC4sE51KTRKt6q4RNZw0dpA9e0Rk+rQSID0yq2nAMB6xmL/m\r\ngi378fflz/Rb2Q53KajHHDEkwgG6yFhuxxbuexVKNxBt3LEWIHaFvzEffCuO\r\nAXUMtYdM5fUgnKacpSrgwfQnE/LVkEQO+PleH1kg9aBcNYW7ov6RcPL3ffFD\r\nt3VnhtzWU6PR3xKnpPjdyo5C/sVCoM5zJwFk0DV+zsK8qHrbq12YqcjcYEmR\r\nvE4cpeJcavZoDENNz4JIZ+0lHwcoFhisE1b1BP+vetN49X3xN/tJUAy05CpQ\r\njvzCwD8UMgwT1ug47OgAxgRlqgoae3qk3REznky8BQqBAqhpkZWZjKtFn+8x\r\nhLyNzJzRk20yc9CgvyTNMNFyuKWXzduz7M2Gfd5/OOYAECftuasPc/8NLmy8\r\nPp4tCWb6YyObLOTg15YD9iDFJ65FVhZhD/591opRH+OoEWW5pOk3YKQavtBM\r\nIL+dKJaMC25XqN2YlBbq4hj0BvO/zuWObILuDrrQ/OBddeoYxWN/WYWFSNFm\r\ns/2Miruv+rpfXR0Gbab/b1A+P8jRNdF54Xg=\r\n=ZEDo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"692955bb2bb9c99ddd9321606e40fe4a56de120e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.47c0c6b1e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.47c0c6b1e.0_1660058383413_0.4094362842957937","host":"s3://npm-registry-packages"}},"15.0.0-canary.0e3dc8e38.0":{"name":"@material/dom","version":"15.0.0-canary.0e3dc8e38.0","license":"MIT","_id":"@material/dom@15.0.0-canary.0e3dc8e38.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5872e8fcf58c9425c1135aa18afc512dce04a522","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.0e3dc8e38.0.tgz","fileCount":28,"integrity":"sha512-8Id86zBUVQiThQ82Vq3Cgaylf9xesfaY1OOe4sq4B6AlBic0OLSPDqwcHJnPoV34uuoMiObBtkMHJFK5Q6i04w==","signatures":[{"sig":"MEQCIDVcQ2IzcIQTq1GgNHte8Zh7oaLtOs8UA5LT5J6Xyl6qAiALSrWW0XfWrEI2G5U3RF4MwG9rmaFWQWrsij7iWvRsOQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9U4+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrhzQ//bAflAwjw4XlKnNgZrYsR2Oc++xI0Qvk2cq4GpfnNMCjtRRHY\r\nSBvwYtSQ2cVWnXDiVjGbo3wvW9I++9f0AA8GGIl92AOGTUbNNrYOGqa+d5PP\r\n3WAsA0dteIwQB/Qj4fsF4pdM7TobsjBBNJuwwqpV92JWdeDy7D2BFmojE1eY\r\n9tXfeSBy8U2Q0MTCzs4yobgaUkOWKCiR2OJO+7WR3fPo5+qnLfHQdsnyTDNv\r\nsu00Qc027FUzqbmf/EX9k/dmnxr4+bYfmpgMnPckbco+x8pLJqVtABomHZzZ\r\n5Z/jNdQcnSHjnXJCgNvK4e4iA8ABzezcqjsj0ntQazRAzIQJO1PDVenIO/SA\r\npXoA+x1N/hBD8+BMoxodmju0rFVVoG9f+pLpeGt6adPcoF/A6vS8jnOcp3hC\r\njsCzHXiP+mwvbpggtLVEULxgAu1W/a+c7NV62Bkv+v59VQCAyUc1WQGhFv5V\r\nV3XZ66PuBaT2wI7io/3nN/G+PMT9yjheW3hpf8a68kTFS20j8GHHpKQeqNQ9\r\nHRF3kSEffO2NRW87damDUS3q56snnoCHiOk1vbGWvryzSqCPOj9GuBaQYAKI\r\nvbEsHnc3WOBdQ8ILw42omIoLg+aepWUwVcQSoH754FCwD2frvF7PlblrRBbt\r\nsAcFYt9qu8Ge5fZqIM/LbBQT+fCU7EeMWfI=\r\n=5pHx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"51983e03d07e3c1f50454770dc24ff8d6d6f97a1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.0e3dc8e38.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.0e3dc8e38.0_1660243517985_0.1775165848701663","host":"s3://npm-registry-packages"}},"15.0.0-canary.d5a11f1c8.0":{"name":"@material/dom","version":"15.0.0-canary.d5a11f1c8.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d5a11f1c8.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bf14f431e528f2a6ddb0b3dd08dbc0d60b7b2a01","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d5a11f1c8.0.tgz","fileCount":28,"integrity":"sha512-hBVqjyfbpF5gxIOxeWjE+d+Dg+hwBmjnuE7TCcLfhGwY4ZW7kiwNrT0Z4UjYvBZ8TPvTq20Twi0Yff2tkaS+JQ==","signatures":[{"sig":"MEYCIQD3Xp2ETfse72ymzd/XaOKLYT0W7hdjVzTDY2/IOUyR2wIhAMP9ZvkbssMsuf4XKdN0HQKRZHHf7vlCChkjwDts8nj3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDpaVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7shAAnCsMiXeNmTo7ZyvW34cgaR6Hh+IPvooESd9ZhyTieFDGoFiH\r\nOZqAVnEKYhtk2Ig+91WOyJ+8YJ9UQck2kanwfAFil8p7+T0Bq0Hq+1nr4g6i\r\nhp3U9bCG7B6PAVcdHzz8VY4A8pwZRzqEW2jxCyWlCfcTnZEMtqqZWGl74IDf\r\nKbAMmFhprrHZNM9oyhW7NHPwylN6XveUobEV96wr/EikR9rDH2cVEbBVh6F4\r\n1/ucfWy6ARNA9CY9JZew2wukeGzkA7Zixnk2P5NiXOK4M9A9+nRMd++5RaYj\r\nW56zUvK3xNsWszCa1Qno0i26HVHgWqNyQ7HVSqnR8SVhDCR57aNsbS6hRIv1\r\nwheTDNkD0gadkYQOH917E/IsQr6EMoWvOeoHtYqKsMfggh42Aqz0wkNyLT18\r\nkASUpgxPKOv8o0RzKhPnQJlFipAmMRsMXR/9teATs5fsDWK//olUz5dRI0F5\r\njboqkqu9DeM2Xlicc2xJCYwHToqJZKRkc5oLUTNCnz/THqtd0X8R1Bx+0fC3\r\nMHWoXr8Y2HHu5R4t5sXeftBAMlUbbPyQ16x9mxxcoWs5g1+0l/rH4v1IwDRF\r\nah1nGrjaW/lw36gvLfuyo3vW3MVqTik2C6rAkMwLvFNkhF/P6Y9Rn1zd3p9S\r\nc+SmLSDgnK/8N+I6nVrkKb+S16CCHALydRo=\r\n=3qF7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7ac71b54192751de3a5469d20cb2e1c30e544d30","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.d5a11f1c8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d5a11f1c8.0_1661900437164_0.6360621360232086","host":"s3://npm-registry-packages"}},"15.0.0-canary.bac992a95.0":{"name":"@material/dom","version":"15.0.0-canary.bac992a95.0","license":"MIT","_id":"@material/dom@15.0.0-canary.bac992a95.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"48636b8458ab047747af274f25ad3602b00dc13a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.bac992a95.0.tgz","fileCount":28,"integrity":"sha512-8GXPRcF+FJekE8vKPtShMRSDerhwONJVPoR5VYZ9tMCavJ5eFYl3HnN6UamVFTXoCY4UxoVan7gkU74d0xuAcA==","signatures":[{"sig":"MEYCIQDYH/M+IaB9CNBK/n53dUnbW2OSYYQzNzhGf2qqRaJUwwIhAK7iGSpy1ynGE7KD7EsjZDF29DhEzJw3xAnpVWNDN1jG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjEFmYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqodg/+LY57uespcn8PbA3AHhCoWO8bSz+hoNE/rKa/bKdC4tyzD2Am\r\n1WZfbB0crjPkeALf5GPT2lPZr2EE1cA5gkTi4yvVlj3Wa3YaMOP0pLD7Q3qc\r\nux6NFEs3hm3L8SB8hgYz73lFCl0R+BS2kVgWIOo685dZn/Re/g4p342Gr431\r\nsNtBWEO2DUKPAl1+SWG6M91ZD3Ghvl3fWg69TZw8NR+Zlc8Di+fuGoj4BFY3\r\nSspJI7UZe/9WSoQ3nwJGmhAijVvgxePKlTFbyLSOGna2CIO8dLrWI6GkbmMa\r\nbIkOryMOK4fspDB+uF0ABRlCue98o4GhkxzhbnrB/Upj1P9za0WDrR9kRz2q\r\nQf4/yRnUg5/Wg1xjIqXlOMVp2Fs/ixL6zVhO1jP63VsCHhsAfvBFGrZbeDn5\r\nNJWVHfONHP9z+Ho7MQamCNgZWgyl71XPPavnQAtUJ+4jN5arW1gk6TfTuktV\r\nK+FGu2gEzWFzhh3sMyZjW/Iuckza9PaBH7e2QLeLfNzdZevWwkYtzF4uJG9O\r\nX2WMZ3PEHadNIaL8q6RB9E1rSIByPGQBWvnDA2zlfkeFL9iP8l+FDEeo9gQH\r\nkvn3UaDknkb5Xd2e52WB9pVaDg1cZf7ADoxib+EexN/0h85Lui2Htum5HKrH\r\ne+GXuGzToeSk42XEQizgp4wyHUS3HLWQAw8=\r\n=gQ6C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b8dc8f019b6b9a7241d55c21925faac495f9230b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.bac992a95.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.bac992a95.0_1662015896098_0.22345090483083685","host":"s3://npm-registry-packages"}},"15.0.0-canary.d25f3404c.0":{"name":"@material/dom","version":"15.0.0-canary.d25f3404c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d25f3404c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1d5cb7c16fdad819f8163b3fe45fcc51f9261e8e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d25f3404c.0.tgz","fileCount":28,"integrity":"sha512-7JcXedTODuA2b3vU5knSAIU8SlCsh7G0lWwg9FD5jTb2c5/uAW0gsdxURSEBKPvjj2swc0dA53+vf6re4lTmng==","signatures":[{"sig":"MEUCIDtHZQzmmEz9Wb7K8yh4IPKXHO9rjDgg9/CPOAb4gzEaAiEA+8UNYQspxhypodW3e8TtdiupdMNH/WsXMAFn/QkXE4U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjEH7QACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr4nA//dqtEMe/XZBgK9cTu1YSzlpmUUSFnoe521KjzxLVc01/UB9+Q\r\nqyNxQnG7Vr5Ja4qb8IyKJ3hy1qROo+tI6fyBaHldsF7AgDnh0uhhXnqOTzPy\r\nerJlMBbX9rfCzN1E+afiNV1/8xIFFK9zS4W0TchpN07ydcAVuJhxEcrAmBA4\r\nw8v96Vbth4O/r/pLoPfd5m/WHWoJyRHRLR2eA13K4xJIkBRmSY04Qj1swAl7\r\nCmFn2LIwG6hVzhkqeaJWYsXT0RoYH+ulmrHaa5UE0eSbWZS90r8jvcY2rDnQ\r\nv3fivB5HEp1veoyAbd1YIucPkmXpVy2CF7wwj2UkyoyUcp+0ECVxx4znM0Z3\r\ncyvgoqFMDJAI8vVXVGxbJK0VikCl/+EaWe1qXeq18AccuVO8ajoypaxHzPZV\r\nhWY/SLdg/DIJkT5WWDjowBZ/fozh3r41Ha4JeQWQdciBISjd08r0fxLjKVH/\r\nLFKq3sxtefGz0e698HPy1A6eElJRDeerdlLziydnH0un7gTKR372g+NfoOnz\r\nV7va6Lr1rQPBHsqwXZwd44vkLdXjlsY9+lyuE3yK+OCexLRFn2KpFggi8LiL\r\nBCQHqZFp/FdHlAT/7ORjtKGH6zGyN9IWTO4yZyjoYdbvndqHeyvWEYWnTtOJ\r\nlW5T4b46F6x0jQz+5wHyXdjaWuEGPWkwPRA=\r\n=o6Mq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cea256990068cc2248c9bed32c4a47fe622a3286","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.d25f3404c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d25f3404c.0_1662025424274_0.306640146886916","host":"s3://npm-registry-packages"}},"15.0.0-canary.920d8a79e.0":{"name":"@material/dom","version":"15.0.0-canary.920d8a79e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.920d8a79e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"eeddd55e071035aebbb4c473fcb0436235464b9e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.920d8a79e.0.tgz","fileCount":28,"integrity":"sha512-PrHhEXon3eOvfNWN4pib0QXKqh5V00msJDVdv34Fb5qmnRV3EGZ9CN4kdrv6bkNO5O1BDSjaxrAasAF6npHLVQ==","signatures":[{"sig":"MEQCIC3/5ve97Wa2/1Ovr/44bJoydym0V4XyxJo4VL7wURpMAiAe3GUO5n+OFAdLaO9L1EHgoojx4NjGNN2rH/jTytPtSw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjERQKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVbA/9GGpyLS2gxalyeYknl0Lcf3j+hvcLP1HCGAvDm0do1Dt0Z7dx\r\n6nuuetkIqqu517f/5/5+shf6XncCL0ImTlwUkVHWZ5vVt8PB++Dqpvbbkd+C\r\nm5LAo+a3wzPlHso3Y4NOR/1ZXG8MHFs0Th9tZ79gYZyCLjuoDNS5Yq/M7fCU\r\nlQgr5BE52ddyNIygs5+gfCNBipteeGIzTUbBrpPbRdpP7vgFY3KlwAdjQXRr\r\nbSyNafzzdXx4IrLdGRW+40+/Vk3QIuLJN/90lyNU/kJNsumLd012RsJV5KxX\r\nLbzUOU/mghN1Z5rKeo1aJTEaaJJcOl72bUi4rr5X3FliLznpHIz11O76B6D2\r\nDxDPsWT5zYyS8ueMU+WabDmjD+usAZ8cUg8waADVU70w4w3RayGVAlcosp4J\r\nBj2oOWcF04W3ofvWQIxskKoRzyP3tdi4LIbjt5QiErE+l4thKu+jbrx5f0lj\r\nR7znjXqBnkMCZ6WdFldlNo8lGLXpFxpkJMxhY+R5FREGfzFziLssVh1lGHSC\r\n4ivN4wbis/89LLeQurGZ6Fj//2S+FP0zUxsdNHnjsawVdqt1a/atLQ/0Sibd\r\nX8qlOBMSmwwE7rMW/eOlwVI+sLmihkmoBrXc2IIge7tOlYGIofvuqvh2HoSQ\r\njtTb2qoBQcpxzbOJ2LqwW6EkFljcbgcLafQ=\r\n=4Wgk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"781a4c78770587fd97c25633bf9f137081c35bc1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.920d8a79e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.920d8a79e.0_1662063626290_0.7973790157934075","host":"s3://npm-registry-packages"}},"15.0.0-canary.c363f267b.0":{"name":"@material/dom","version":"15.0.0-canary.c363f267b.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c363f267b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5bd684c59770710e8f2983b3b983c0e5e237c4df","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c363f267b.0.tgz","fileCount":28,"integrity":"sha512-QGxv8z/NGLL42bRbo81dZUpWzgOPkOuNgEOH6KQmoDeW4ghk5BZMs35Ds+RsUJto8cjC6Cjt6zK24uaEqPW5aQ==","signatures":[{"sig":"MEQCIF1+9NxItoaCtrYP7KQIj5D58cMmhU5zjWKJP6TXBDIrAiA6EQsUEi/giz3Jqaf/4cYUf2fckZ/mAsqIIWD1U2l7wQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjESFyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWCQ/9FrcfAAR9cje9mGog4sl4PWEZlAyxLOkI74cC6rC19XUhQb95\r\nSQ4PhIEgyy4ekQZ9IEfDVeXwmx1ZQ9/Yl5+xiA1ZUnYTyza4y+wWt9noYTQw\r\nWDHq/LcSD5m5McjRpTNB6coJ61rBVStjAL7VgXef53W07Kv8KaX/63kShlry\r\nFWD8Q1q1iuXMbPSpRDBsk7fFqLcn+kQkHUN2Mq7Z2YGuQpHOacW4Uc31ylR4\r\nA/tMKkywiSRZfgZS3Ct0VyQtGQy8ZFrT6mYucoiP7PZP4T+cJtQ/l9lw4At8\r\n2Nq43+2g0rtdZiAtZKiYLhV4zMsa6w8jZwzxqZbaLvlmpdbGRjLFqX0ugMEF\r\nqAqX4KCLwTyhTpXVmQ5lDR1AvVMwMo80DAJSdiwF6/whSUlwfgh5/66f4h3c\r\nBQM5CGn7i1itjxgRnitM0GJdnjqQae04D7j96C5DPrr1P5f7J/1sGs3bltMy\r\njfnEhF5K1Qz8KYF4mFOPiM4MwEwpiQ5Ni+A//MSc4UpAIstNVMCLZclA+NhQ\r\nFUZ8R9jC0POyYqN9TMMmy6oKoDe8xUN19fkQ+CgLpU7Y2T0mmJ4Zxql5zhZk\r\nM8kAad9QQrT46EzSeU5Pdg/ecW0F2GD9i1/9whS77UiNLHbLVDNeoHxBqH/g\r\nsAoFSeWovzUT2eExoSVIdYypYlL7pd2+lDY=\r\n=dhyf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6e2ef624f85a84b5510b55933f017db57797f611","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.c363f267b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c363f267b.0_1662067058715_0.18676247914458988","host":"s3://npm-registry-packages"}},"15.0.0-canary.a4eb4937a.0":{"name":"@material/dom","version":"15.0.0-canary.a4eb4937a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a4eb4937a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"56e24520698cd7e26faf773705872b00796467b9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a4eb4937a.0.tgz","fileCount":28,"integrity":"sha512-Se9pG5QNzNn9HBQJxaiFd1a80UaxXiYwWfI0TADY64Zh1stgaQ2TVy6n3TgFptE/TKdgLNulJj+eWK1vidYIAA==","signatures":[{"sig":"MEYCIQDW5UgY87KsiSpMBXq0/JCnQDIg+vyVIex/27vRkjITPgIhAImbjS+HOPSK/VWhbL96Tld5knt22pZ8jmBWB/3laV8l","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjF48eACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2txAAlgQcSjM7U/RRhnG20w0TR0D6wWybDFjXXaSUj8U/M+XcH1cV\r\nnj7TMZ3gkg7q5E51JhmOTBvkXGPZ6QPotskjz+6OV+ob8F50cVdprVVHRXMz\r\nkgAMspUczeUEEz94+fFnkpOa/4eNmWNmaEAFY8u089emknBRVTxvI6gUsEa8\r\nAj1J+/Nb3PviMRruLCIKYhtwlxe8E51DgDVs63aM10sn5c2QjzZmULUvGrV/\r\nnmPFz7GFBf0CPkPzIQZOyGq13yL5GLwvCk71BGNlkeCOHxmlyFisLhCA/zsj\r\nZ2fcF9EB75u3HkYEc1scVyjDlMHbnhSYks27sXpL4pBlmDzPVYbA5jNZXQER\r\nKjcuJonJwyfM3Gkm86Qj+oe7YP/7Jk+0IvmYAuyWZgYE1gTplmrFEszJmfgO\r\n+qhySOZJqpubodkEsLtfPSvFz+zO2S66ECogaiYSHFyhDue3O3pE/dgVScQj\r\n0PNMvk5tRUv85T0Lc4tczLLoj0f7E75ckgwUF/Hv0gK4K/yePEiJ3UP7MsPV\r\nnnJaJsbqOHycVhKezR9MvQ6cgKr9uD0sORMoP7V4yslggDgVDWzsONiYc2Lb\r\nGyT14P6wOW4m4LFKrW198WwjFhWfeWYibfocM6mFVPJ/yruJtfQe9jW74KhO\r\nZleNPNwGV89WXFBWsaNu2gB+s8+mWMcGT+M=\r\n=4mIx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cc03915314119934676831cd7a244f70e12dd2c6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.a4eb4937a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a4eb4937a.0_1662488350176_0.864340242918477","host":"s3://npm-registry-packages"}},"15.0.0-canary.4299717da.0":{"name":"@material/dom","version":"15.0.0-canary.4299717da.0","license":"MIT","_id":"@material/dom@15.0.0-canary.4299717da.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"08514bfa4e1a5ed46db560e86353ce941ba79d4f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.4299717da.0.tgz","fileCount":28,"integrity":"sha512-2oRmhJQmSvIp+tF2X5AJtsugzexgUKE8Gx1bqj07DoVu7U0z2vZ26pAZhJjIlCWb06R8o8PUW3g8v00jWNrifw==","signatures":[{"sig":"MEQCIEZP73YSiOqvSbBsbDYE9aEiX7wT4qWqxDmUkMLj74uNAiBnnQSYRYbkEI8DM/+OspSrdx24eAwsmj8Y6kAc7jGicw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGMOGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+dw//YfqKOiLod98Sj/drR/FKpqPr50d8WQbgVQESdn3JJRRYiHfR\r\ngrVE1RE362Zpt3ZE3GZHPzd0WrQtAi2St7pti8aAouTzaOS6g6bvtWzVxani\r\nfQDlz1sj/yNKfZ/lvG2G1FkXQjxpsLvyFoQWY3VZ2kDVXFvtM6MrLwgW/rOH\r\n2r3mHIZ8yan5/ZJqVJeKt4PS67qxMAVmudQI9imDlQAyFe21b4loN0oevg1z\r\nzQkyVDN68uv5/+YJTGRwvyNpsvAxDaD63g63k/kDq/EAbNPpRRhfbmgucco9\r\nELhUIFNdKcuPOfjyiFz1nn+m4cu1MANDXjxGNMuoegDjuLrzfxX9vAqidKDg\r\nnrD727IXJAhoxClyDeul/SNXna3G+jPGW5oMOuEH1UFWHP8Z1VBro+D6NCzG\r\n3cx8WA9W9aqTpJsKLMb6i12Ol6q8KkPyuWiARPzPtQ043HIHZAIaev724gGB\r\npbHk0iaDDWRGdTjPjSxQiakp7bTR7ODuc2r98eYVK4rxmiC+bwdPHU1mzxfS\r\nwnMKN7ULmEaup7qhfUa8Gr8AcRMqsYqM9k7RY9EktclHce9g1iXunr7+geiC\r\nH4fgWFVBVLqSA45tInK+V2RVcYj1KzGclLtRh76pGpz6I0DJOcaSM4+68erH\r\n/WDi7sexHdZ38mLJD574+4wX8Oy7/hlxERc=\r\n=4wfy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"22082634ffad1ea812192e5ac62786a8ef47aa81","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.4299717da.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.4299717da.0_1662567302238_0.28124340655942026","host":"s3://npm-registry-packages"}},"15.0.0-canary.fa7d8d44b.0":{"name":"@material/dom","version":"15.0.0-canary.fa7d8d44b.0","license":"MIT","_id":"@material/dom@15.0.0-canary.fa7d8d44b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"23c4ed86173e4c5c52d3db57bb23f936c30a47c6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.fa7d8d44b.0.tgz","fileCount":28,"integrity":"sha512-/K/QQzOax1ZpTjEtKinu4Azq62yoSmoEYyT6c1Z7G8ZO58FG7tUdfynqN9Y5SAQnduVrrtYvHf7vdqMNSbBJEw==","signatures":[{"sig":"MEUCIFiTNAFF5qDvjuKZnT7EB2yxOvuUd/MRPHsDtl+6WPrcAiEAh8fcZN5R+a+FQoSWpSj8qUnRf0IjJCQNDT5K5pheCWc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGO5vACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOhw//b8Uoy8gTDUZ+yEYbUq3dDhr9HlWxsSie9/y4cZTw0X9DmomG\r\nc8GlJ9+Uenhp68bSb4F7trG5oZGhV9/jrKlPr/5WNAZUTrLP4I9Lnb9goFQM\r\nUDGFfBsU31EtHCH7gVos+UulgVBLqtv3Zs5woulMB7vdr5LGI95ggQ+VUf/t\r\nHxIV1lyQOhAin+Lli4AG2n+7sV3cqx96T9IyyFEEgmInCZ4/xn7th0keg8tp\r\nnLvmShB49Js88OCOVnqEYnlUKWrw7B/2yE9aBGCvM4vgZnng4CfibMZ0ZQna\r\nW7P+tSeQEvTracQxDZAaCigZDuw9QZ9j2+r4CXkJqMxHVWzvh+EOUz7INijl\r\ncsiIcZSuwJ0S/GXj/VIPad1ubuejUuaoLQXcc/U5Jo3iEFKV8lIT198S3syB\r\nm7VYX7bhejFdGrUZQ6QbpaSHKWgbl9/HgquwmWG2l6NXwQ1aDwu699/Ndu5N\r\nKzoIHTqGp0oS4xJz4B9XnocGVGh5NNZvChHZuRaRAIcksw1h5An0YKPonmlZ\r\n0u3vatUdgcLNO5uiHWDJolaJ2CZ8s5sfZqNv0JI3cnv+d4dfwyAuGvJzXCcz\r\nqr1cF35FTCMPGDss7kWTYMspp2n/K9RqVTBP+WR7SzfVjyVu7g/ziz5v+zhC\r\ny2ktpponWu16Repzl2XNgXdQgIlfW/mEloA=\r\n=0QT3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6fc828292e73ec2f8aa4332891628e90f4586658","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.fa7d8d44b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.fa7d8d44b.0_1662578287703_0.3601502438632873","host":"s3://npm-registry-packages"}},"15.0.0-canary.a40e3c768.0":{"name":"@material/dom","version":"15.0.0-canary.a40e3c768.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a40e3c768.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3f5c7042425a6c2f7371eb6a9dfdc86363014fd0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a40e3c768.0.tgz","fileCount":28,"integrity":"sha512-RJkxvrh63pgNo2Vw7Xoaa3t/zjkTqtqoUvV55yIUcDQZCYOMARJd7TdWXhbhCVy+FqJh2HJV8u2eUYE29EPp4w==","signatures":[{"sig":"MEUCIQDk1Gstixs/XHJetNnHzq8E5OdTGr7MzwMbGViQNhcLtAIgM75OzSsoxPWqjYL2sl6P+G8AhLaG1J1ChNVtFntgUxM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjG5wFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoI+w/+OBiUgrYynNXzO+D4FmDpDqPud+AaIBvf2me4kd99cwh6wyyg\r\ntA3qXSf+o5Tg4urMWwHShNRBiGpBQZ2sf4jhJAPRHDaFEf/xUlxuG/Fx/avw\r\nXrhWKKmbMV72/2I2YG8zv1tjNoaiq+gGLLpOpY1Sv4GK2oFBZ/RnTcOURoIE\r\nMCBKABJgMeLECRY9j3cfQniWfL63z9kSnaEftLcdLGxFK5wQw+m4Fj3GBvyX\r\nAohWrrgv5bQgfttBFB12Pv47+idU8AJnh6X8sj/IKbbv/cBBLArxZ0uBhFVv\r\nJRopGUzYnqGNfRaNyAmDW7rb7cFvPK9UdM+g62mAZGHAGNVKDmpn9r6+OdUU\r\ntbpSmVIkM2whj2HirDtvYOh0HyQ93tS7kEO8b37ebZq5Nn5/MXPc1J0OFjOY\r\nUC6dTHWkRrpmTy0BtxBww8fL/H+jrxqS/HharMMKnicR5SC6yvpU+yGZyfh/\r\nSEKO2kK2Yx7TOQvXYyvylf1MwgVBFdZJbQeXQQButvvTLTUEVZif5PvciWdw\r\nHMeE5AnUji7bND2yboFNHEgEEYq6ienq2gCaZBbybkDEjfbjh5LBjnk/w6FF\r\nPdcGtEqJlbaGqwSGh3d3YR691sOMsrzZtJ2GEet9TmDHvLljv/urBkcEN1vJ\r\nugoOFoipn21QUIGlB3R3877KCG7kOXVQpyQ=\r\n=2giA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"33ff1e71e12298ba7158884edffecc83f0055913","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.a40e3c768.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a40e3c768.0_1662753797230_0.17231355409968874","host":"s3://npm-registry-packages"}},"15.0.0-canary.18cdc9a00.0":{"name":"@material/dom","version":"15.0.0-canary.18cdc9a00.0","license":"MIT","_id":"@material/dom@15.0.0-canary.18cdc9a00.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"95db216516ad920622decbd036d842395e41675b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.18cdc9a00.0.tgz","fileCount":28,"integrity":"sha512-W1zAv7VE43GIN2XRXjGK8+vO5vScaEGWagR47m+V11jflLA88WfEYteEGc14J8uILvWqtpOFpD8tHR9bLXFdgQ==","signatures":[{"sig":"MEQCIANdLjn4PSKaI0jj3uMHNDGbfNiAngChqOSuV+pM946VAiBMlPdDtsM/iqXc1p3o/jntHZ3+1F/yocC8QMzUMVVLdQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjH55VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoaXBAApCTn5G+WnScB2/cvZ2FcBKFe3KweFBKNkGOu17n6BKf4chlf\r\n9PfjbR2lfUz8qXcG9F1M6BkUWOET4q1MXHC1fSA8otuTNB8cBcfWsnXpGERn\r\nqHb1s2dFnWGKIwSrK8AghetL2xxR/n5EH9v5mw6NQkMxmAEBxj6NMpeHSggQ\r\nzzdE9J6PLT8d6yT4jO+FA4PyGTs0v558RJSqD/CjRTE4rn51Z7TLpNOHku4H\r\nMXSPmsKghLoRDhqI66oKoQPrtatAY3NkfPCi2OhWjk9NkMCHXDzbCdmGM0z9\r\nk0lwDl7feJatvA8rxNEiCvZhWMNlK5N+blBQS4oSyUNpjUQ/ENNRYJsYYqPN\r\nMTj5g9IgNAa9xVGq1pOgu5kwXsRc8OCuIpNZyXlsrnyRzAAcueDMYt7uCFnX\r\nIr0bxB7+ci6xQbtz+efZsARWwjZj9VTahMKw11hTP2Y7SyHr0nNAf0eA9cAU\r\n/hVf1ChegzPoP0NXJgE1XRNksbtXKQQDCwMRAkJBex0EOgSKYV5YEYvknMjK\r\nrKHpMNhgBjZEtQ+RqfhH8mDvrGypC8yFtu+B1tdGpwGbrxf79pKvac2thbek\r\nvC8TbEdExD441yZZEQtLOT0LrzvlqRsEwRoJJqeNsnHB4NCdtfklrpsnurOZ\r\nv1p23P2HNiomsDYltB3IA0g7lym+S2e0n+o=\r\n=ndJe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"85b7dc2034fbd68e480826d635d6d061ba62d3ac","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.18cdc9a00.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.18cdc9a00.0_1663016533084_0.27259251616209035","host":"s3://npm-registry-packages"}},"15.0.0-canary.7ab3cd3c8.0":{"name":"@material/dom","version":"15.0.0-canary.7ab3cd3c8.0","license":"MIT","_id":"@material/dom@15.0.0-canary.7ab3cd3c8.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fd607424447d0c8e8bda16f6c6309a924514a6d6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.7ab3cd3c8.0.tgz","fileCount":28,"integrity":"sha512-FJRVJ/Jxmz1qzaA2a7NDi6Xcx81TM/DLYLUM0aq0gQHWIuBkFG9DNBAAj0LDyoDO3y3v+NCFSwm0ZK2QR09Zcg==","signatures":[{"sig":"MEQCIAhHnL+8TEydYPxse6tMxJWh8yJBerAl/wcl6kC3f57DAiA1n86etbbGdFT2T/SB+Z9HBx5Qfh1WhQ/3BqPGpuoSvg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIQZoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqptw//ZQ4bS/m51M6SvEJG8DlSzgAoGpGL4/idb9CMb+Amv6HmX3Uk\r\n2vsSZiix/4gefei0nMsUl0GjeADS3yA5s0/jnIx9lviIL/FIuXvY3LmXkq0n\r\nFVYCzg7xTFZyoAtSrd7HX8U/ZvXPU3CYuwSyNAPomfyCTGA7iay9ZXjmfnc7\r\n+t5nHTnaSVBEORt2EcJuy/Iy0S36xZC/OlQ3+Fwbc/2UUhqpqqHdbYsE3ofW\r\nO84RHFl0AGa85pYTij3eU0cZPFYsZpghMh9VMw40HeeJirtxsLWwpxFsW0uu\r\nV+/rMhJGkrbcQkZVBc3X2+X7kLg2J4PyhWTFc9D5iqgtnjAXFhufo5GO+q+3\r\n6dZYjwmx3YihpMmuReIiW5DkZ6QxcFv9A31U6huMQKfAIrP+6x2YHPOu9C/v\r\nxKou4epfrQWBWJaYpVdjfPhLrZ5bpORZN2/6+QxJqzdaCsG+oPT+nmet7AD6\r\nc3VF5Ar4xeB8yXcawjwaWrfp1T4n/Zt4hI6CPlYYfoFXLHgnIdejrBy0HI0x\r\nxYHQUW6XeW6ujTdFRXSTzxRn0JvfxfjSyHnDWr8yKSqFeeEMSAFup4PVhfgJ\r\nRzIM3W/jiUEyWqYtStmePXa+op//yUbZgT7UJdf0kMQMkQL1GTcgQMUTWq1i\r\nsZCzQGzgjR9tf7Cx70jlpJLVJe5PkMdvR3w=\r\n=eKEL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5e840f2c9b221706de7ff81194e71da2b68b82f5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.7ab3cd3c8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.7ab3cd3c8.0_1663108712241_0.21447009467160338","host":"s3://npm-registry-packages"}},"15.0.0-canary.2860d244d.0":{"name":"@material/dom","version":"15.0.0-canary.2860d244d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.2860d244d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e062af5be6cc1d6eb920fc11542a62e86779fb9f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.2860d244d.0.tgz","fileCount":28,"integrity":"sha512-69HZrIbEw9oo7pphDkLKnjkCjzAnxEZ2KNz5LY1whOgG5GS42cVZgM8z8H4NMnUD/Qxi2UZNRed2gvapBb5+Rw==","signatures":[{"sig":"MEUCIAOh0sOpCCKuMLMdL2a1wWnqNNABHlFEyv0b+lifr5fYAiEAkDjlGKc1p08sPxV87DY2iVr3iXU/HUXPfrxD6G18BjY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjJP6WACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmptoQ/+J2FNkIhXNG1/394FRbjE6fUcCqj2aJeAIxV65U2RYmMXcPSS\r\nw3GrdkXEyJNe9r8mjwSrFzlu0V8YrBTtP8NoOZe2i/x8W5aw6VsfHodZ3apz\r\ndcl1A0ZCSA9zaSIagpBrkB88nS/1ourxI8/lhWuORdJrilwRe14mO575188j\r\nburZuEjdURcSTJs4qFCLxnQCPq3llpccAHKOXDN/LbLwMtdsW4SGsnA4+rLu\r\nmlo1vE/fpPyLzW78OTBRGxMi5GxHvsp1EyuQHZNOnVP7eNWq7caxpaAdt3S7\r\nAD6f5djJAFQtC6Nb2taL9TMwscygYFNZ4erzW9xODs10+792PtPSDIRjHO5i\r\nf0SHChdempJ11z1TLxYD4yovlw+2nY5E0eC2bI5SdNAItF0zm2vBdbl01v6X\r\nyvmMQWcWFjHykQFlRWF/kD8AAVe9dDv2Zh0N66C/yW+Q/oAWKs2pZC4hY3LR\r\nvHyfPRCsG07A7qElnduv4y8TwwQH+zhJxALd0tIcFFKZWMXNcp+EUdvCqDST\r\n5g72tmzLQf3lkAcU2oHa+jWAeYlZc58j66joT3ZSJ2fEb4LuSvpMapQWgAlC\r\nqYZsxuAjBEwZQ128zZKoxyzYgQJrTpoVDVhYs57JbqOWu919AJQztNf+iDDu\r\nO2WNRNHozlN2hAWoKztqlk/QEdUzMAcqljA=\r\n=JIJf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"992b4ddc7340e4e4231d1001d68229e8911eeba5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.2860d244d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.2860d244d.0_1663368854257_0.17986369605553532","host":"s3://npm-registry-packages"}},"15.0.0-canary.e8726533c.0":{"name":"@material/dom","version":"15.0.0-canary.e8726533c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.e8726533c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ab3250c09fb5a9dbb7397ba83498aaa61d8d440d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.e8726533c.0.tgz","fileCount":28,"integrity":"sha512-6Vga9kRY/lp0zYFoy2lpfIcnGwsJbapBkIVQLkZhBPcSLsY/VPnAb9yzX8h8WMnwDH7FkJSj5UOtIS8fCviHQw==","signatures":[{"sig":"MEYCIQDWnFJCHvdX7husxM4/SimpUDLt5C7qcaxKxGbsBWB3QwIhAIboo0CWfWIv6/MwSdUCY2FVcyBRU6H0ocGvbYZobpxN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKh+9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFFg/+L0/AS0Tafm+AD0QgQa8nvvYlq23LExHD3fklwJggyUjcKt+b\r\nPdMNt/AmPGnK0TQmgEXtD6Sj9MHl9vLRKUyFION9VmixqDBVhL8ag/NzIBwP\r\nNyMPhGtBG3hjbSFXJ17mBx6AOjulR1ClhlOYUQQfj3nppHjDlbpa1z3buJEj\r\nXWV5pxw2Dfyi8xayWycRrQnAu6CMz+bLOM9N9591cRKw+oWlh7CE2gBXk3T7\r\nbYfoFwH2cZH8GnVxFP2UlnnRxaOhdK8aXFSBqz+iNHB+nn/dkJooDDMOutb/\r\nYJNeQq55FXVo69UVfeCPv3Rlr8T5vksCGnlVoCJoWy11+CnrtxV7fLE8MhQv\r\n+/u4ZJJf9UbCN38wJ5/VFK5N9C9IxKcu3pBxyJpXJ6Yx870RwCsUeFSo8koD\r\nB7IBJPixzh0VaalOMvGKKGYer4zMXooWaxYvfcIrHZccfaWDn0KDKZ8flL4y\r\nQvo0ATrc1E/ZvN/ZJrO7RjfVGv41ipkCtZNhSQU1SPYRT6JbyqkHSRWmu13m\r\n3NoJ53b6ceOQyqQChLnKapwR7Z0Up8N19ArZcWt2BeBs25nTOHhZhoXFDGrD\r\nZLwjZTVI731O834LH/mP1E0bdxBadaMzPpQCb4s2OOnsp845wuOJQ0AI7ATd\r\nP7Vwc9yPwBBIo0fiH7kDM/0Ood+defpMcg0=\r\n=0vUZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b85a9f4d1ad6e30de8175562c0093248848c2598","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.e8726533c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.e8726533c.0_1663705021653_0.14166689534436205","host":"s3://npm-registry-packages"}},"15.0.0-canary.00d8de0aa.0":{"name":"@material/dom","version":"15.0.0-canary.00d8de0aa.0","license":"MIT","_id":"@material/dom@15.0.0-canary.00d8de0aa.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"560aaabf461643aeebc862e260d8a31ddb84db6e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.00d8de0aa.0.tgz","fileCount":28,"integrity":"sha512-EJIDofxrD3TBVzIrqIzx9tk85GvblO2SkNWz+lpkW3BO5HIi5CMxm+gTlklqMedabzJxWZwVvP+oasUWR7SEtQ==","signatures":[{"sig":"MEQCIEJFjTAY5LCwiH5ksDIK4jqfOxKEt8bU1kIQpb0RPbM/AiBFL/tr0QI0yUWdnGFir/qsDTZc9Ifi/5KrCeg9oW7Exg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKyt8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvCw/9GUsQCwqInUM5kEokDhe8e3uedncG9Q2Gmer24qoRphDNY9Dn\r\no4to5qANh8zvJ8aG/sbhjavUN/Ifnl8e6Y9rwAiWnpkFawuN4UnDGjnNh3Q7\r\nBQupoiJEeHtSgpbjI46yewOcrf5zB/TUHpVxkX+kI919Qm+b2PHpL48JkziR\r\n4zCjEGG98zwekQCinx6gDLVm6KlTkwSx9kCJlyGSL/O/mJy4y16lJ1V12f93\r\niQbWU2TkDFwgoQWTJiwldG9fbA6KZ0QNZeczZcviJBB0+wrKl4yoDphhZFvO\r\nrxXmy+izCUF+EocQ2757+CsX8uVuwZUNGW66c95OsSs77XWn38jofK2x8ZhU\r\nV/ivm6AS998lx76+wtBVgrBTyZTEZUKkHpsn4rt7x8/GKVLH+DQdIVsFAxv1\r\n+24YAxq0+7F7sFEhSS/0pMjLC6I6xyK63S7c02ZeOtyZIrAsIxrJCcjWWbxA\r\nTWfNOxZZ7vJIdmWnI4wA5U49CQ+I5SZHXfw5fFmTHYs6WeUCKTpPt/duSYI1\r\nC4Dr45nm8b8VDwZvh+89rxSqe8cx+qmp/uGX2l2/uF1ZmYl5RGoGPASerVfu\r\n0auQxm76dnBRHr42z/LLSMVSj2CuZehLkE+52pzInElKsFkoQ6PVXTFy7Mhy\r\n91xSwd4qjDqCdbJg0RcHG84WS3dZFsHjv+Y=\r\n=JrSC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0be0806991396e042fbbfb14ac3ad622770647cf","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.00d8de0aa.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.00d8de0aa.0_1663773564439_0.35567132494130194","host":"s3://npm-registry-packages"}},"15.0.0-canary.271aedc30.0":{"name":"@material/dom","version":"15.0.0-canary.271aedc30.0","license":"MIT","_id":"@material/dom@15.0.0-canary.271aedc30.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d846313c58213634b3baa53141d4b949cac5f1c0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.271aedc30.0.tgz","fileCount":28,"integrity":"sha512-CV0mWC6wAgk8kiW6GU/ffoC1iE8p672uQZjRhaWY9K234WabA54WnOL0J/qBt912WO2lfNfKonRXP/lh5GdhQg==","signatures":[{"sig":"MEUCIQCoPargaGDI4LYZPmEvDIK6T52bPtz25u7pa5pys7yNpwIgIaYMVQcBpCPOpBPhEDBcoYm+oCcqbVsA5TUj62b16A4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKy8xACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMuQ/+Ly37RUizBQX1fh9epztC/zKONIRuWH4ntAQJ7GFLN3mvurZX\r\n5UmbIqSE5OOaI14p5wt+PfxEto7k4cDAWMDDlwIVT+A6h2GufpesqCiWayGq\r\nrrIVzKNZ0Kzlcadq6U4cd5LIzI/O35auOfYTU2y89wqcBR4AMIoMBfq++q/t\r\nafRw8jf8c/dLO11Gul67id3FxnWVWvbGKoKGSfjiLKLP2jYg0UYjNZqoS4bF\r\nxKDF6s5BhHDg6P0+lkLKtw3YoJK3KRd7YJTceWZa7fxZuPeXBVmwoC25ZD5c\r\ni0AJRUDqdx/hkNWrNmtCetIzd103lMlaoaAwatOp+fyYXY60ikfO4k6vt4dD\r\nzidTxEpQjGUhFe4CIi5VgqXoHrUFfcyqMa8s/zEdG3ifzIvOP1iwwUimE7IO\r\nT8u46tpnZEtzuiz6EbvFnJ8B0PSAz+eNUS5oPQCrsybTX4CPbUkPC7CDb+mc\r\nZZkJwcnfku6+Jx6x61fPbOVZ262bRhVHJed7dOXsXE8qtYeFwdTLjI6yHA6V\r\nwjg6yMLBBzfewm3ClqVIEBwjxem57qA986mWBmy4yQXpIG5wZXNJOnD2mFKe\r\nu9fQq01yuBGvC3ZyT+H2OV20Mmk1wEWwzkdY5F5QVy3E4EkKz9ku1tZCT3/X\r\nrh0iGQw9grpVaUBh+HSnTCSgdjKdXW/dUvw=\r\n=1Y9l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4972da221d6f097e904fd1a001de647e0e185749","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.271aedc30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.271aedc30.0_1663774513357_0.3771747095463731","host":"s3://npm-registry-packages"}},"15.0.0-canary.9f17ff2cb.0":{"name":"@material/dom","version":"15.0.0-canary.9f17ff2cb.0","license":"MIT","_id":"@material/dom@15.0.0-canary.9f17ff2cb.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7d68f3321a744a906bf60048a13ae38e75cdb199","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.9f17ff2cb.0.tgz","fileCount":28,"integrity":"sha512-tzYqduMTqYqs1Y/LWQj4CMdtnkQdHNLtpDNZhBjBByH1f/oQ++pQPrOEUwQ8f+cBmyGz10etYPqjAUB48ATveg==","signatures":[{"sig":"MEYCIQDIO2JmDEY4F+wqkzVGG+HZsi2DLmYoMyauKITE38kSLgIhAKcVXcaDbtC8wn3eM8NhihH+mtIaI+xa/fgsDmTQaFEi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjK1LnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6Lg/8CU9B/wJKxNKaD81oi3yDKuNRG4jJpIdHAO66mFyk/nE3KJZ3\r\nxWVRkaOb/AggE2YwuPj7ntIyIT7RTYRLRBa26tUG6MglXUiXoC9VUlYfV95a\r\nBJ7wzkQ8jFz8TBP37/QPtGELRxFk/7+XC6oMZuAyL+IHRpileZcvZBSct4bC\r\ntrPZaHTEPXIarDPW4apw69AyVkQ6XkapofvwvWUhf8x3vh5PVS6Jg0zk/dF5\r\nyquXbbpMWrEHXGvC4p4dcNZ7cnDkCLxMdCtJztO6YpEqckGFWv5Zu+5/bZFh\r\nMVLbDDOp9sscqFKamNN6fsU5krCcWTvrBlJqJjxywS0al3gjKA4naWdiRVrP\r\nMt2ASxTTB7O6i5qsc6UolUisBlLAG5ed9xzSRbpyvQo+xbtlepXtc9e6iiID\r\ntB86eK9V5oaGI1m7FmbE132fhK9zeCnVVaqozFvXO5je9TnYs0Ovqn6SN8Zq\r\nw/r89SI7DkdGif4JCe3KL+tUbEHbdLlSXRP1e0Autxt9EscIWGDzFJqK/c4K\r\neEMxOHCySF/nIw2UfjSu3axCoQb0lMUzB6g8hMpF5FVNNFCacEAaJM8ogCZL\r\nZL92GDW7UcPdIcJ41tkH/PxaOCQ9TN46TVhvzCUe1q0xMcsuewsn7US57kL1\r\nOcdXsxN71LTTJrHfbJFk2BNyHmHEZuRTTrM=\r\n=K0z+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"34e73eebdcebc0a0b475c8b2f9fa0dd4a4c3397e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.9f17ff2cb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.9f17ff2cb.0_1663783655393_0.19606628667265813","host":"s3://npm-registry-packages"}},"15.0.0-canary.d3344c16f.0":{"name":"@material/dom","version":"15.0.0-canary.d3344c16f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d3344c16f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"accd6ec1f53bd51ab47276846ea248649972b423","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d3344c16f.0.tgz","fileCount":28,"integrity":"sha512-oojItknkh8c+Cid4TGwCp5InbUdtSMHnb3yzO9OT2E4K6n3unsHJPatNVLJsjNJbHVx/Y0G/1h1Cme5sPJLaOg==","signatures":[{"sig":"MEYCIQDvGOKjeYNUIXkBIaBtyCFYw5ZUI30y8uj/FhJ7Iw57zQIhALdWFTDkIYq9n2ru2+vCG/Bj2lmlepn1akHGW//Ist6y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLCmdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoxhw/+NtUwshLfbeNjWGiBLmWtOvt1ztciVAibcSoQKP666XOOHHdU\r\nG/3OXTJa4wCNIx6YgSWetCD3pluaCsS4AyrkN7zY4qCPi31qgFtY4yir7YNY\r\nKg+euq2+Cyw6n92HW9PhWKWA88LsgtS3W7RHIH+cJrj2ydnIlOT5z8k2OW0R\r\n4sVrc7QlFEEL3a2sL7jkWBI5RwsMfYp+ZpDhrjRmPz+xPwIEGhyprYlGEWXo\r\nYs/1sD4dbRhSWBLKcbq1ljwC9RWrMmqE4sxU4tCMhQegtJDgcWoc2Vc8Rk2b\r\nSI0twtfFp446+v1byEmJBGf6vc4byG8MdXxlbiUuZyLGhh4WvOpWRullKgmq\r\nWOjFYL7dCKz29VetOLW54DVR0VbOaJRDCbf3TO61BI9Qe8oSVzUG5iMc41tw\r\ni7h/rnFgKSagnAppFET1tThDBUpPE30ttUx7hzeqR9VtatN4h8x0gbHm6ZDk\r\ni+B++KQwMSOIWZ6d03LTxo4JHUTmxMM4wRX080/aYBjz/0qCMyr58+dVyF43\r\nTdptINgrBCodczjCyjeQefk6WPApondrBmiPXfg8+bAHKqGpSD2Ii/lwK4xc\r\nTwEFeFxwuQX9Z6+JJG3hTv4dyV9pwC/XI0XgTgShzWeKD+kaNojs5GO3u9jH\r\n82AsabDWjJmthdDTcgAeCOpapf72uSWdHFQ=\r\n=1emG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e0a8dfcab6df46c9fcc9969a6dba1f4fe48e028c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.d3344c16f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d3344c16f.0_1663838621584_0.7644059151858007","host":"s3://npm-registry-packages"}},"15.0.0-canary.94f20ccb8.0":{"name":"@material/dom","version":"15.0.0-canary.94f20ccb8.0","license":"MIT","_id":"@material/dom@15.0.0-canary.94f20ccb8.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3e9d8f170a8f89c476b67a870478dfbc89abffab","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.94f20ccb8.0.tgz","fileCount":28,"integrity":"sha512-dDcJjuCyFQsJEYqk0X52URXpYjvCHpgI1pgeOtDJB46Jpvn3oQq0YItnJ083ZXqUSfPKUnZHr+WELKVoxTcxaA==","signatures":[{"sig":"MEYCIQC2ZNKZAX8WV4PxxPwhPYcKmsDvpCB5a5wKUTdXjv8jXwIhAPRHRXhVidCkZel5judV1i6s09SqVr8Q6AQR3mS9h9A6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLMnGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpjjA//f8PuVL8dnltGsxWVgYo56h+OyszThtIkXGq0WA7Tgocxs8XB\r\nGQRUQpXBY4S8j9KNv4TikivOhu0ufS+l1wMwNqBx377/qi8pBdjxPcZaxCNT\r\nOCV+17ZPevHXdlKOWSeJCjI6TcXwFUVNZh+qhhWwuVdoWd0c+uilr24jMp8s\r\nPdCDc4+PAdio7kdDI5/0PBilEVuloshf44QT28oh+zDMe3zkGrgfhSv/Fliz\r\n50Ac87SljN1zfwSXpr6cpEJlnFH+qc5HDxWQZw230wXF0ti+zYpwYocGkXsW\r\nGqiyuK5y5YwX/Rd5L0Ff8v8poPlAueXejQL016am3JK5l6p/Xue5PXiTf5j/\r\nZbOl5+A+9O4i5QAIkMr0Q7YLu6tf6OUJYcx+qqWeimzauOtctJKWQ04Gw+sl\r\nuQmAu7SxMK7QoCH5ldI0tSFgbJMjC9Az+HDGcy72vH0sOWaK3kz9k4Cjr4Ea\r\nKfeOAiyqtpgRmElUa73bCqIsF5TYe6bfoXIQmGuDXPm6+ax3FO4rj9oJLrMG\r\npFUkNbkWYlJx6Xk5hF4Mvxc94cc+nIXqgdVa/VzhXH/6C+M8XSapogUgHnNf\r\nVAd+HjbgestQk9CcfojHuoBSvsEpGYvNdd1mlqT8e8JeNKM/vSFn0Erp26LS\r\njroggMqTnYax7wBbBGDo130b/CajmJXe9eY=\r\n=i3nc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"16225f613437ecef2ed2d760a08046953ecd51ff","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.94f20ccb8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.94f20ccb8.0_1663879622541_0.7053853377052786","host":"s3://npm-registry-packages"}},"15.0.0-canary.81e4cb7b2.0":{"name":"@material/dom","version":"15.0.0-canary.81e4cb7b2.0","license":"MIT","_id":"@material/dom@15.0.0-canary.81e4cb7b2.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2b789f1e946cd9688b377d9a272c43933ff18e8a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.81e4cb7b2.0.tgz","fileCount":28,"integrity":"sha512-vz7sUNN8ZdQYpz9OFKkr+Khe5KeK4G/xGMnMH63aXqi7Y2VN3PtDl48dtOq2wlWpFtOAQ8BaZanBl2lzCOifEg==","signatures":[{"sig":"MEYCIQDw7MjxpDCVQDOsosk7MhP1p6R0OgksZTvV0Jyk7BnGegIhAO6Qi2zGK8yd5e+6XcYWwiOX07MCh3sUVYgniKsdlWiY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLcurACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZrA/+LeuxUnyLivnhaV390arzv+rYy/5/Hqumr296sjadQkJH48Zh\r\nkYGFU1OA3YPZaTCOgVbdMWIFoaFK4FwC+VEfTt+XPpv5yqjTCu+zyO54hJyx\r\no5uQwzhnlvCU9aeh3jitILt1HUT4i4uX/gpBtmfWi/6hZ16olCpNqwYLRVMl\r\nYc5zW2vltdv7oXxkrpLyPCwKPdyec8l+TVKWoY2dT1gt8Ey/zdMJwuy2/y2k\r\nTTIRnJqB7hJvAgQoSpI2MSjH2aI7Kx9Tr7kKdweeQ9enreUq+fy3wmGJhQbl\r\ns05O1QKPLzdw9IsAatbARcxDH9Dn8KryQGdj4EbjMxDcHwIzKKM4e5WzrbsA\r\nSbW1rsfy+HzARaOu76RomKLmA9vWRX9HHtq+B+sNrxtQsA4gHa/LvGWoOHD8\r\nNTSvZQGvt/I43jqKAgScDVMg9xZLiPpnjadbDDHM7j+5nphAeJRsFr1fnBK5\r\nu5rxiiHPlECZ4/fvT4/bkDNoNWdk9RFlnRWYM6iYQYIlJUySc5VnvXtgELEX\r\n4iZGY4+EyGCLi/trNny9+UnLWOB4KT3SrkdFkLpUCdUQI1I5roex6mcJ4y8K\r\n3lTRQDJ1X6oXO7TW3rnv/fTPCr80S3ngAOhjykggdejS89nqmYcj3Ca08RH2\r\ndHv+4bjB7JKbIvkbaM4goTQxHadCcg6Qip8=\r\n=Kt9C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"63fefc99b30106d8aae83dccf8e6e8073043a3fc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.81e4cb7b2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.81e4cb7b2.0_1663945643076_0.5953815233784581","host":"s3://npm-registry-packages"}},"15.0.0-canary.aa85f9413.0":{"name":"@material/dom","version":"15.0.0-canary.aa85f9413.0","license":"MIT","_id":"@material/dom@15.0.0-canary.aa85f9413.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"631a3f2dd3d055637f509cb172e54d244a7bd3a0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.aa85f9413.0.tgz","fileCount":28,"integrity":"sha512-mHpCiAgFVNDmvb/wT52fX1xGvVvwfWipzWeMR7I+0i+c7cMfQLjz6AubOYLYer50kma2byh++sH2qeyXnhVDsQ==","signatures":[{"sig":"MEUCIQD/+O5I7Jmci9laNLJV4uQzFsKk74vARvoOgw6rTpjz2gIgJBEaZFzfdbxKuqjq7hz4LNFGYy/ZVzPf/DaZhf2Vytc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMeefACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoaihAAj/cMyePsIjqeQ/WDcbL3kOv66aGgSBdZmH1Dry4JhUaGLevQ\r\neQPvXaWC67eOz4wKi2zPRFUu8GCYhE9r0gsbNUPUZKdj7YgfaHr7bYm1GT5U\r\nKzZqkJvkCvP1f3+tnQtnQXeL0enOvmWvBbbao5bqQ+HjoJw96bcu7gC2v3+Y\r\nEWr4xVSj7tJ41OzsKeCPMRSYfPjxkj142Rh32fLgluXbbKZLamtXefZlRXl0\r\nl+pBzSbgsNA1RYich3uBfk3EcbDzzF+KKYhnjoJ0zX+2EaF9UHwPrHyBbVi2\r\nI1l8lZyuSGW/+kfh6AhO9+ydS9dTRO+SfLI/SfNC0Fdo/yYk+ZAw8s/Ac9aR\r\ngwRKLluT0UFY3s10QTLI3be900763U5ovA1ecx1wgfobjtET44dyjCRlkZLY\r\n7FQah3IJKd37N4XPX8Y5idbTcAIHQrcHO4s8bFWusmI52diEf1uN9sMihORA\r\n8U21XvwQPT9/WdluyJpmtJySELZ8Aqq8EtdOioB5JzxGnXPYdEJm8p5UO9/F\r\n/tSbAyuDN95HrodgTVs9lJWlTaKh7Er2mo9g+G0b/qY931t/c0BNwbgJdRZo\r\nAoohTXDHthY/bEulHHZ5d9b/DqwH1KMoRtUbRC1ZlT8akiLzY8FAoBfFdEmx\r\nN93XotpVmqSC6eNxQ+OUXyeRUOab3B159+g=\r\n=S007\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"73f7402d0fd839f22c2c3bca08292a66389f5829","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.aa85f9413.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.aa85f9413.0_1664214943634_0.29342256917202936","host":"s3://npm-registry-packages"}},"15.0.0-canary.7134a7752.0":{"name":"@material/dom","version":"15.0.0-canary.7134a7752.0","license":"MIT","_id":"@material/dom@15.0.0-canary.7134a7752.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"698ba51bb0af39455b0c0bf3cf20dcae1564e735","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.7134a7752.0.tgz","fileCount":28,"integrity":"sha512-2xFz4cU8p5NSozZlooZcruZwRkhKZyIpq7gkN40GRK/hlJHC/z4zU7jrWN6e2b3twBG1gKH75/nX/hWosxdouw==","signatures":[{"sig":"MEUCIH4Chw6yIBsJJm5dwXeo/I64knmMV4I85ygwAbTNDRsrAiEA9hz1Xn3Gw/q1FgZGalErkXWauewfnk19c2xjAoGEm7M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMiAoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpV0xAAhtSpmF0XaKyZa7OnlGHUzA6UZh3vwlwVEf7ZnALQpEXd8s4O\r\nkUhdrij6Lb+N816bThPRy4kKGBrC+B3kRfx4QgFdSLnOoJ08SHgDLkesNGQa\r\nW++h3VA0rnuhSb1CLSM/TMHKIEooB6E/7dteFsA9gjjwEg1ZC0bnwBYUpwQZ\r\n0BB7/rrkoNQy8bN6tzPuuPNZTZw8Q0im+OgGHP+/kKRFKXkJP7saWiP1NLcW\r\n+GRSjOMT0JYYhtPssnC8qXfaT2iFZ5hXpVxl0Bls9tGxbS5YFuvE4ezzwijS\r\nUCWVYSGE0hC88LFSQgeo094UZ9Cq8LwPSXbD8rWXk4U1Xih5KgUeUnDL14ar\r\nrvQwcnuC9o5d3kxSaEJzYbqFYFSy3J3E8smLWfWqSO2LjulwEE71MkMUGQX2\r\nEuSlhUAd0KdpC30l80Fe4rkuMttWe9XevdsZsktSwHUrpWKf7UTVVFjD6Xhx\r\nepoVWjpilGHPWN/HA92HZYAQl8X0xPoLs7W37JvznshIaac868HmTTkbsHup\r\nuXyUl8CcyAOT1yKvckG55UE9uoBt43UOJQxhQLOQGvDVPRrdSAlZM390BBhM\r\nG9nKxogSzTHHvyFonk1YB71WawU948P1f6n4C+rrGYS6VE2HFufjmj294H7x\r\n8o8J/ASqjTwN19FrZUCNsrozCqTCrx+Tn5w=\r\n=6qY3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"31aaa09805eea1ad3a30e7b91a8bf8ee8911e80e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.7134a7752.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.7134a7752.0_1664229415892_0.1356744264752272","host":"s3://npm-registry-packages"}},"15.0.0-canary.70b8ac16e.0":{"name":"@material/dom","version":"15.0.0-canary.70b8ac16e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.70b8ac16e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"121d3499a061fbe2956ffa2da5802e2b27045b4b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.70b8ac16e.0.tgz","fileCount":28,"integrity":"sha512-jq6TQ444Y7+kadiQUUfarvwU2iP7ZNORCslfT0dyUSqfmDDiWvZosSbiVbwHozpwWyfwSarK5r32lf92R4PiRg==","signatures":[{"sig":"MEQCIEBXDD9Hmt+up/WKa2jGSwTI9h0V3Vk4tktUEsqmxRm9AiAkZ8a4N3REsLEalYgheBwQAssgP+hPA8ykqvq6q+tD/A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjM3y7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/Lg//WmlGqDZEnRMrMiJmXheWDY27RHBwoY0lZARE+74Y501w0rAm\r\nmEeI4+EL8XSy5js0l107+Z1e0d++VX5+hCh51BGXXHfiqvJgzmDakVBmuMXp\r\nY3FwTO0WfCaGQ8sA5+foW2LTgLirpCcDBXqUDKZpH3hOtkSCEDsIslqgkHt4\r\nvIyO+hRS48lKQg5XXYnetNEt/gvNl9Jt3z1LJI7gtxnFHqJou/sDDB3uoaG2\r\nvSFyX6wxnlFz/lTlCEVASoJVgojr4w+Q9kRW/sSGqEuIk4Itv0wMYnjxZpRJ\r\n6s+A3QjcgwHYJixUuB0Ntn05O0JidkTtBMdy2iadh7kHsbsuuDABQKdPTjR6\r\naHJsQyheyJPCIzdSAB7X5B4/JjFah0VxcuD7d9RFs9EOBcA8N2c0Zeh4qofI\r\n0V5qoKsZsBzSkzk/pTAi1VUCzyaMqKbxMlbJx327pOEE8mIKG1BnzE/7+/Ye\r\nwTiiA/Ms+1E/VpgT8H8CFAYUSJris/PA4qmP/K7rG/KgU8xbTwKsgqyk7jK2\r\n+n+b4DNf3e/h97V48xnsEyscNeZWwz/fdpWLWk/DikA3I5A3wmVvbwdpsHY/\r\naMLVD/6NCRaNE0QihJ33YZceh0wzre5CaTKG+arSdIoHOR2/kuFFHg76kmV1\r\nxMsoBy9CSDkcYtxYxN34Evmj03r9IBjVyrI=\r\n=1+Fb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9f9fb4c3a4123798d2b993ab287cc4bb7e8d7014","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.70b8ac16e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.70b8ac16e.0_1664318651619_0.5654506153442056","host":"s3://npm-registry-packages"}},"15.0.0-canary.c20d74405.0":{"name":"@material/dom","version":"15.0.0-canary.c20d74405.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c20d74405.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"aaa8f554f1d044a9777d82770630861d5a9e949d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c20d74405.0.tgz","fileCount":28,"integrity":"sha512-/xcBFhhOQ+H4LRCKCY34qmS6fJnjGM93TUVK7Tnd/egmUrTS78mNxt/wJ2jujKVYQuYwXLa/O53ZMBfongbAWg==","signatures":[{"sig":"MEQCIEyDhH/03kuBKMp9oI6BKaqfdtr9NmDAk16qtqiqWfGRAiAVk4rkF/ykCJa0GfTGGiYSu7N9SomUQJ0CvCHHq04/mw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjM4eYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo9zQ/+Lx8UN4PseVRW701bDqZnM3zPsmHx2JJ45IdORphjVPIWsvZw\r\ncZvnIICA0VROGEJFEo2+g3RNn3anydk3PnOgI8FFurjlQ27a0S01otZhI2Gy\r\nwfnwFe3wI2EuXnDBbd2cov1ymfOrymGfZdB8O1CDkkRCBEnBj1nxOSpjH1I2\r\n95aJ6mDSpTd8a73J9HtJeD0lcpyRAIYImNaZF3sMaOIYMKH4UMZFYkO4rxgr\r\nXGbIs11hOKFD+HojBp4Xx2aiOJ3wjjRLccoIvospZC02V1qSMXc+B8B/HLHK\r\nwBSLf5V4ojd4ZDBZV3noJwqE1Kr6KhSojkIgKKV1P+r7r4BWPIhSZoFxNh6I\r\nwtvzRtlBT2jkEdnH18/MFqltdp0c+l9HqmFsyEx+4/LBuajxhDafg8fp92Re\r\nEUYlxUWJ3PapZqwT9OyL4wLwpoFPojTRa2VY0GMMMANnxylQBjtb4wCebNly\r\n1ahlt1ixXFiU+SX90LU4g+98EvaYrQtQswPTBn6BYZjOeENTJFnNjn9a9pie\r\nqORMEY9+y8z/Ye+r4zy7G8hL110bM7/zwzWX1UO/fODywG9KXe8Z4+47nbeA\r\nOvKLUjHJa/YGZaCSDSVjQ4Nf7QQNsK1Aux2o0odP8gLnkFKgC8hk9xU5Hlc6\r\nolJmVC/9XeQmedQQSBgHHoc0+8VPLnyTeg0=\r\n=/rDh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7e1c6f9d7e3c90438265d23d710997462d087d78","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.c20d74405.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c20d74405.0_1664321431911_0.7084087026607517","host":"s3://npm-registry-packages"}},"15.0.0-canary.f033fc8d1.0":{"name":"@material/dom","version":"15.0.0-canary.f033fc8d1.0","license":"MIT","_id":"@material/dom@15.0.0-canary.f033fc8d1.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b0b01a49e6d720da5b74ee81aee492b3e0012035","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.f033fc8d1.0.tgz","fileCount":28,"integrity":"sha512-ot/FId8SGRa/jSnE5gFUaRkKYwmG6JGl5x7gcdwrW4rXapxM/j8iniZLzeImiSoUNaluBCZVgU1kUxdtagcRRw==","signatures":[{"sig":"MEUCIQDMLgBSyzLyhrmD0gE/PQS30HTlyb9aSq8K4y8ki7A0swIgIiwLjEZH0+dufR6O6j64WkjrX88CcKdYedRwrI3cgTI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjM423ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrY4xAAiksRPZkrt0hYh8DaX5YF+p/5ZbpctgRgMhqeal1Hpo8/fNwj\r\nm7qmekseskpUJhlcaT0tfQ0sktzXExmHY5u84q07gqi7fobfMnrcu78oNZM3\r\nA0IBn9Q8BEfpQHP5gjmifqzfFBoiADg1u8j1Hpqq/CJmrvdH+bWDb1XTbuxy\r\nZQr+oCj4a7dOUSjywkM6HVtpzZ7cmb25Ayh+SW8o2aErAiYwCVKp3X/ev7V+\r\n3cL9h3Gmyt7zzrKqNbc4mR+VohCPfTjqdx4Nha+pfXwnvJ5ncEPVbwjjpOWA\r\ngKqRkjpakg404WsaQNKpQwSQEX8wAXgOCDGr83s9IUbDNYqpk5uwYwTRDGzB\r\n41soszvw+pE8Mgi/WgR3+QH1XAHdJhIh6HrrYgdpXnmpXDK4H2BAP5Dx8fWE\r\nfw1818TlWbA9vv56OMcHqW4pCavKViYVpQREucmV58zkmcowO4WtymcigBTI\r\n9OYOgzZ8x0hfOmO3Lg2kS/p/Nc9EFS9SQu5CZd91tLXcymtujtRCSqfwo0ba\r\nfMxLxh/p0PgsmJUzvKKxRERIYqxQkGzI0OX73hK+BZK71rahGjbugVodNJvq\r\nOiI/7QnvJw6zCcDXXUqjdgkIi7vBAkiBtxPYFzu/BwvpZnO63QXx6qaykJdQ\r\nwpo3xcRbTIosZKp7gloT9anks9BtsIVbwlw=\r\n=CnZE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a658683d647364520f9de8a2d51f15913b5ffb78","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.f033fc8d1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.f033fc8d1.0_1664322998853_0.8816271472824384","host":"s3://npm-registry-packages"}},"15.0.0-canary.8d7ae912a.0":{"name":"@material/dom","version":"15.0.0-canary.8d7ae912a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.8d7ae912a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fc8ac2fc8837056e5394c9ad974a434107f23399","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.8d7ae912a.0.tgz","fileCount":28,"integrity":"sha512-SFix4KfCobVKCSus8RCmT8eUA5kQPrst5HI3xk3hAIeRAmUR+yyPRDiIUkrht50QOXbWfbLyCYVgs0z7roeBOA==","signatures":[{"sig":"MEUCIQDZIiV0R9rAqudfToQcSuUX6sMGWpIu7UCHiyLrd2TSzQIgXH0Qy+I3C5lLmlJ1b/gM2L199F7oYYk3kHXC429zAoE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjM/3rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqobw/+KgcxWoF1uf3b45p+AQcLy3uQkt4UqNK20Cxf7KbjdRr9XduQ\r\nlck4XvjJN8AhIUJldyFXkhc+9Lwz/c2HW36Qya9kUMdeZPJcGW9UurK3hHnn\r\nBtxUB1o0nGO78otJCrOYAb0/5TaMpLRdKN5U7Y3mIUmHVQQWs+60NJLRy7mm\r\nnBDMIvMfcTXjQi8LxZ1+IHJs6Vd6UmdrX4yQbwkyAXMc8nqcim+f1aH2dQhq\r\nSvTtJLMpwocy4hxz3hqRzEcFxtSgQ1nEnWuHvUWCZidQvy9JTEDqIHUcN1Lc\r\nVGSrqaWh5umkBGnOP5IKPaiLDzS5ru875EjncxkGKtO0znhuhM8BRQs89OdU\r\nGu73BNkPxe9uXGe1YqEawEVelaIPM/nu1w3ro6NeCJMWJnt9l37syGrnooue\r\nMKj1Q7rm5wSfVVvDhqDNyHTGbeYNCm998sesONJKlcLMgw/FxF91KTdN8E2T\r\neN16i7o2sIp4/IV/TCgGb1fqNjDjWvWLTr3txkk+kRiJb1+a917LQ9Lza+lO\r\nNi3Bh5z5D7qsWlb0AAocsQn1Sdvj/oVepXAE5auo//PF4XA/ZSNoGwzVtuWF\r\n3ZrwYXr9RDUYfHVlYkXNXN69k8LRXvUpHmRsh3UHVG/ZhCLK4XvUh3hWkbFk\r\nVmnC4G6EjY78k28Wt8cirvR2o4BOrChFRBU=\r\n=5ah4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"26b2ab57ab7cb3eeceab31102ed1b6cb133f4cc7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.8d7ae912a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.8d7ae912a.0_1664351723579_0.5967007361637229","host":"s3://npm-registry-packages"}},"15.0.0-canary.db414b864.0":{"name":"@material/dom","version":"15.0.0-canary.db414b864.0","license":"MIT","_id":"@material/dom@15.0.0-canary.db414b864.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3cfa6eb79a362818d555412c52df4fc07f46db76","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.db414b864.0.tgz","fileCount":28,"integrity":"sha512-A6akJA/Vg3wpzcs+vOPBYaLS2uEM+N4CczFTO3t6LzaLwmFW7LfX6icqjN/L2Deu63KO5HRkZOgPcS71IngHOA==","signatures":[{"sig":"MEUCIQCieoma8LtcQYiqS2S49ejfllCUnjqs6BtJGsxEmBj7NAIgP63TLuBzP1VKKaIQ6TWbm6Cz0/7s75bmPOcPMWMWOIc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNF+GACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrfCw/+OzL2G3CIt4TDUqxvo4/kxViV/wFgPUaGJ815Ey7znTcYQwWf\r\nu0UoEdMn3Y3fH6S9x5cd7dueXCFQO7C93n7cYBWZChpjB6WdevWVR9lUGNmZ\r\nD00ZrXLU2h3c7fEOnUqzDu4HrAyiDOOPm4USi/lzAQsNUWcyRJBftuIUevVf\r\n3YdObAH+BjxsclX+PB2IvWB0yyl+CIhjGS4+P0DSisFH83bsXuh8th5WKUzT\r\nFCuqHleeWYd7Qo3Q5WmBQ9FUqKcNFV/vMk7+IapavV6DAzNVYKLU5YU/Ou0+\r\nJF/X9C8VNGNRzTfkl4q54leptVnRpO3cggar+5uq7K6BM/QgMPdR3UjyBfMU\r\nkWtrOH43m00lhcnUFXd0v1i9fCum6Z+mpRqZcErXtTm3fO2NpqpuAqeySDDb\r\nwzw7NH0vDVjUwBJz915t4cuR6ugrfcH71ny+77mA5oaQF3O0bPO8cKuFGrsL\r\n6ehogdEMw6M/IlsG5Tux6ahhyqMjHKwyed7LK8p8oTD5Ht3DMTC6EgEsN+26\r\nIsj9IL8ZdQR9b47rjFp5YLGyi+R1OQ7UWF0QLRiy9+nj+lnZrDk1l7UTA/E6\r\nua0STpp6o9yGvmAIZIs+mOOt6nndxefcAIPNlky6EnGA0tuOlIvt7v0ZKLwT\r\nIPYEf0e3XCVNlHbsrHJ89MldOtabskxCA7M=\r\n=5MMX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7601f089a2e7599728805effc4e9bdee40008aa0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.db414b864.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.db414b864.0_1664376710143_0.8933282298238876","host":"s3://npm-registry-packages"}},"15.0.0-canary.c0462d134.0":{"name":"@material/dom","version":"15.0.0-canary.c0462d134.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c0462d134.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"67656366d00b7430e268c498ea09c3130f197909","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c0462d134.0.tgz","fileCount":28,"integrity":"sha512-GFulbKwC/nJu3z39e7Y8RZBrCkDxg/ht2PaQKQBGPW7kytIds7KIjkTqZpHYZgKIpv9hGCTAoOK86XJn+W+kfg==","signatures":[{"sig":"MEUCIFDcwRdBSqFloNT1OgK+dhjKpR9TgGd/5JzWF/wkV6nVAiEAzKT8SuiodoQlKZUfK+s2d4rcfCUPXrKZYSz7hRLi9U8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNImbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqEnhAAgLV3wiSNI0Bb7vk5zKWJdt33WOGnc+MgsPC3aGnntH1ywo3D\r\nQBMCmkyFYAsIVfxvKQtJjQ/+mcJFmfPtw9cuCzvR94HJrhtKgnOELdUaMCPt\r\nJ+DgvvX+qIpH+omvx9gI/1QnQkqGV3nFhSMXD9Jl07UfzL8GQ5R8ZuDdqTxI\r\n1jeZNmk2QLXkqeT/b+U/xToQMqoM8PPq4H4P3KvihdAHzKEtEldxOuNxoaO5\r\n6w/Kr0BVBaj4KaufueMeJg7mIhyPIYq0Lgr8rYrNYwyGY0ALF8A/VxPxt4bY\r\nMd+gAMxSnS62x9xuM/s6GymCsk5wfxnlHfEMoiOp7AOQwO0WsBQrFWA3JEJn\r\nfD5W0RhW4EiaERu7lMhGBAOQNFg+Wpl416SR2Sfq7tEOwJyhrihabH1V9qF8\r\ntbSLIj7K54NbLRb/m4eJ4ihbGVKttEkjKri8XLB9aUAgU+WP9I9hjsl5oKQw\r\nEQ5YDXitdrog40Ixaum0gkGoXXRWqtsNc5kHY0Gc0L5zR0B0zxQ/7HJPg5g9\r\njb8oIt4bvy5isTG5ZDBr7xT3x6i65iJovc1/DIfF8CoMKdzNAxTbiu7tYXEy\r\nK9H5Xohkf6PjuxM/m/VEhA9gGkFcDquKRpMU/Ol2XFquMob3zKw4A5FNnbVe\r\njjX5oXyPNmDTY7w3Oab+xUIgz2TeCjc+vaU=\r\n=7uMQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ac1e8bf31f6e69539e68b22f40f639cb7eaedca8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.c0462d134.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c0462d134.0_1664387483096_0.0006464706888933414","host":"s3://npm-registry-packages"}},"15.0.0-canary.28cc6791f.0":{"name":"@material/dom","version":"15.0.0-canary.28cc6791f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.28cc6791f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dfb2669ca324d7680a2a44cbfa0014d25b88b045","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.28cc6791f.0.tgz","fileCount":28,"integrity":"sha512-m9ta04cl085YUMURIXt84JJ4pi8tGr+4I/eYAROrPzXYR5vjS+56/fhNwz7gC6zRj42HD9KmFLVyPzVdwBrV3w==","signatures":[{"sig":"MEQCIFKoQTAN5fKIYF4SZfDnBP0LoYyJOyJ1kUmB50b46h2VAiAhLJccdbwhTQ/z0INCV4jxSIKvFLwYc+CALhz2DaUquA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNI0NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoBkg/8DyNbJu2TAjdHjUhqYHpQsP8FdM8Fr5JsOmlyPV0/kLYnKvcu\r\n/BgFE09v5KGhUvRtEt9+A1+d/boJiku0belY1CdaU/6XXu1X2t2hVU88B6hr\r\nOpXdCvYQOlM2mBUS2z2j08dY6DfupJWotjd8gP7sPZ+6u/fOJUdYu4bOhxzV\r\n5VwbiYjHWrCOiYtMTykTQJaIXnfOrq1OTRjuuVk1+YltiuMaDJHgavg36NWY\r\nk4AZzJngOzOmigG7f+FMsGuMKz9iH4MD7uBFgm03kgFd8oqCFStYYJo4elb1\r\nrJ/1L30nbHpkjNowAMW6udSZKJhHww3EypQ3fAXYDJUi6m6jEAq3s+Y0F9P0\r\nul+ofsW8aCTyTsWqHw/xmfKQhf67rTlM6xcy9RjrA9rPfq/ovaMQFM6zbnoY\r\nSsbjube6/NwfKklqgg/rj8oCksAICCeMngt1M952Hc8PzPpbSez9ZOJS0BlY\r\nUDxmInrbWurf7mV12qLCiaHQMKFY7NWc4SvBZAxlAmLJXfL9DZzcu2asU4lc\r\ntnUJ+BiCcE7WLv5kHddTFx8PUYf5eJQvC9a0ahCg3/jXGRwJjGK7DAVQ4obA\r\n8qDqVF4apwoZ5d4F87WDE6GQaWQUxlmIssgI53u/jiVcX4JJ+Iae8qiX2gxM\r\nDjFQiIhytDeb/cttZQOKBBhrEZed729F8iw=\r\n=5u30\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d2dfa219437727922f4cce877090f9afdd87edc3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.28cc6791f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.28cc6791f.0_1664388365473_0.09591628864733193","host":"s3://npm-registry-packages"}},"15.0.0-canary.a515a2d18.0":{"name":"@material/dom","version":"15.0.0-canary.a515a2d18.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a515a2d18.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"99260114497cec892d9b7908ff254bebf47d4b5f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a515a2d18.0.tgz","fileCount":28,"integrity":"sha512-53mebofFQvZJ8ufph03IgxwAsIrXGDTQ3DUbued/ZnlezmuUcta7Y4zn0ZjZ0PUv/i3nOdaHSOmUnSxtxzSMDA==","signatures":[{"sig":"MEUCIQDNmtYlUUy53cMHyxUh5ppvwv+AVT/IfUNyNGbaPYTSgQIgLQe4Rz5uHH3/r1YgqVRQPUpZXCjD4xvVimIVLjp9v5g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNJiAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSLBAAgYr/FmDyt3HlXFp+OQCzu7O0rKbt9I7R5Y0shveOLhGbioBN\r\naKTPOOws7iscjCj+7MO2Ura0vkl4LYjGXZHUnRn/bJAc5nsBC1PtoQBO8wl0\r\n8MaD0nptN3DRdL7DgH+zLn5YVazN9t2xX0ZXLPM6lkQXZzL543xgBnBOtGqC\r\n2MSTvPNnF47lvQnfjcOY0rrS8C+bj6chKhD781nTP58AaZCwXnVFjsLjkYAM\r\nNVzRzJRoPVoG9tW/L01O1+RakZa7LldKFtxKV/BDLUoeBlsVIhfJBZVQ0r4f\r\nOvyR6on8Ub4rA44IBSU5Gdw7qW8PI1H35qQP8NiHwXpuuDn6rzbZEaH/h1zf\r\nSUVD9FtNOZYupTIfIpvn/sKp7Cu+xOgol3omWzeJph7/oHSTtmcTVwydTIfF\r\nA28qMj3A8Bcozjr4nsCbjUin9GuECJhITiAgFVLgKI9zEvTW1LFdJ+pfQ75F\r\nO8JEHX4bROKZsSobYM1dysfFXAapC+Jjp+KgNfrr8Hl4QVeN02hLc0prYYUV\r\n5kbKvy/0ZwtHIcpESdCwWxkHVHNt3inwkZv48piH6JoseUIkypEjtC6ms2fG\r\nF2vcf4AnHeV1MoJFh+iwu3IkyCyGwpGaDRvA/eZHJfeLsfGHmNafhjGkmfCq\r\nslPGEicWYXHCUvPiKVYEPWh+8PSipi21fD8=\r\n=Fv0i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b634251c1f816bc66bc81c76758fd339ec40a76b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.a515a2d18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a515a2d18.0_1664391296447_0.5704597889611898","host":"s3://npm-registry-packages"}},"15.0.0-canary.ce9523167.0":{"name":"@material/dom","version":"15.0.0-canary.ce9523167.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ce9523167.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"df20226dc79de25193ca9a827423f84ed6839015","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ce9523167.0.tgz","fileCount":28,"integrity":"sha512-JXaxsitlVmXelxI9r/ZHvu50IFr3P5KPWyX4mF7I2ESdVeoBuo+XrkrcLYR0y4a5VIWGvb8VKFM2lkFW7297CQ==","signatures":[{"sig":"MEYCIQD369torP4s2IpGo2uQmsdnqkfatQUc9kyRvhjtGGOsXAIhAIEqH8WsD2+41eW6pGvj9rEwlcNi92grYuBcHl/pwXxU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNgBjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqj7RAAke7W/0eriQ5uEEDHv/z945iJ/RYIScnN1JB4hi/RXxMrJOnx\r\nc+CEiqPLlZ15l79sLd685HqJX6LJYurZq8EObbX8Wt1Xm+rWE1kDq+s7es8s\r\nesTXdCNJPjd90tQeh2teA9BKnKHaXlz+yoToE2WyBHRKT5VlU2osjqbjD1OD\r\n6+rsCNkB70NyYArlUdcbYtIIu38IUGZS+JBc0o/D8Sv8XFzuMKcpHy0wvetH\r\n++bkVIj9fiwrvXe0mp/CrhdApnIkPl7bVOt2Y26mlnRgDQxTqCf9+Lcc8Rcj\r\n5+8qGcQtQ/K3qQClZijzbkdPZwrlwBY18BM/sc9EO2NX93DzhbNbAmZWVxEX\r\nnPN3fQ2UT+DLfr5ui0H+ljlbbp39I/rYgmQfGKnbfrr6Ynd1eyBCjQFVZvxN\r\nrH7FML02bkqOKt+nbtaTId4UCaCMVlklyo0ECymtmc8RdoQM7bobiLoNd+tb\r\nuBpvBHkrxZWsXAZdyROspyVRy8MotOkVxMiGEvOYmgMfehzK0CrMueS7YM0G\r\n5gr5+Pm8VnKvy+7o1DDPYplK8BGKnA4ljUXE3bk8tqzMLz7+m3eg9VMYXiYc\r\nTmua/zdLazLm+8u80dwmFLA+ZHvYElASG6rSIQAbiAK+L+sG6eKZqvHuWr6X\r\noOKQrelZISgmQ9R9OUpuv/h7dWerxDdRIUE=\r\n=Ha94\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8aac5a80fa36dceacc7b3a6e2474218f9092a107","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.ce9523167.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ce9523167.0_1664483427606_0.5970046313428132","host":"s3://npm-registry-packages"}},"15.0.0-canary.b2310f7dc.0":{"name":"@material/dom","version":"15.0.0-canary.b2310f7dc.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b2310f7dc.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"53147cfdaa6197c03f37b24f15f77c75d906290d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b2310f7dc.0.tgz","fileCount":28,"integrity":"sha512-sklqPuNBdz1kZKl2oywmzvsNMWKlmriQl9flLvHpTPYnI0i2r4IsxFVTRLJ8u77zK03bFXELCd+qnjE1PocgZQ==","signatures":[{"sig":"MEQCIBaG9JmeaK547l8sTiL2oAsIJSapsqrP5EhEl1PHH1+1AiBvzDug4XjxsX9CmmG1W4jeiUpYX/1x7mcCDwdSERX5Fw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNjSTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYHQ//cVaEWfJW5B2d2M46TVvZvpUrxLKk0SkIQtMxVEv/Dx9W/IGR\r\ni7Sqqi15YJuIkmaOvSq6BuYG8+FiayHR16bSt9q4Yf9zJ+j4dAN5EJ70CPL3\r\nZ5CiSjjWdx86RQD/nAuZRWpYLDDl6w2GB8se4QJJn7ATy9lwfC5ga7i6CsWV\r\nm88ckKa9gf/9STDLM8dYkMIxqO9z9WxbpQ0uhE4E9+R7yfpjAkKC8VK4xgyg\r\nLzBjInlQgm5imJslSzxMiRmSDrISMkRwxoGJdZxGhvp0thgI1eWD48VGdTt2\r\nD5I2aRMRiL4R8gTcXa1lRnfFM5mHzTf9yaNbcozq3MWTJ4EYj3t+CzjBK0kK\r\nu8sifHfBcWNzehh6yrFAmtOuJEvoQJR+lJLaJblzoz6wLcqfSoHlOepUWxb8\r\nFmkDsOVmVLFre6/pEuMJ98I7AoNOfnfH3YFSLKQDV1KtuPpkCGdHFPmZJWlx\r\nx+dzFCCH7TcvUhaA15DLUOY6g+FFmfeV6EUUJ0uHlb9x9z+DjCaXJRXsCGA8\r\nDE8AvZTK58+poVYQMorP5yRLX+zmfsGl7s5EvzF6JagmDmXkpjZ1gvH4ADSo\r\nDdtj9wXNqoJILVErhfGF51JJQ4zS1J5ATl5N+7ECD5EBw5A8D6OnMYzLLP+0\r\nS5FQNFXFFCMne5MHbTUh9leTUHHDfW16/aE=\r\n=q3Lu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1b1f8d124dcef049ff4f3730b930eadfe1e2a58f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.b2310f7dc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b2310f7dc.0_1664496787695_0.6490272297279753","host":"s3://npm-registry-packages"}},"15.0.0-canary.a44241e54.0":{"name":"@material/dom","version":"15.0.0-canary.a44241e54.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a44241e54.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"aa769c148af56629f12e0757c26037e6f2163743","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a44241e54.0.tgz","fileCount":28,"integrity":"sha512-HgLtEOV2bDXOESeaYaESfYG3u0aT+mm4AaZyxEQYeEpGOg9lfjNvpOWwav00MKjIH2b07l/cTdjeduQtJG5n0A==","signatures":[{"sig":"MEQCIC+dQ+mhOyazkbly18twwoFlG7AEI2ujW5bsWBDflRCNAiBoqKfVNnaW7eCnEFV1gebTUMZRF25SUjrZCPuthITFhg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNqbIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKZRAAjhniLsTUmhD5no7slsn2Ka4lT22XMBo8Zz3aTRuwpFbv39Fb\r\nKsRiimr224Flfgaddtx92sHUwfhSydTQ4GXh2Kr1XK6jgarhnWJfmr/4You9\r\nxZCd7Hi9dhGwE+tdFVYjiNE5kPlHjFXQrKK7mWOJRVtTnZUsKNyPE0SP5+wS\r\n5IxyK/4eeSp0id73Hc7hEN/6dbGAZzMcMBBDNUWWP11jmq6Zyuj4W0FPgU87\r\n3PCi+yghRlBAGgkiANbCNOnhM/QjItje9wTDCw8eRLy2ot089lH1xjjGggAt\r\nH2t/033nGzKJXZMRb6COMCPFGhDeuPNiwlDDUUg9TsigIke+oPSpb7in9f1M\r\nsNF9j9onX39wcXq/lSjjHC++1d4Gpw/h+HHKG6PfP2WGB4NB8SYE9H6UwIPJ\r\nK6KyiSRCbXccOnjSs2HIfWq9pYiTSmxirxYgT3YO2VyDQMAr00BbGavjPqR9\r\nxHLh01NAoD9y231j23mG12uGcHuXI7ELFLdCqqDT1qOXnxmQZwPs9DHTl/z8\r\nkwaWCXm3rVqSSZRiA8+HliORuDPvhZxlZ1bRpKoKVcF9o5Zyj4CQOHnBayTR\r\nMDuhRS8k49QvYjEfg9bvztvr4WPjKi/TkOSOQuJeof5oHJp7t7xmtvZrP920\r\nbBdVYt2K4Lom4K0VvIFQkzCylL/GuOGbE3Q=\r\n=FSy8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2a5fa6460bb58b3b2866631eacb27411a12f8d21","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.a44241e54.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a44241e54.0_1664526023806_0.0712634926039748","host":"s3://npm-registry-packages"}},"15.0.0-canary.0ce81e115.0":{"name":"@material/dom","version":"15.0.0-canary.0ce81e115.0","license":"MIT","_id":"@material/dom@15.0.0-canary.0ce81e115.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2916e5fa095ccdc38b761154827f611764999dca","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.0ce81e115.0.tgz","fileCount":28,"integrity":"sha512-nuDTHCBmoxPKsL/wROc+nz6fCFz920LNZIfmdzJUme413oDWCAoH5GM2kA9nPKE9VtfFpnYeF5RRprqbw8k6/A==","signatures":[{"sig":"MEYCIQDgLkyEE8QVUVECXwvz3K3xB5LsATonEMMbqlwmP9PmKwIhAOim0OG+Y9MWWjByeB3CIqOgRTrWCCtge1eMXbZSDMz5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNzK5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2thAAkyVi1OqkuuZTxkxonpzaR5d065ClN4U85jX7b6Cy/FA1rx68\r\nJu9x+Zkk2868X9ug3WSXqE9TefwFBHfQangRiyoloX9L/KZQfXqMujLfHVKu\r\nU5xkwvRPle/z4tsqREVe8w81A5rKE22fHKDSt3MaZ6zrzDjarh1oMDsMgVI6\r\nNL0wkNMffL4FhoWILQHGs/8H/cRnd0PyhxTh+lNY9vlFWUgchxsmeog8SG98\r\nzxtyC1mTbGNJTtkZmo9FrSDXfutUoomKfytfaqKGl2Uw3EIqQ/REXXcm6MT0\r\nI4lNng0/5fGzFiVyYZ/1bHE/JvyADlbHmdtuf3hluQ91txLcz7KAXA9xeJkB\r\n4UwJfSIaObyxhoQnP7z4mbL8HBmNQTfIBQMu5FQUOlIKQvi5ASqpH99rXBjN\r\nhaLPT6Hrq2Uw1QvvldQ+nuRfcC4ks0hhIfzETPFKE1YV8gshuysiGeiS1ujV\r\ny1DVr7TmAlfYjzLlFQehOWUWjl6tyESHYMTuCzWxm02NrEPNukgBC1/GHXqJ\r\nANe5m11PCrmhrYZGzA9YxSZwuJd4S8FcFHMYF6cguvEF7Tvguo7FyzDwu8DV\r\njKyfb+LCrGOEwYXKAqS9YenxLWczAGIV/rtnrMF0n4/9a/vv3WrSC55m21Ge\r\nICIPNPxkKQMHaxVdKewQVvIbZzJQffBSnc8=\r\n=Fvwe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d690b44f4e157e829199ea749861c3b827d46dff","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.0ce81e115.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.0ce81e115.0_1664561849522_0.8676813232451568","host":"s3://npm-registry-packages"}},"15.0.0-canary.3cc30f6ad.0":{"name":"@material/dom","version":"15.0.0-canary.3cc30f6ad.0","license":"MIT","_id":"@material/dom@15.0.0-canary.3cc30f6ad.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"49d16c14669b3a0004043ef2b42fa7ddf330e61f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.3cc30f6ad.0.tgz","fileCount":28,"integrity":"sha512-+STZdL3R3cSnqj+jOwu/JfLdX96D2AEj5f2USAbG0UisiET036Mk4KBunjyYUIvm0iCiAIhF/EjGHjAS6/WRjA==","signatures":[{"sig":"MEUCIQCOypbbHrOgQ9wxMLTtN9KNrzGpCa1ahn7u2EgSdGttswIgVQDZCSH2p3RtRhpcXvq0U1KhTXgkh+9uGXNfkTRmkDY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPGrhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrEDw//S0LDeXGIpRocgUlcya7syzx8Nc5ZGWts/yDTzN8o2r0zVYti\r\nqI6CARXkpMV2rX57yX1GEt6gxAUmbVOGPtjeIobyW32l6zoBo3f7LWyo6qFv\r\nyWEBt5qg5tQDtfe+PB4um4iVHHBuwG0KQM24dKCaXKb0Qr1v/jVkyalkxfMB\r\nmk9qRdAE81c8bOQKr36WKL3+p1ix8/6cc0+e272wRX6/qE+c5fC9MIKwyo7o\r\nf/AdHUvPhKfGqfnAuP6YMqx4YQNgc9w8FeIbwX1N6RdydueOfhXGQg3cJigd\r\nYAfjuRMk7ccpNtDLbRpQS9xKL5IIuYmM9BGHmVcCYJcNcrlDH/pEbMlvILd3\r\n7O8PSc6wbcyIGEId7F2h5u1jyE/pYQxWim/zjrY/fDvP3abdkrAOxx4LX+WV\r\n+rizCHsGK7iriqaYOXt02wnUL0k6y34FtoQefqD8GK81KclofmITZqD6wG7r\r\nEPPbHHfKlpRX2b7ADOxDIyiCOSOKHsQ85RugF6klNOHSESbvH3AhOAknXLDE\r\nOj5Frk6qBaPPdKFIt/B/Y+7y2OKU3n9fD9xaGql5jWNx2m8TaOMtR+DjIfoZ\r\noSLh4bPtjHICQ9SiF7gvUAp5gBO2zfccwQJPn/sS5VH0+PEWeHW5FQnDH38n\r\nXfRQ1Vd2/yNTHqfZy/Lyl4Chi0D4MBQsM38=\r\n=NWI1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"78d02265193749df2eae507da620e7571c09da12","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.0+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.3cc30f6ad.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.3cc30f6ad.0_1664903905559_0.11582659748034185","host":"s3://npm-registry-packages"}},"15.0.0-canary.d9cf98e60.0":{"name":"@material/dom","version":"15.0.0-canary.d9cf98e60.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d9cf98e60.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b5bb549f7ee343e0e863dfd7ff5c886cc7755f51","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d9cf98e60.0.tgz","fileCount":28,"integrity":"sha512-pvkwyLrK4IYCHrbzsdnT0wVz1PIjueaz6AyVW2np8om+XYYRvw24NAprIdSTkLBYKa3HtVg1K5ue2e3hIMOPYg==","signatures":[{"sig":"MEUCIBnSKXYGRgHeAhkex6LMz3Mv51/RNEh4S/ofryWEbu9hAiEA/bEVzB0rxnSSS5SjiygKKqbmKq2aN1LkEKm/ssgLi7Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPINkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGlg/+MgMrkZxAuglp4sVrs3FgsKFsjMNJCOqAIy3ytqRZBitNZnLz\r\nDG4AUCRldJBg1/DaxPnOCK8ods4JYcDTOdL/xOEGdZuZXY8/dH3hkkr9JqtQ\r\nowglS3Y/Z+jKxO08i/zZA2xk1SE1jsUWACuKt60CHqs6nk89xX/k6hdzurbs\r\nxY9ISdcp3irIvfc43DFcQG+2MmyTHGfjhEPLNknMsZQBF0ddATPzbpMXsJsr\r\nCYclZeJCkxRBYUBfbXPXDYR5+n4Im9kBJLbNzFcMnWQTVXyDepprJwhGi5Ye\r\n7efgeGYFzKUuAhrHEbglnUHqH+ctafBm5qs6rYonjM/7+ZmPMEiRjfJ/ZakJ\r\nFUZWSwky/3WYgxYEk6WHt7jvyUrRQuh8sPHt57/PToorN/CvIHpxu5AQd6Gc\r\nHFBHkiAkhU29loIdP2wxmlg1ePwjgm/jZVjj7xKGDqPagMAJTd/07frZzxmY\r\n2wSF9cVWSk/GKa6ZcmC427iqD/2tQn2dSnwEFhlZSVbAMtU2YMSN2B4vTY6/\r\nLJnWduLDUqMGwDk5S9biOsSz73H+KmrUxDAtHEo1egpzyJHwC+VJL5y59+yD\r\n1kh+Y3IIL/1QaKc/uaaA7dPfwvEV2AUClGZ9QY/a4411oUoAjKFxLp5zPGpR\r\nxyfA3heYIgZ2LiS/5M/JLYiRQc3FYbphjxg=\r\n=9pgn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"554e3182e6804b0bbc262ea0e730d556747b7382","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.d9cf98e60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d9cf98e60.0_1664910180233_0.8157231036443893","host":"s3://npm-registry-packages"}},"15.0.0-canary.d71935c8b.0":{"name":"@material/dom","version":"15.0.0-canary.d71935c8b.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d71935c8b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c1a008021614ff587493ef78c55e99cf6bfe6e70","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d71935c8b.0.tgz","fileCount":28,"integrity":"sha512-wVVI6ghShlr7wE3VSaBpYtNeAkDhnndLHyDf9N5Y7bmr3py8OZ2IEfR2J+uZDXrhJ0au2S+SjInsNw2yDtzvuw==","signatures":[{"sig":"MEYCIQDp+jRJTMgvbRVL9+RCmsJg1QGZhy/8fzMkxP0iTCSMZwIhAM8K1q1v+aniAIMwWXd4Vb+3jbwpGxFWrezmYBZ4hL71","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPo5PACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr1Cg//fH56x3/WFXQ5VCRrkiryibPoITu1pVdBw2fUtt2psWbP4MRO\r\nQYvE/iDnuY6bT8SkM0ajtsuYmKOWwjCvUG+l325Mrd+UJ5tWeSQGEj/7zZQG\r\nG7p/pgep0MHGvVJgnDRYxiu3y3ccHS3ZEV4rjigCNFpMotRvkYMoshNCkI3w\r\nQhNNPMGyLdAjQflOsIu+AZEssN6MLtO3PF51m77XhbmcMEeHkU7j9shQ6SVC\r\nHZxYwkgqW7H6TuKXYO4gF5qumEfrxejnkn5/kAZqjKUyLZ8nuNIlqLgUZaQc\r\nBCSfyr20yhX9/dIIQvLdvmdzquQgQvapjBkr0aiwA0jCwNFO6rZfHrf2EHTo\r\nV579weppTH3KhaJOyhQYBEWmUWDEDFzuzog37jijVfRqOM4T6ImY+epOS0VF\r\n/20tubZM+9wgYvzpOSiYAylU3YPrwLmdxYy7r/JGYMFdgSR+HYm9n2jRCULd\r\nG6eCVQOFre2gzs2MzaWQ1lne/sZvQ72BIsUlTi+8z+6/ad81qwSEqmosHjLZ\r\nM9WKIaxVbmyYavibhA91acZpQqvzzrlqA0T/3bD/ofjpLN3MpKbVnxbGifqn\r\ni/AggatCbM2qTyKi9XDH+i0zbAtivrpRsWXIyP8J7tfKVjHW3hbHliuoV3pj\r\nM2aQ5xoEIikGy1UtynKQklIevBc0r5sMG0s=\r\n=uYrA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0e9f697d8ab3c0b93969f61d22a2b06760934fa3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.d71935c8b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d71935c8b.0_1665044047241_0.02232404420158418","host":"s3://npm-registry-packages"}},"15.0.0-canary.49c56a25d.0":{"name":"@material/dom","version":"15.0.0-canary.49c56a25d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.49c56a25d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5f0229505a2f9316aa9cead783f5088e6aa4844b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.49c56a25d.0.tgz","fileCount":28,"integrity":"sha512-8QNUGLFIPdQZzPCZ7NfWCXG3HVVQ5l0lRSN30jhskfO5Ky2CTThMkt/kmg1eXwamMgLGo0rQd+XtfOoWltHK5A==","signatures":[{"sig":"MEQCIBhF2ckev60hrAD0aeDTBfsP2H2ybdW3WOnKey/QlMS6AiAgSm1+g413hdrLcImS/eZ/8zlA/WnjYXdux4fJw9o0Lg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPyNgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYlA//U1Rri58/+jXR9npgOOpp8plrtgyxRKAA+I+nf/2KKJluo/Iv\r\nA+JBmMkyW4kDVU4UqboAISZMj1wurBHNj58Kf9nKqTfLudy4Q6F0DDzyhtip\r\np3eeBZQSOu1KYmoCkzlSY292QxdmcdMAfOoSbeml9ZoD+yLtuJ7ZrLzkf01I\r\ng/mPKhU6iFqqofTHjqUAvz2dI0OoIgucNtFXi+zVOgWOI2zW+i6Qh/SsZQWS\r\napnEa31O2LCO88i+ZfNfbr12LDlYnw5KjVg9TMAzkYzhQ7JGIm0MWjR7TQ0t\r\nhh/fubzBDOVg1lNdZbwAH78stFQEOKbRvsRcXH2hFhowTbcksgu7+pOOFSZl\r\nLVdrIK2OwomV0GL4BJ5BxAZa77RPPy83DjHy84efcWFf8M0VqkRjk6ODXlGP\r\nJLwUDebUFF5EKGeVrGOf/Y7Bo14CF3IEY1expsyG37uayhXN1585x4g7c66U\r\n+tJrhLJOCx6/pC53P2d4C3JkIUdbkF1NDNFynE/vOr+e47YkAtgKNDF1mtJ0\r\nDBWeNPnkhV/Yn6EVxZlcMhY1m7/qv5i4fofkyK4EO9gzvIF836wNitgwOTjK\r\nXr3Kpz24VQ+fFBibGCqIn6Z6Zp6miz8jS2SrUQFh3dWk+0TnHVWZ+zMZVqnl\r\ntlGYySpA0ttcSC2aqm9BrOJZ9ga/jkp0A8Y=\r\n=XxcX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"46425b4f1ee71ec9e841d7ffacdce7cdc35e7b69","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.49c56a25d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.49c56a25d.0_1665082208781_0.8172794571618476","host":"s3://npm-registry-packages"}},"15.0.0-canary.07acddef3.0":{"name":"@material/dom","version":"15.0.0-canary.07acddef3.0","license":"MIT","_id":"@material/dom@15.0.0-canary.07acddef3.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ce14fa2d052f4e5e3450f2adf428832e7f00ec0c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.07acddef3.0.tgz","fileCount":28,"integrity":"sha512-erDFUuxJ9LpjC/z23/ekDDR+yf2f3LmWYAEuZsJicsPLRVmZ4cOGE+l6KOPVmKxr8T8y9Reml+tPSA79wHJMww==","signatures":[{"sig":"MEYCIQClBeVZIkMRw0QMS5KsSYFCfQMprEV6X/YxmjhzOWn5dQIhAPCC4tL6ByC1hs1wNs4jDYw4DTnswywpiaFHKOjrp55y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQJwGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpCUQ/9HWerSbUGZ9H4PrffThQ1u0luerZ7zhiEy5JTDs50ZQIJI2Ub\r\nZDTQx0tcMz39QTSidQQwevMlUgh4mIzG0HQuZ/Ndj1g5iDetjiKcFaQ9RrjP\r\nJHEJ4hOotcnb0m8C1xqjUkwTaa21qM2GQHkZBQWV2Oqe0WcoXiVVuzkfhUIx\r\nZMD2D3y/LyWiC8D35W4HgS1GliaSswSZ06NS6/08CJUEajC/6D7ZoQ6OxhQw\r\nIPqUAtm275oiVTzKgjsZxqU56q7UA7MAu/moSmJajAFzlQ+UTE8u01Qcv4Rx\r\nhnPrnSGHeiWxhkK9INJnvL5M3//52qk0ngwAlfgBHmUIx+dX5APu8ARVdvfo\r\njYbYjU2OhpXyIqeJk0RcCqXumLnOn5kdXUBGy55aI4NE31PUyPrRkMlMKcTe\r\n3uWX+4diEKyk2TiKO3WwZKTuNwClK2k8WM15YNPFHVIeHI9A9Oa/NRn6cmvY\r\noskhvc7p2BQx9fH3IirB2euprS3JdhNrOicEKg1yu5zAKlDo2t4qBWf0dFS6\r\nCGyxxBrDwhPayU1bAB6xC8S+74Old6GExwm4ZTI8Dr0lTvwnLpH57x38Abl1\r\ntOtnfMVujxbe0FH03KeBmqrbpsUYJ1LBHRcu/q6Ee8eT0UDElNeC8N+03riY\r\n3N7ZReDsDoSTavmqS+rIaW1oS0Man55sXjY=\r\n=c5Fj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f61a6c26b4bd60354b690448809f9dfb7ea11564","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.07acddef3.0","@material/feature-targeting":"15.0.0-canary.07acddef3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.07acddef3.0_1665178630233_0.6479658211980932","host":"s3://npm-registry-packages"}},"15.0.0-canary.1c74eb2c0.0":{"name":"@material/dom","version":"15.0.0-canary.1c74eb2c0.0","license":"MIT","_id":"@material/dom@15.0.0-canary.1c74eb2c0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fd2e5a26421371ec452233343ca0fa388dc33662","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.1c74eb2c0.0.tgz","fileCount":28,"integrity":"sha512-swsI5K3k0VyPRNd06O16PvxXVVW7NcBKBmETqrmrCFrpf54meQMDKCWhrjdZ9KTZ9YL3LVW2qP1oyovAqSNv9g==","signatures":[{"sig":"MEUCIEdAuLJhBqmiCYADEfpW3BsUG9W4eqVraljMT1jkLSgAAiEA4hK9nLiti27FUZDSPGlePL3S3G1AqJ+07kjcd5Rjm+4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113525,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQKAJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq94hAAi5tmtwinZAE1TRqBZccHGmTRscsCkbELWH6+2HcwTdQI5CZR\r\ntQLHkOKWD+fJd9Gq8358KXMBQserDzTS/2WrS5EO5aoXjuurg/mibHbOT2Hn\r\n2YbwD2ggeHF4pwZ0OJRQS1BIx8mphQmtZdBDQ9XYtMKtKKLjnW1tLfkpvItH\r\naafSUpa4q4Ehgqt2w3ixvDk2+T8yy4yCFHjiM+VCyDmzJI+4yFr7IJCsdG0a\r\ncIlq5f/C2JWPDqpJHcp1UVlHG7uYZJZWvpD9hoCeZQpHRFIiA/yG8Z1fW8Jl\r\nhAsT/JUAj+E+fOL27zI9F6juMcFlFoCIA40FQ8F7M0aw5mFurQitDwrYxYIz\r\nAcZIJadboABRgd4s35GBsfM4bqzIVRM/obOyNAbBYZqebHuelUSaJiWEYxT1\r\nBZspl+K6sABO2YIhJrEupF1xbwl2bDuVtBsi7nTV72eqMZyosgESuTh7E4V9\r\nR0dQhIOOe74HK3hGfU1kZFOOanxuqM9B7oomueaLj3uaEK95EOwCOW15LZn6\r\nK4ip3jrwqnI0s4GTupfwoJg5OInl4n7etQVCgeaKRa/GNHsK8k4J+FAWW1ne\r\nJovxtjYpryo5S2YFOU20O/npaqGIqb16KEEH1wd45LC3B0H1VKCa6hgvgQb7\r\ny6pGVKGLP3wVALFYf3rBPWMXIw/asqedyiw=\r\n=mTiW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fa2e48f4e71714ca4a637a500ddf18f562031ba2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/feature-targeting":"15.0.0-canary.1c74eb2c0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.1c74eb2c0.0_1665179656379_0.5810752297806532","host":"s3://npm-registry-packages"}},"15.0.0-canary.dadfb713e.0":{"name":"@material/dom","version":"15.0.0-canary.dadfb713e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.dadfb713e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c847a7e80182633155825837d8155053605cc1c3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.dadfb713e.0.tgz","fileCount":28,"integrity":"sha512-JkRUuEiqXYyDfyFptbh6xHctd7LM0DiAadsbzGa8H56VmrIL+jyQq/hGTVFJ7H6o6bqeCLt0x3/A+r21/12j0w==","signatures":[{"sig":"MEUCIBJ6HfmzWRo9BadjU0ghw+/dfRV9UeD7PE8mDCGaTgjTAiEAs+J/GARX+l4DD0BSHO6bVwZ+k1W68DrENSrnxtZpfX4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQQUVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoSShAAo0D+NAYHdh63AmZAWJ+LLarECOWKpuPX2CrF3OsfXGybjAVc\r\n/nA15j6VsLFdaQelJTzBkUiNxeUb+l3I1u2hKEvn79cYJBGmnJ3uUZ5MBQfT\r\n/yBqrpRf/K+x+3YkR3rcDHRF9cStlOq88Epr95cpHijk/mLmvGY25H5EBIG5\r\nmiFTsJPU/2SMEO6qKd8PGmAapBw2+yGiZBoE9lpvuYqNEO+5MAPyPFSvLFP4\r\neciz4EHXw7jj/yM9HgxMfQ5S2bS/lg8WFGJn+a1NmpVMagoHlmrEa51uThvS\r\njTJ/yWud3LHVe8DPgXc7wFzUu+mC8qRTeVIKoPg/JGKsUetFI2EnrPP86z+7\r\nwPaMhBWqokSFIqhHkF5t0j9cQcwgGSa8/vQtLL+ljAxLGulM/5+XzK5FA79Y\r\nedRuLu+hyoXDBEeaUYKDVWyDFe022J0dOdLLbKO0n5/I1Q+KL8TrhASrKJqV\r\nEpoGhA+mY+R081ItXBuGOuwApSpUvQYQowUX6BRMNjFPBP4sPyryZJ4jmugY\r\nvDJODcZ6COrMhDzuc4ZjLC116EWoXf+i4dwEdj3pNr+1Xa5A3FOdkQtbIL8K\r\nPetCBNI7SmxELSia/orl1RzOgO3khGMR+70fcqEDG1arrAQQHDInsWwc55y7\r\nxGGJ/vxXTR8kUIS97ePHIP3m6NpuolLEVwk=\r\n=c7Ji\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dc577772f45028a4c4dca1d7c8ca8dfcf636e763","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.dadfb713e.0","@material/feature-targeting":"15.0.0-canary.dadfb713e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.dadfb713e.0_1665205525656_0.08543477555763035","host":"s3://npm-registry-packages"}},"15.0.0-canary.395f1ce61.0":{"name":"@material/dom","version":"15.0.0-canary.395f1ce61.0","license":"MIT","_id":"@material/dom@15.0.0-canary.395f1ce61.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"563c8c8ce7a78404e41decf09e868953dc2a2932","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.395f1ce61.0.tgz","fileCount":28,"integrity":"sha512-8h265goq9MsE5KZCfIP1OOP8ws32MVNy7KmNymRjUoGNIvcwJYsMqFZzhxhtcUzh/JqdGXKgly1olkLfS+huqg==","signatures":[{"sig":"MEYCIQCcYqIx3sz1iv6m02b/9j7hXpZuqc78DlJHO/kiwZB+uQIhAODBLvgSUkGfjhw+GMS++CJO8F+QL/j3Oz4ftn9yAPeZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQQWOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo9ohAAmuz5+0zWFWTlL8SBurhFnPYK085cCfHGp2anpHkbS5/7moJ0\r\nKfL/HQbRREdQqduLeUAIMwiYroHufvL3+73/3cU0ZPnktPy68k6Ht8+a+H6/\r\nRmPqmwalEQ0lyJ6OySrLs+xksxGkE9G1oZIMjP5PJLtJ0Oif6qnLP+7ZKTYR\r\nUSfdBSj/aRv10qaF6FUAFKcUARFvRZ89B1unUhvUvkvK1zPl9u8wOjGy59kI\r\nZtH25ShfrHkkRNwTPklKvPh/EQ86G3vtmgRqHWSje8XWDhUBfoZy54RP3v6J\r\naSYCZYk1+z888p+Uzal59esiNllY3Xd1Sv4nE08d6sOkojIr7A+bsUQ3as1d\r\n3OSm2cmSxJ8d+MK22oOGqoChMRaWRBKDXZ0m2qOtUy20ldqZEsX0pv8cTVXq\r\n12OtOaPuh1feqoFYkDcOBZ5CnnvkY5XSDMf/M3SmPekj8W6lHdWdvt16hwMm\r\nx3vrs5l99XNdPH59/ythwmRFS1J2/rGEsl4QihuE6eJRjXmLTFNfNqbYYQYo\r\ni30RTZuhmG68xHDXVQG+9weaLpkt8SZdHcghrVx3bp+8cDtkBDC5ASERjq+x\r\noYGxFwHylW/r3LmAVleZSA3BdLJObeUfCYNOIzel+UrmEBfuo/6NLWKWJmcp\r\nnTQyRML/m1rOvhvEScAVrsl2gmz/zqUM6Eg=\r\n=/eXy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"15a2d954f8c5260da0e9b6f65b6f49df69764a95","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.395f1ce61.0","@material/feature-targeting":"15.0.0-canary.395f1ce61.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.395f1ce61.0_1665205646564_0.9364063155695503","host":"s3://npm-registry-packages"}},"15.0.0-canary.e741b5c82.0":{"name":"@material/dom","version":"15.0.0-canary.e741b5c82.0","license":"MIT","_id":"@material/dom@15.0.0-canary.e741b5c82.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"126649df944a36842fab4e2ffcdd2aaa38907060","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.e741b5c82.0.tgz","fileCount":28,"integrity":"sha512-chblD3VEzEMnM7eRvwzsaHd6RHIGNkWNBWy4ip4po/srV7zdakfnvGoTTroHqgJLw0LThQCWT+No8tn2VeYN8w==","signatures":[{"sig":"MEUCIQCfFVbef5b0po/qCzrOg9C5cIyLnRdGxff2ro93eqTbCwIgYwMu97jthWvYe45rdlGz4Nt54cjHSM1j1X1aM5bkmAQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRFhiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpN3g/7BHdYkgX9CpePPbR6y9NCP6ukBXMSrVcMNK6ANdGddGbvYoPr\r\nAeznX1fu4MOA4jz7tpv09l1cot00IPoBKggrhIBwqLgXzCRRxpfAA+hitTeX\r\nh2gMvEhQgLx683vSTwyKllED4JR6gmuRHb1cyQ8LXh/cgyu3wnE2LSZQwB0E\r\n8jlW5AaVSuWY7667g3s554WVqHLNMo/Af+lxHjxxv4SIfCBFijJo+Ko149Ad\r\nFZ86SaAc3rEX7ZdyD0xZklU8pjrcufcb4L3MQF3i0Il/OvaX5FJUUf3ZqgaL\r\nTPcrBsYYJn+L8tQCWvm8Bo3e9rzmfFHhGb9iTnFCB20l6hj+UniZOQay2F7J\r\nF3ztT65EhwqEwibBQRUxJEFmO2rdmA3aGkypUExOxPHvZqVvNobinN1ttNzd\r\n2ZbSX+f2EIj7v6rrH+XnHR/AERBYYeXsvxJWz0r26LmCeSBPq1MFfnReyAte\r\nbOVVZtv1b6jCns9ITpB7ulXMezyAIUaUFe/x9zSVQgW/D34RiYH64N4+JkQ+\r\nxmvik/rGffiupGniRl4nDBiMZdh9AfpMSQFMjS0YHcPcERbRX3eOA5NMd6o+\r\nWZU4y8bHoLpKChDEHYtoLDq2MYcMjbH5EHi0LMppksHATkNdMG66eSPgKC4I\r\n63C2K+1xLmr2d0SMMp1v/xGDtMPm7THr/x4=\r\n=7jP2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"489583dc41bf06c909feb0a87f9679b40fe6c03a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.e741b5c82.0","@material/feature-targeting":"15.0.0-canary.e741b5c82.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.e741b5c82.0_1665423458466_0.9393506235718929","host":"s3://npm-registry-packages"}},"15.0.0-canary.582f3cc1c.0":{"name":"@material/dom","version":"15.0.0-canary.582f3cc1c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.582f3cc1c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"983670f9c3a8a882e3f9c7f51b0bb66cd37d6414","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.582f3cc1c.0.tgz","fileCount":28,"integrity":"sha512-XTCLDpragSTX0L5RIDfKcgJZgbR7OCh+x9NldS3JofyX5+WEkOp7GbTuDsOqo6RGMVLaaK2QvoxwfP7DIU4qYw==","signatures":[{"sig":"MEUCIQCCXxKEnE1CsgU11WaysmEW5QuppX1MTL0w4sIE+KudIQIgG1pX7tf3E7KQaThQTjKPfRcov8PmBjAIJvIryoTON0A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRPWiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp4kA//f3nKsPl33C6/MEOxZTSPDaWUjSwyRXbam8YUGi3N8tyYMI8i\r\n3jL0DQ6Ch8n6lq1E0yBZs4fecqmAeVEdaU/whEMjc3a9Wc+gO84t33XAMQBH\r\nss/QrIzVIzIerLjSbeRnphANadWmWuJM0UL6Ek/LlJ9vunlBr12+ed1WirBN\r\nchBPUqXk2zUbiBmbopIGRs/GkBQuOJF/Vwim+Tnc6V6EEslATt8c0GIvkjaM\r\nP+ACgaWoa8SVKc2KwmfLATxdH/V6xCPWtRS43/6gjql3SD4r7m1S+ldTtUUh\r\nIKFunwc5PKVfgU1uE1toT7VHw5e8l2ycf1EG9OR/rN2xwdUuwhLIFk+ubXoC\r\n1mrNZc+Qp17bjOSosd8HXsom7QAzxiOoxz/0hhkcoHGl37NVJSHXole+2PaN\r\nLOg6XPPqZQYjQbAY0LDFuxDOth9nLAiDzRQ2pbBbHIIG1MPATFcbNOHspxXz\r\n8isDJepcXUBSs/+ttrhu9/mtMR4PPQLVYhFytXXKtgVD0Rtf49MtgwCYRNkl\r\nyfnJNhDRie6KNUWgAMsMmeQda/LAC9xdhMwuBX1lkZ1c2vbZFW0pR2j23R5q\r\nsPbnYFPjQUP8UWWqbvU03HGYkupGEMGTlYNi/IbjhqS8kaLesn66LuK1dkEs\r\nzXQ9Ohmz6eKPTTaf8r28uatzhmF9vO5tTHY=\r\n=sjka\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9910dd1f5b3fa962bd02fe552774781896efa7ee","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.582f3cc1c.0","@material/feature-targeting":"15.0.0-canary.582f3cc1c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.582f3cc1c.0_1665463713887_0.3480103731380908","host":"s3://npm-registry-packages"}},"15.0.0-canary.b1a6e3e88.0":{"name":"@material/dom","version":"15.0.0-canary.b1a6e3e88.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b1a6e3e88.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"80e139d16d431be9253552115556274793ce0268","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b1a6e3e88.0.tgz","fileCount":28,"integrity":"sha512-LFcPfQTAdOvbWDWvBBGQBQffVaLgIPbHKd6b4PrOCC8aa8np2WmhOkfz5kDuUNeZMjWQRBmvFYsKSIm4DfJBNw==","signatures":[{"sig":"MEUCIFfVO2fia6DfmyLIsG8YDwuUHfsJutumkHIltRjUgr2FAiEAnt5JiVJKpH2JHNRF/LdhJhU60p29HkbkHKxpqpODhJw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRqyzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp0Ig//bQwuHazB3UOEhurDDTs2dLLYkm6nCmBJnE4tw3IvlXiU2kIH\r\nOrKgQ+n3KYxGngpr0JVQy7J8ucs7a/ufmferGHOdukOAe5FShO1ptVZwQ3BA\r\nKzRsC7vWOf4zsakN6kQirWUERryUoto2EOE0hbslw1pzFSlAuu1+ymptjoFQ\r\nBGNkPHwiI8v62IkzbNZCXlgSZVWpxIy9o93YA8Gl1gumHQk5JNyTB8tDWOFj\r\nklkfCEDmd8kTdthEdh6GCJt8pHbR4VXXXe8kM8kiIyo2/mwYt0e0nrY1Kw1d\r\nit3Asu37kuWYK8kCoBW6VI92PfP/3MUS0RqKoPmlaWuRuOPCgVQdWgWZja75\r\ng1aXjSs5CETLwWPBcZnFccKHBTSdFlHRFPnZCAK7SXHn4RoY5JiYpZSeDpP4\r\n4JhwrZkqVES3DI+JARl7tw5uTiK+rKAWGtgiOUrJljHoM6Ti89FAPCTTeggS\r\ndJE3w2UNxoxFLYj7qgi6wgOcGONLRRHoNCc4iCdmsg4Q/d4scy6sIo1waE+J\r\nN2jCWiFe80Ldzdtnu6G+lRqUOm/k0Prbm3BBj+874nF4gWvCVt+QJxon6Mw4\r\nViZCGXrbRRH2Ciz+fcjky72Ui0nnBlN7rbJ0aCSUUt97hwc8nAIUNO2Ix5rj\r\n0VLRR01tEnsgH+yyzXrYjVKvXqj0+VFo9Fs=\r\n=ecch\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fd6420b1b81c64578026927a4acf4ea73b7358e6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b1a6e3e88.0","@material/feature-targeting":"15.0.0-canary.b1a6e3e88.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b1a6e3e88.0_1665576114970_0.19525385400030304","host":"s3://npm-registry-packages"}},"15.0.0-canary.c9b1a31e4.0":{"name":"@material/dom","version":"15.0.0-canary.c9b1a31e4.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c9b1a31e4.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7b2219d275dbd7486908c2baddae7cea63d2fb7f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c9b1a31e4.0.tgz","fileCount":28,"integrity":"sha512-aA5enFA81eh4LT80E82zb4Jhkf7+FdjCC0KNPSfJRLufm3Xmx2Eprq5urnDLzYx0c8zxxBYOScZlfKQ55KL7Yg==","signatures":[{"sig":"MEUCIQCScSE7SQGzYMxaGPimVnTiS2K77CMNKxtUd30uuPxpRgIgGAnfTc9Nwyea6WHo6jNKehdNUnY4XQjFv0c9ymGukjQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRvIYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/2BAAn+yTMdCrTeQNBqYVtPs9+DujdlZmjKJpvwjzebjXpi5h03np\r\nQU7YMiKKHFCyMf/oZCB/Zw3bOjxjiPjZbsWYiAzBEvFxhKZjv0ZSp1IWGR7Q\r\nhw+1q9z+JX8djW/C+4qk/oRHeR8/eB/VRQui6dmrDxpAKQus9yVGbe84eD04\r\nQHQBj2J/feeaXaElXdey8b5ri11qXj7AFyMeqd/gPl8AGQYYp2l9F7ygBcVu\r\ngpvtEbfC5xdQBtLfdu/uSjtD4oUfvRAoPsPovtq/ZNhAqCowSWVlF/ZGbLor\r\nT5wQ8xhxrTi+fwUXwEtHJW85FvDAddiWt1fWOdKoUbHImy6aXfVxwYY9Qp/G\r\nKcc1VMAKanHbB5/3/FIQHLnblfoIbpPseOYFQt2A5tDGHmaZUQ4tjY4CqveS\r\naSpwliLdwikfsADSOHxClNZ3XkuNQCuHg6HkRXdnerb0CpDvTOdZ4pL3M+eq\r\nVXWoNTZXQwX9iya86xy3/ezCCmV9Wl+8VXE/f+Pwp2imPy5JUA+mut0glC4m\r\nsfHZOjmmTJoIHSZ7ujfXWz6e2ekpoDIAwBX/orrE2tXL8myV/96SqQEAnQQt\r\nfgF51Um7Q9KyObU+++BqInNgCJ0kg07dqJR1KVbpiiFNhRQBnShYKJ6yMHRY\r\nhBJataVJIhTHZnQTZwhUgRPU3wKVIWF7HhU=\r\n=fr7l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f7a6b71c85fbf0d1a9db952402e002f8421baf4b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.c9b1a31e4.0","@material/feature-targeting":"15.0.0-canary.c9b1a31e4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c9b1a31e4.0_1665593879860_0.9748752745570213","host":"s3://npm-registry-packages"}},"15.0.0-canary.13e9b0d1f.0":{"name":"@material/dom","version":"15.0.0-canary.13e9b0d1f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.13e9b0d1f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a629e8a8878a9849400cfd0ebd3b709100e4d763","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.13e9b0d1f.0.tgz","fileCount":28,"integrity":"sha512-KUUIND0z1wc3GpMMJw2V1pe7mtOX15cJZ7QYD8nHOEkEkjnaouUOxaUiWoUOO9WUJzUgxCPNr/Voh43Z23ISWQ==","signatures":[{"sig":"MEYCIQC25p0rmwmzEHngSy+YpBwcwfTkWxAeT5GCX8R/M7yUjgIhAIAykSA6a4Kr38fZqWHe6qHgvJbA1AziS6ozwCW0wxkC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRxN9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZvhAAi1MLrQ8uzuYwtvGZ/Unr32go8AvXvjRCpfetbyBr4xJDLO/3\r\nuSUxYnEFQhv3mKU2Bw4+mMyJmhJhh4hVRtEgWdnabHCXWpcf81bZ6/b8JM/5\r\nfkBjMbMSL2giJdtbF2MsoPpdvslYme7sO2kyCqI+DXL0/cfikIhQkkEt0VCA\r\n5inS2x1saycemDrDxx20kZSIB55rzSx1E8OiayJyHsxoF0qVhi6ahGi5AIls\r\nl4fWqmcn54HKdYas4Yzsc9KVnVWHt+jObZLZ1Fjt2Ut2xm/QD+DYJELCwO9q\r\nEw6IN1Ac/Yr8UgZB44koWRcilwQCs/qSYBRZISHSjm9D8p8lmeikEeebtbvR\r\nNreYUGYhYbiWfZ8lAeNGSVVwYUn6lpAa6SbNWPMwG5jhXBQD9BZd5bGd0VeS\r\n8yrH96DC2RmAks9mASBdklVERmb2bTZYR4U2tR1hB3tjKhO3DgVR4zESvDS4\r\nYFhshZSiw6I+AkEZtWdAS6lTd9o75QZgHAGu3Fg3gtc6JdXLGI4D6aT3eNBF\r\nw8yVpoaCGk23EiH0Fwq8NDUyX1mXKm7COkNHT4xOTxf0fDbdetkhiR3Va98C\r\n70s6KYmkrUAgqJu8llMGv8jz+wsj9+o/dENJdWMMSbpRp33wBvZPWiJ+hQqZ\r\ncd8Ej90MhB37DU5YSaeqoG6jgAUOnpZdI94=\r\n=K5lH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4d9f6e4f27b68587a15ebef6f003f73cdad60bff","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.13e9b0d1f.0","@material/feature-targeting":"15.0.0-canary.13e9b0d1f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.13e9b0d1f.0_1665602429336_0.34490604510405065","host":"s3://npm-registry-packages"}},"15.0.0-canary.1dc797e7f.0":{"name":"@material/dom","version":"15.0.0-canary.1dc797e7f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.1dc797e7f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3177bb0d981b9b25f95e8f5fc1baf5b76abed8a6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.1dc797e7f.0.tgz","fileCount":28,"integrity":"sha512-HP56SBgGfeZsl6wIpdATSiwmLbZkXp19aKro2QmmI9loWqknUgWgk0j+rNqvKm6cOPyYFDNtZSDuxq6VP2Rxtg==","signatures":[{"sig":"MEQCIGh9oc1PruMXNkE8hWYOU9hjKgz/V0vPwAWJh7Q605oZAiAjrllb25jtpzFQmZ+b/h022ne8PrjPgjZP4VCeP+h7SQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSS6tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr97g//TjaQdBWrgFzF0SXBVBJs63jY6sXafRPja0Lf0Jbt/UZ4xpXp\r\njhZC5DiJn61KAhIPgVdIx6Rk1mg0RfBylpNhPcVG4cFmL7MHkcxruskP8kNt\r\n9BPFAejwBgtOnTU33oYVrhW/JJHh39x3I5ehgydFIFzXmLMaoY/Yjo8syNWZ\r\nwX0UcaGg+6NrsT+evwj/B2nZIrQu9/jta22+H5+dYbodGQMnVAtz7y62OdKZ\r\nGY8hDWWoAPMFXl/XBIhIpeAf6fRt0AwIapLFKfqI3jwrxIqvoKNlJSbLnqaW\r\nFWsJ+oRKR8xyslMD+/R0zaimko9YIBq2VnKpQcZMq9eW5F4Lx6mZSV2BBhLl\r\nZYSVDAY+VDaCNxpM8ADcgBgm35e5A6UOOOezf+cI/tU7FQrUrfSo1sBTikOl\r\nY8EAyqQqOQf8S/mntuVp0TE2dtTs2gUiLTKSxsRhaOjTiZ7duBt/DF0ye6m7\r\nPmjK0lVEaR9NfKntTxyFMCD/K01+vvIouQNdJC8x9IHLxSy9W/3iK0G3z+W2\r\nfSg+zKrWx9dmMczXAO7r3bIspJXXwiR5e/1DGgKEmz4Ae2hV932OVSu+nCHy\r\nUMQct7ayjPK9c3IUqnJvHBYOExAOiX1OyBCj0grMrAa8aYwxb/YK7CSjXnS+\r\nd9yQaQP7kA6NfpvDEYWqf/zrFd8Gdk6uNuw=\r\n=B/RU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"22eb0904d0b7a84996854bc57cc417286deb08b1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.1dc797e7f.0","@material/feature-targeting":"15.0.0-canary.1dc797e7f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.1dc797e7f.0_1665740461313_0.28474807762847565","host":"s3://npm-registry-packages"}},"15.0.0-canary.ed4009397.0":{"name":"@material/dom","version":"15.0.0-canary.ed4009397.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ed4009397.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"79c17aa13cb5d4889bd1c9805cb41c66a2f787b8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ed4009397.0.tgz","fileCount":28,"integrity":"sha512-BfMKuABmFD5jJOOsIy1N13DO1wJMD7fkEOqng3DLUrtFyohBfpQ7loog5JFtfZLgNWrFLskpzzbiXsldNS9TCg==","signatures":[{"sig":"MEQCIA2Nx97/j/Q47lGcxlr7iQw9KKTFeSEzL/2cP8s8V6KvAiAdj+Pj5/epxHTIcoRsZVtgDjTZB5i6vcT8sVExeMBrVA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSZNpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpk+A/+OFcsILT+/6jBS4dRR+J3QSmo3uihvtr0a/jIvtV8AmEvEAng\r\nK7TrCCmaRX0Svy4T56s6+MXUclfKUMdI3cLYJunERfsZohxznP7QvaJd7d6G\r\n6aK9mDlEOw7604BP1K021GkmgnyfJxfKPAhQ9254bbRedO+4PF3Jz1nhjdLQ\r\n29WEfLTU4rpJE28oxW/tCxgss2gJgc/DfxDfcIYSD6Z3u/yuCYXWzzzw67Wh\r\ncSFEnWRygVnK/LXHhS32vQdwqHaFw29lFOFcwLUOsH7ezXtall5rqLT5pJnH\r\n06WHFpAdF3qmpyC+q/++UYsQTAcmwt2knRRH9JLiLNyq5ILr6xXqr1jXsjQC\r\nK5xqZBHncwb+NSyC98sDB2w70Fm9xnTfmSYIK9S0JNNmOAyDFtC92I9X3D4Z\r\nmIr7fOsMp5yatEzQTxsmLfdwfRzwXl+KH/Wv5O+XRRQmXoggbd/fvPue8ikV\r\n6beDk15Wfgk3LmuKGeI0qp2U1VHRy31pXwT8cZmr6QtxaicJSWFxxbK7GIJO\r\nqrsuVXIg9O7ZflIvoDRMAbn0a4kBnIO6Z14ucYpPQgsG6q0k7Uz2561zKPUe\r\nFt8mS5KR+Nx7l/iTIedkR/DmgxqOXiuGmg810ekVu+pt9pnW8sjsq/zZUXTU\r\n6Z0wIzaOa0wXCGIB7IQrsYwt2nq7jgD1pnI=\r\n=m+VT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a749634198bd160446873ac2c5cf3d4345b1620f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.ed4009397.0","@material/feature-targeting":"15.0.0-canary.ed4009397.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ed4009397.0_1665766249220_0.9870831482020337","host":"s3://npm-registry-packages"}},"15.0.0-canary.95ef196bc.0":{"name":"@material/dom","version":"15.0.0-canary.95ef196bc.0","license":"MIT","_id":"@material/dom@15.0.0-canary.95ef196bc.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"400b170336231272100455cd625ca5fdd5b24119","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.95ef196bc.0.tgz","fileCount":28,"integrity":"sha512-wKFeAzf7yXGuhb56RZBKCpMxw9x8Vd6WuiYa0Unh+csY9cUEFOmI6X0CQGx2XS5AMHCDNGMxFYlriHcV/CF2CA==","signatures":[{"sig":"MEUCIHC2iGTc86s/fdRcxulmsXl5NqWERoX3UPWVAOMCJNSDAiEA+HwGGGL6RP3JRpdCJqcX0PUX7TjxhvbUoCpn5+a/ErI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSe0YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpiPA/9EOKKavg654xEMX4KXKycDthm96iKwuwq1bgQyJrFTf0C9i4B\r\nTYXIumptTzC7XL9LLTbcNlig60Tq8j4RTgo+pXQJpbGZRaaKpb8FwTTII3yD\r\nlJnWf+h9FXwtxA5ZBFqoJ5jwok1ElPd1Rp/qo9bw6e86djVM0+6KsHv4cIvf\r\nd6kFF2dmXp7YPH/2eDkwuBWuOJxJGUUVVgQyh2RonToy0x6pK/azTuzgm5Mp\r\n6z9jitFSmRU0JB2MUqGrIjFofJz9lVsfBNloeNtY4F8de6SelUAJd9SPpl+T\r\n+J9GHywSwQYAhjXQ9X8EixnQ7O1cagbHIbuaxAEPcwcQX1TQOJppzZ77ZjK2\r\ngnnsMgWlycfRv/RC3JYA9zPURekFuy3wek9VEqkixvYJcG+OY/vlJZbAp3/h\r\nAAX2NrW7p4ayTb9pEeIc4a/1FQM4lSMHEhI0FXv6L8Pu6EjDbqd7dl5oMLiT\r\nWc0GMSAJM3mhn3KGRBst6aFWfENR4Y+8cY5Vz5wJsmG5lWtD1Jj9g/Rfysli\r\nqXIGU1kaReM4pV7f/vGFYEQ9OlGynUnlPwafYSezUx+KlFpC7YV+ICy0pt5Y\r\nX6Km791g781mZWpNxGLEpK1HCzaQ9xrxaF9AqUCeuLDLTcjTKhaYWrtN+UV6\r\nvMWQlZXIlTmqnxkkqn8Thw6A9XoCLc44E34=\r\n=6f5V\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c133997c8c45e50d9ebfe12fabab75ec90d244e7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.95ef196bc.0","@material/feature-targeting":"15.0.0-canary.95ef196bc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.95ef196bc.0_1665789208181_0.4462403808239832","host":"s3://npm-registry-packages"}},"15.0.0-canary.13eea1b2d.0":{"name":"@material/dom","version":"15.0.0-canary.13eea1b2d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.13eea1b2d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9cd1ee51b077da0d893d4ad9ea35e91e474b0230","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.13eea1b2d.0.tgz","fileCount":28,"integrity":"sha512-zoORN9vP7cnASaOjghw5013njwXM0Nz5d2pAWsz2nVP2pNanGycbNXYx7fV6r6hjc4N93unaTC1hACRrBxaO3g==","signatures":[{"sig":"MEYCIQCOFdIRPFUhGQ3vVw7nPcK/qcDGA4C9mVOy4FOMcWpjtgIhAJgVl18nZCX8MsmcPtEoalMLD2B82JSnihkLRe1AKRdN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTNErACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrdEw//Riu9Jrtzzi8XzXBqAeURoPlSKLu7LE4tP3F+CzIoqFusBUCD\r\n1XenLrqZR1uM0ed4+NiKeaIdKftvJy4nPoZggCM+7urCJiyAB5dbHq07yONh\r\nYXuvznUjhYwzF4UPt3UEMCMJ17BKngCJfQKj7zNBch8Myj8uDjK0kNUjPgUR\r\nnGCYwUDPXH7jGJjzOpouUNl3BKgpwjhvKSX1/kEBq+HxNhwamT3qiohLejvB\r\nlacscRxTF2kp219vNbk2g9YdVR/qVC3uKHghFWhzA8VUaYjEAxc0sbSqQ1c8\r\n2xAjk1jX4atvH6BE8I5PzgkbOj4GeLplb2O0aFtzh4qWYBnOfr7pDqtmZ1vv\r\nLXoJd/ClpMbNvIRJSWhYZMfMNHa65pSFCP4WjvSY5ymOQZJ1PJsZrZhYLqwy\r\nwbprKgDyjYCZINH2em/TH1CSe0EiTlso77N1LjtRIzVfOO8ibtIdVOrBopda\r\nesh5i10mq13otTCU2QKjUfGXdTCIJPg5f47m1nYUk3dOT/62X6UlsHvNsaZv\r\n6YrHdEoHfklC68KaSgjsF6CpU0WKYA85TI30xU74+YdG4X9rWo1J1rwrcM+0\r\nIMryanyXCdX5OV30UBKcOljfhuLLelgRNGg7rv5rL591ZYT5GWN9zdnUtiES\r\njNpDSGeFzjvgFbtaJDplwx0jrau+3gi+U4g=\r\n=qhT4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e9a13860e495e7f113966b4c71b9c7931a32807c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.13eea1b2d.0","@material/feature-targeting":"15.0.0-canary.13eea1b2d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.13eea1b2d.0_1665978667014_0.8383622708669054","host":"s3://npm-registry-packages"}},"15.0.0-canary.ef9b2babb.0":{"name":"@material/dom","version":"15.0.0-canary.ef9b2babb.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ef9b2babb.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"77fbae2e7a9d1da33e6592bb584d886624bad118","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ef9b2babb.0.tgz","fileCount":28,"integrity":"sha512-qA9wYZTSp6xCVjw/+YIHkZmPfDA1ytcxSn2j4NjvTGjb1jStDf3z0d7m9uxfenXfsUd11AF0MP3z4dXOcWkFyg==","signatures":[{"sig":"MEQCIHc4dUkK+AuAPMSz/zx482+Zq0SeXqsqhY6aIhzaazcMAiBAYHI8MFcHOd/lzCA1dlVFVEKQsMVMcmoZaNlt1k6a4w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTR2nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVjxAAn5gaIJM+YAYhlLsijldJghYFui01/zRdfbaql7uCuqEvzAvG\r\n4baAdjd4ei5Z3J6EyizafsHljzTSD+iPc68lxVi7oDDcvsh7S5ryAiKEs9ik\r\nmviiPXaASnUd5cwLwUo3NFLwtTjIx0hOSU4/FZbUXDo52MdiDi4ZgL5i8htR\r\nM8io6FLeEbHH/iRA68MwdtJdjM65TqKYexiuqA89Oow4YPuMfMI8Z20fkz7X\r\nOSqB0hDkwrvh2DhHFcnbxrj2suwy4DFCC3QQ+jy/wIbzRXoQoNYSHxoq0VRW\r\nCzD2dTV2wSgJsxBJya76t68PD8PTGlU6aI+vSa2l5bmNfkP/4XKLqslgeHEs\r\nNHcd8STPr2A+Tysydr4dezIFE0TrSipzK0zTm31Iz50chUSw5wWqkQa3IDVk\r\nwjEN/Mrx/4itrkYz2og6YqNgeI/73gHohZX1NOcLurZ8LJv76YrPAa0xxBXk\r\nb4TzWi05UGAKj0e+P2gPBX77JfEi493nXgZRsvp64pOCWL4pseBrf+uQUydd\r\nHjeIwlles0xlm2ABRQ1O6hm7cT8kvuQGK+eqKvXtFZ97LPFMANRYQNFauX5a\r\nxQcJwg0OQnhylFAIckouV+EWcqaeAGvxoOrG73GWqQCSUsOSxXHOzjtZLOrz\r\nY/IVw5jme2tlOUWCstxnfdZs/aID6AgvdzQ=\r\n=IHnE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2e04dcc89ca80bfb50d7ee1e4172ff9713c149ba","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.ef9b2babb.0","@material/feature-targeting":"15.0.0-canary.ef9b2babb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ef9b2babb.0_1665998247652_0.9379979421567757","host":"s3://npm-registry-packages"}},"15.0.0-canary.cec7fb987.0":{"name":"@material/dom","version":"15.0.0-canary.cec7fb987.0","license":"MIT","_id":"@material/dom@15.0.0-canary.cec7fb987.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f446a8abf4a72b2d6901dce16cf4cdfa9b1434da","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.cec7fb987.0.tgz","fileCount":28,"integrity":"sha512-xddlzw8TKIa2n8YtHtv154WD2LuHKfkitUSwJahE5WgyEVJFxve98GJRLPsAMyatMlPskbMauvjsGy3z1Cj85g==","signatures":[{"sig":"MEQCIBPPq50zsEeTMX3b0ilSqasocutq+CWQ8G/kvNCLwP88AiBXrCXgHo6BpPUbjs3EXrglW0VizdfY05qxgBWfo9h9Zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTTS2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNqg/+L1Qp8VC3JMAtga5rmaJqFc9Q8LIZMsSCfcuuJ4vlQPqTKQ3K\r\nuCHNs3G5HyYWvkO0vCVEACfNLJEZn7xSpglxCCjKDws3D2o17IzTWyVp+c0A\r\npm4mbgFdolxYrsoGmKb+Spm+M5P+YQBJld39XJYImJtno1t2y72LOKHSEWtc\r\ns9JM4MF0US7MgfJd8qtKQjO9pCfZHMIYqrJyyPn/+P4GWBDqKshfNz2+9mvb\r\nu1H/JVusFy518ZLYRr2FWB/9Ipl84y/tQzmnvV7EdpDViwYOX6XCRKVY7Moq\r\nvL8tt6jnyYOQvRgzUWCldUQk1WJjxwGHycF8GWH5ylV0MSvEjU8ZvpvvPI/0\r\n+Xj/SRmjVvfAwfzlNBi/87MYfEVCGz/1DkP+gHZyOYU1jrNvzUK3CHElOS0z\r\nzBU155YlXx4/Rr3cKmLc7BiSgNz/1jOjRCAOPZ0m/Y5A56MOR0zlmhKoLMVC\r\n8d/agNhFJYBdzAKBwcPzc2Avs9WRgpyFvtJj4aXRDDi+lkYQE9JLzajtNzck\r\ncnlwdG0/PpZxFQJj4xLpmdFVLUDlTAWmYz6F5Dq7oVO+JwpLrvki64GgQdJF\r\nm4da3HCR1Ktp9Pg38PMUW7WP3W3u4v9vbZOFTDoe9VX7bzRgrgsxLaDU4aUb\r\nJTqWxddm7C9ctzEnT8O6Is7GOAc08TXwcNA=\r\n=LnIn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5af4beeec511ff0266173424b4b179e209402a5d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.cec7fb987.0","@material/feature-targeting":"15.0.0-canary.cec7fb987.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.cec7fb987.0_1666004150246_0.3849152433989502","host":"s3://npm-registry-packages"}},"15.0.0-canary.4fff58b08.0":{"name":"@material/dom","version":"15.0.0-canary.4fff58b08.0","license":"MIT","_id":"@material/dom@15.0.0-canary.4fff58b08.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8981bb9056d34f89062f6d74153cfff078f2dbcc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.4fff58b08.0.tgz","fileCount":28,"integrity":"sha512-T+iU+/LH25OWZ74DCBDWY4oTo5oW12ToTSP49//SyC4Pp1slbkXUyN5nOCXyig2j3jYU5wRppPB58PhkXiJYdA==","signatures":[{"sig":"MEUCIEJosnXDu3CUeeegnYaAj84A/9cNq/HhihNs0RlJ3GANAiEAvkOn3eKruSARzVuGPKvgJantZTt45DYZmkjbe6RRYY4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTXMVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWhQ//Z+sfaPdFdLsjJX+G6v3ynUguDdx69kqTKIQL3EVrjzv/AV1n\r\nT1S73OL77OEUhnK0e9zZNVC5OvSWwmSV/ggIiaPtm+5fyETBdRiHt14I3lmO\r\nbSjlWReygymsrU5ED/Ve79RT5BIzY1wdAgWxy9Dt26zVl4GMroYoz6m+iXB6\r\n4gZCgnGgibJ8HX6631ZmvNPCrPca6Yq7XfIF9K/ON6OVysK153kTJUIMOOmk\r\nMjDjnkfpLZ+cbhI3lwSSnV3pzG7y+oUlo/4b0SbOG4ulfR64VnfPRiH0LnpP\r\npoyqOBze10FNv9WE8q8X8+8+ZPyqI0nU6kejv7N9yj4AGxejT/m33FpMT3rT\r\ngNPjJpORtJwmjNFZfAW10h8T+VnPy25sH+kluvkrNdieTkAJcIBbF4sB0iG5\r\nVzC/JJDpilc7OZibiyHOGa0bnUcrTB2ddBbD4RemrVp5Nm1F7ad1PeNaZ4JP\r\nYFvbE10iRszXoaEIWF5N0cq5J7G/IP7j2SR7n6LSZf3imPrAuQlERF6j4Daf\r\nOALM+RRWlK8hKz7xxo6HTfYt43V0rC2UKRBDTTU9tZsGixl/ZUl6btiNLT37\r\ncrql1jmQiZTREkCm5jNypkAIGOFdxPhH14VewMgrUL91TWUoeBgu/+X+jItr\r\n0bC7OWk61hkfiUjZQ3+YOuQtqP6WWHME0DY=\r\n=zOAZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b44726c7f5a5db16ef660807b5247cd71a447c80","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.4fff58b08.0","@material/feature-targeting":"15.0.0-canary.4fff58b08.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.4fff58b08.0_1666020117391_0.172760592514563","host":"s3://npm-registry-packages"}},"15.0.0-canary.587d8f871.0":{"name":"@material/dom","version":"15.0.0-canary.587d8f871.0","license":"MIT","_id":"@material/dom@15.0.0-canary.587d8f871.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9f56bc12edaea966bcb5ad6dcc3a2a1e0e457a79","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.587d8f871.0.tgz","fileCount":28,"integrity":"sha512-iHuG/4mttQBFZYWdnfEk/ydqtPqPjw5dxjFpPCaZ4aGzxqzeVEhOjh8ZwnIMSSFUbVzTfFhDmhihy7woIWApEQ==","signatures":[{"sig":"MEUCIGBnUbt3AArPBtdhcvkw4P8k1dE7bn6473DQ3jL1Qu6LAiEAtdQCTf4VLzmdChF4qOHTWMtHm+/bH+Eylo6hVL4fmKQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTXs3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHIQ/9GAXxqq+3VA+ERlWweFZ0GdjI/CBzjOg6wZWtqufoBiZSiF4t\r\nfqRBPkfODJoUeNBxgpHUUDUsN/VNMCyPnvt/rNiYVaO0VEaN6hqn28X1byjS\r\nGJLExHZwHuvUBN9eS7wuFKO3BGLCslrC8lHIrg4aw5cpk4yxE/6Px4z4GlVq\r\nkornj3lVXRAgN8Wkq9GUpV+dC2E7hm9JaazezkvL61pV5e0zWh9HKaICRBtH\r\nYBcMsmcCPTRCpFd5A3cqevTgQe5LLQQhYH4c9J8gbpxsYGLxUk9tlNGFF2LM\r\ndjM0CJG9cywIoa24yxcAYZ3VuSEe/N6ns2j8qF6yzF0eCc24C8Dp409yva4Q\r\n2YAkeoo//iqong68SglEh+ApzUHODyJt5KtWcQZkcQz8ZtouoDbs4DvnAiDy\r\nFAuzdzWv77rXgCqdoD02vXA7HZRY2M2jB82USNqEFuXOZ59m8Zs6rceMwVMz\r\nKq/KFpOmNcy1RFG+1bQUZJOqreNJdO1snxtq1J3d1Y5L25+Eti4p7jNNXtPV\r\ncpsUBp3Heq8fSTSw1tgqgaPlAeJYQCdwNAnrwH2XF/SikgR6gy+6zLvsGYlh\r\nAP+EeIod5SYi0HY67mTcrl8Ke77OAZa+wWVgnDrnWG0vpjmVQOSqClJGn24M\r\ntTJIp0lODnF5e0sXI4Xu5iBjfG/VOcQAaWQ=\r\n=yCxv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2ec38be871dc355461961e4ac44d48ec44c42a1a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.587d8f871.0","@material/feature-targeting":"15.0.0-canary.587d8f871.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.587d8f871.0_1666022199246_0.466620446116504","host":"s3://npm-registry-packages"}},"15.0.0-canary.edf4b98d0.0":{"name":"@material/dom","version":"15.0.0-canary.edf4b98d0.0","license":"MIT","_id":"@material/dom@15.0.0-canary.edf4b98d0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"714250787c72170507188c572c3a7735e28c751e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.edf4b98d0.0.tgz","fileCount":28,"integrity":"sha512-IqfDMJrzWRel2/HU2GQtYvDAADbQEzRFavRtNoMgLhoYv1YVFkW2HkLMSceCHLBEIekS/VAEphfaF0CxUNSrYA==","signatures":[{"sig":"MEQCICJ8Ml1yre15zezxiAUS2kRBnPLvIr5gYih/OQmHXCPOAiAr4CeWuQvm6WFb6dxkRU6xHbRzQGPSpDVv+3gjFnQgRw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTYVfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrnCBAAnYQN8Kg+PmjXCnpnjb6fb5AeoKh622M2l9XZ+RHTCjfiYoyK\r\nCFYYltkKnLH1boZlaM7Lul/1K7J0wgFlkTLTlZANfut39aWRoMqX9CHJX6ub\r\nuaQLbTs1n8ZW0zimlvj5DAtsN7IH5fT7XFz/hvquF8DF6dHZKipEAor9KrUS\r\n8osopc8SVxs6VtUNkE5kEATf4Rs8ElsNCN/63owtTMXLRI2ubHvZfxW+WvrS\r\nj+1hAXaSG0DphKq3KKfD8GIN5I/aTUyJbHg2YBwOcXtzdkbq3ECDDZugRgnE\r\nqQ7kjLvKLSr5qcBY1B55c2WFAEsk8oLhG5aB2CD1GRxTkCutLBn1c0dD5QP/\r\nm+CWvV/NWbgICZJ0IDB1LZomlZ8gKHAQGKtYTtysxnv59FFRZcJ6JmP/9eIb\r\nJMJBz1fop4NQ/1OQhfhve4H1aRPEGq5QAqj27NwFc9lDHydsVpN6AgvP164A\r\noiwfdIvaQoxOmsI4SX/oALCbKIjURP6mJwVujTEauMKU3MfXIIYE190W65RX\r\n9vNniAk80+ciIQdHWu2TDSydOuliZqpj02iYzVFdRVpJpu74VjaLGmGzzF6K\r\nwN+N5Q+PhK7y+p8PTPwQ9+0IzO4ldrNThdOwpbJRTqhzDBUa43ftn3iTSKMh\r\n3tcguiqmOYv6vtxfOSwaB+FEqeXF/yhjQlo=\r\n=KTRM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ad4766965d2bd24e69b2e2e6940c960907c93c1f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.edf4b98d0.0","@material/feature-targeting":"15.0.0-canary.edf4b98d0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.edf4b98d0.0_1666024799610_0.9913109207695554","host":"s3://npm-registry-packages"}},"15.0.0-canary.024ac5f16.0":{"name":"@material/dom","version":"15.0.0-canary.024ac5f16.0","license":"MIT","_id":"@material/dom@15.0.0-canary.024ac5f16.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e1943304b9e7ce2d2a98e09279a39f5583a2e3d7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.024ac5f16.0.tgz","fileCount":28,"integrity":"sha512-VFMIu/sDb3rjefDJsv5Byfw4NJRBuD+lV7oyXOyo3Hi16Y6iA+pGRxVgN54wQm04FXRrDoeCaU8MpSFKSk7E3g==","signatures":[{"sig":"MEUCIF0yecR3Qp/lx7rqwwR9s90KABccyarDwBfr3GRMYpC0AiEAs+Mua7+pqUsWHlgZgWbCGLSBdA7t+NEiCbjn5pBhTOQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTdovACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPTRAAj6EBfU6uZzsseOwW1YCv0x3IU88s/hYEOQvGhyJk4lfNyu2j\r\nJzH6+GysuMXo1QsVj0YnkZzoMOqYuT+W5DnvRkwtG7nt088/90G7MTzAwkPp\r\ntkv3hs0ScNuvZZRLF3zFpYbsPRemUYrDM0fM6X51mirghPeES3V/DPMzEJ7c\r\njLkqNuFfpWdOtp8Q7ahABFRF7aqWvFVR0iP8QzYm6p06UurAGo7pOKYveyMg\r\n1vOwE6/D5SXdK5gJmgPMKlcmRnnW3/7jgOEKtfQ2xp9dyFqgG7w/l+8WnEHC\r\nzySE3+58nlT/uRCOLFLbsxlnjl+dqr+FrOXbjKlrn5MdrqYvLpryeVdg+ppw\r\n7O3SvabMQGEweAmXJdnS0pvjEX4U9jLJCfjuRQCTxX+kMxPUO+XLX7uxPt0I\r\nCCpgYnywbLshFIOmdKl3aP5aocu94zoH6+u7rw7Y4rE+mctfPR4i3c/+Ev/u\r\nk6QqsktNVVXBkkd5ys88/dcjAEdoZ7rNDhRiZMnQEZh9k819JC5nx9ET+dYH\r\nnNm9bwACZNHGKwCruOXLWyzekDNQ6eIVo6JXU2jxYQspNVXy+GBqyk6rrSde\r\nUy84BWjas9Yy7+Qxg8mP9p2tEBH2FgzLdlEFP1jfONPLuGqKsUk4JOkRQ5Q/\r\nIFbTJmLrkuLJL2eBPvNECcjIW3ABvyBJ7dM=\r\n=T+pI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9ad8e77cff1167055c10b93b4082fd5b4e1d8643","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.024ac5f16.0","@material/feature-targeting":"15.0.0-canary.024ac5f16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.024ac5f16.0_1666046511670_0.9659131373676568","host":"s3://npm-registry-packages"}},"15.0.0-canary.c8bdf6144.0":{"name":"@material/dom","version":"15.0.0-canary.c8bdf6144.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c8bdf6144.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"120c7088f5a9be83b08e35b7f7043ffecc338fe5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c8bdf6144.0.tgz","fileCount":28,"integrity":"sha512-NeIEux5I74SDCN1ALal3bzXI7bFENHsEPAvHBPLWuc8HeyghstPbwL47cmhO1lpHv6Aa74ig0OZAP6S03tt25Q==","signatures":[{"sig":"MEUCIQDCsK43Zn48X8hiBal8N/d0QLJoNPdJrhYVccTPiyKPyAIgXvyvc9ejuSjiRmKh98r8Gi+CRn69Gp+fIuZytvNNmjU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTu8AACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmosDhAAm6aqzPwTp+zNiKrNIjCGQx9OzQwD1bLNP8ZJuZIMI+19sYpw\r\nkvUeDMEKLdYGWvDEccxlbccdSE9j0+aNksDUawnavq/W25zmvFNlBw9hHyjV\r\npFzPjCMa81r+WkCqyGflIfC4D+hKf+r4eFteiEDZaoaIEoMY+JecWiJpBMFI\r\nxcGDVbufPCW+qoeqH1YI8fnqYrSEgTUj8KJJSBZ9AuXgnh/zqxHHadAlnADg\r\nPKxLLMEG4XPnD60M4of3AHGz6vh7PIdNgf7jx1I9GHzjxF4tpLAcnIzfvUr0\r\nRoAUq8tUOwtzo0BhSlafVZXuqTel5/eQbiHyW6WdNeoNt+TyBohV6E+xRoQR\r\nXpUtoHLCxfL5oYGCFVLDVLpka198u8u07S/CrppoZd6664kb+E1QxuzCxhBY\r\nITJVch+3Ulpja73ZEcbaH8j276K5QcT8NEdZ4qJyis/86YwlReRqlhQTtJFL\r\nEN9v+H9S6x0/GKcvxpU9ZqlA8Il8okiZSkBKurcRhs3/8oM5tjUJj/7FnnIw\r\nEG9vTRJv/uJAqP6g0KtWuAUhWYQQEzqSb8a0DYQP8ZHjkJwYW68lDyFTE2ck\r\nszij6XwjFMvKbfbH+vC9bBJE6tQ2htH9JIzPDLpuCbcebYJ7sn9axQ3tZ4q7\r\ncnfifHLUBFNLnG8K+SqLqEOsZJBDkzvaO9g=\r\n=E0OB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"92f4fcf51598cb8f9b9e03a35332a980296c24e2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.c8bdf6144.0","@material/feature-targeting":"15.0.0-canary.c8bdf6144.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c8bdf6144.0_1666117376083_0.6957151196626445","host":"s3://npm-registry-packages"}},"15.0.0-canary.bacda4885.0":{"name":"@material/dom","version":"15.0.0-canary.bacda4885.0","license":"MIT","_id":"@material/dom@15.0.0-canary.bacda4885.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7fb3ffbe705e0d42f70d78a16b38cea4250cd9e5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.bacda4885.0.tgz","fileCount":28,"integrity":"sha512-n0zDJ9VZqerq5urgevllmWV3MvQh8n3ddlnxg7XZBSGcxqVLCWYHp40jbiK8zUo51nmYGVnLD8zL7qNByLpeMA==","signatures":[{"sig":"MEUCIQDa42eWk/l1qmVQ4mPPvjrfStO3HqpCw/fHq+l7Fl6qdQIgQ0SUfs5CHgCBATT8AbHfEcYS8IJIlViRh5XxNu7BF2w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTvOFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmojDg//Z7qvS7F1+g2MRxHjEeQTtTLrVINXpEDgrRC8cCF1NlaLm01o\r\n++FTVOuEA2ZRk6VUVZVTltvoODhtaBbFBMHcfDyV440x9hxQF4lcCRAss0a+\r\n4RfY4czzYyU54e7DiNRm8N28xWJ9o8el8KpPkLoxLjBKtcuO22yLdr3MzHCJ\r\nfldEQoiedMEMV4n7j1B7Ml5RgwT5Ytd/uKaZ47oNQZVbWQ1sA3XaolzLBaOT\r\nCyA3689Yi4sLMa6Js/TSL1OWdnjXkbAyKoDHboSUBGX53ipQoCYuviZtNmT8\r\nk/at7rch7sfEeySsz28tINJJVGfNAr548NO8lRsvR/ovfNR5ZBF09ymDNWID\r\nlV+hLRRkJ23YVO3+9xZaJTL1p6RwjcQJm4wK2lu9fh1+Iv3EPCjxv78qk9mr\r\nequK94zCkhJw61Ax9RHjrxyNFhJ070ngcy4Ng1DEHxpb5GlEnYO4Mo7IeKEH\r\n+mVLhmLCXxbeH2siO2pndINCNW0cN23VA5Fa4qJwpAyUDdNwEV+j0djg+BF1\r\nOulDScEQlJ3oqdIVWpboX8W553reQyqMKuXd6Tqys2NKABa3IwLKkhQ8u7Ae\r\n26xf1hi+BO7FrLpruF6wrfSKtHjFdsyBD+aX5id42BCiXBjsfiWzyNspPl7u\r\nIrW3Gf8AnmrG18hH1GjhzUwtAtVV/P/aw/M=\r\n=znIZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9e0a7dc5fb5e2d1554093d85949ffa6c2aaa33ad","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.bacda4885.0","@material/feature-targeting":"15.0.0-canary.bacda4885.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.bacda4885.0_1666118533481_0.7795214987893315","host":"s3://npm-registry-packages"}},"15.0.0-canary.92b2556cf.0":{"name":"@material/dom","version":"15.0.0-canary.92b2556cf.0","license":"MIT","_id":"@material/dom@15.0.0-canary.92b2556cf.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4d2393fc1012084d6ff67d6a126eecb35c3c44c7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.92b2556cf.0.tgz","fileCount":28,"integrity":"sha512-l/izby0fGT3WUalYFSgpUe932mSBznKQa5utU4l+4tuXn4wafqF2fEANKxPMySewh9YBvPR/px5Z9P0yCRdd2A==","signatures":[{"sig":"MEYCIQCBNmNdVDstAXc7R0xBE1tLGe3Tj2srEIM/fVPSamdYZwIhAIWp3DypO43TeXyZs9x9QMKvv2EIw7VWgGqE3342p5m7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjT08YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrj/Q/9F5NhZVWnQqYGOEd4ryFD2tvHPuh/f2Ev1T4Nuz8LdZjC0o3X\r\n7H7ZssPOTz3cHwwAnxP1rKbwhiagPKYHQTh1iQLu5wvAPLGCHqSbstuIMJCV\r\nIHBH4WTUlil3a4RR0lSDgQZ18mwB2axp9taiomK8R8T/jr/U0rSsCr+Ruh16\r\nSwXxWO8ljY8zjID6pBHk/uL6qHo26XQ7yhekR8TcNp3A0P5Fd70qDUqTE/dG\r\nPx/K/JOQKItrWVOgUuS8wjldTqZQR/g1zJqH9N6nrWEVykHC40reMwuA2XI1\r\nWpV5Ts1ILOUTVT13g/6aYV4YwM1kWnSSUYnJ+1nxIvQvxr6PfZ/07q0/8V1h\r\ncWh88Z/XhiLT9PDgnTUSjPq4ny+qsnzMWJc5rhzFJsqNEYL5x4lGfq4ounyR\r\nEFARPZHGIBYe6J3ZVAO0E8STjRe3ftPMeeJ59Wfch7Gvoxj5Cprpbiv60aI5\r\nj/khLaLKgMDWEK3MjKZAD2uNkQQNnZUiwJHZRMUw74hmAzg7eB3LlFv4NQEc\r\nTR4NzkxdfpsI6H+YwPgXi/tXEHK5eOfSpHiekhp4VftDJiIzfko6ibvqafEn\r\ndgFNVTUmcMZJ86JiiWh4dFffFA2sa9Nr64HE822TP6xi8UuBS3Da7srziVLX\r\nGPGcxZ1fijZiIbT+nkycON2T4EDMzVXZfMo=\r\n=e1u9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7ac326ada7a9c6e84bacf5e01a6d22e675dcda8e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.92b2556cf.0","@material/feature-targeting":"15.0.0-canary.92b2556cf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.92b2556cf.0_1666141976757_0.3694560866285126","host":"s3://npm-registry-packages"}},"15.0.0-canary.cc804509a.0":{"name":"@material/dom","version":"15.0.0-canary.cc804509a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.cc804509a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c6efb4403690e936668d7b45ab82de45aa97c531","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.cc804509a.0.tgz","fileCount":28,"integrity":"sha512-SRsxTzq38CZKUqJrLYdqJng0suO/OQ8lA6CJihAfpt9uThjDTDuMT/HdC7KSwwZL+kcXZKMLC7ri0jSA67L2/Q==","signatures":[{"sig":"MEYCIQCwZnIEfh7j7Hk563ieNOMoJNntmMWA5PGm/xTAaQ2yBQIhAMgwQzd+23teH1pIi91W77JWOTS4itD0LcefDv+58oCu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjT0/8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrhsQ/8D1e49z/0v4kKgZ0jptcpaxaaXn2Tj6TaUQu4X5Dpz6TjnAXG\r\nuXtGHzraz2CET5eijm2y5925vWfksBMqbpYkXzhQDNY/f+wzILSV5q0ZNpDN\r\nzeQXkCzPv067OAuzhol3tRqcVcUTmCI/QUq4RRLiLBprOXCCcrn1unFPRJza\r\nqrKVYwNTTX1o5wD08xoOAia9ETNRCuGDd+oq8Hn3tKAcK/x/MpGwL4afU0kt\r\nHCMNyC67+eD7262Z3eDlbvEZtmdLDonon+RbcsnGdDqlHJkFMLdKSx26yYV7\r\nC8AMsYFGCDbBA1BeFi5csytVMI7oOJzTrwCSw/HFeG0uTaJKhQet96TK2IaV\r\nqlAa/8X/gYqki8AqCTrvbKWOtFbxz4cXuzONuGc1QYpFLd6FNypMX187Hx+o\r\n94v0rY+iB+FJC6MVx8qUpTVDeic2tVwZRT4NMwchxyk+2t+gdttxZ1di9SRh\r\nblmCAM7TnPl13A1TTQm6w7hN0a78pfm4pD7vVrZm6wYV9qgBLrcwwJWviS9C\r\nehriRoueWhmbESx/faL5yff/o1mIkE4fV+A8gyX2FfqvFvzX+wXiaJE/1K+0\r\nsqRp4mbji5239BblBYCcsJTGlrQAVvnv/+aOdS7h/YBn21JZtqhNaSDw5ZuZ\r\nPK02KYprjnR2En5rWZKCpE9TBzdxoWismYQ=\r\n=nyu1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e8cb944f6f2263dc4b4fec5d7ade2bdb5172b4eb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.cc804509a.0","@material/feature-targeting":"15.0.0-canary.cc804509a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.cc804509a.0_1666142204237_0.546613580203722","host":"s3://npm-registry-packages"}},"15.0.0-canary.982bedae9.0":{"name":"@material/dom","version":"15.0.0-canary.982bedae9.0","license":"MIT","_id":"@material/dom@15.0.0-canary.982bedae9.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"908cdeb66208e1710feeac4010aaff6de4e14e84","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.982bedae9.0.tgz","fileCount":28,"integrity":"sha512-F8HcVTk5XlaQoWUiihAYv/JglgWCkxdGUP4czI0KlZ5q+FwIOszTql/KfM2zMzAfZsTnAMQ3rXD/h7As/i1Ysg==","signatures":[{"sig":"MEYCIQCVJoar5pLdvqeDz+oPw3sMn3fYFlnMnAgLYSR2mKD6FQIhAL5Be/dQg4xEyjj0Mhp9h47nmEDPZtaUZY2vETUXvWrM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjT1ShACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr60Q/8DLovhQVc6wKRVrCYZpCE9lEE9/LsEV2WkuCPGAFHBO0UGxDT\r\noRFe255uILhKvEC+OTDSwKoX3UggV9aIDkkQq/Ov92WuFwnxLg6dRC1eovV1\r\nH5jWGY8+2NvIXJE2tZlKzvhKlC3a2myoDO3LCTNPlHdqOYbAvTwLWCABO6/P\r\nGYdKOnLsdIgWUO28RxdE8HzwH1wrE/FSLoeGsX7aziywRMiaf0NsHTkhEZzn\r\nuxixp+IGXbL7RdlWN43SIyUQrHxNtoA0U142rA348K0bYCEHft2gvBk0t9Fm\r\nGRK4CdiJXv8xZKi+TsPpdCzShhbwfvGjFcL5hra1Wk0LyeYzONYIAQCxLkuN\r\nmpurOlCluGDZ1c05ai3S70ZF1dUan755hcU35U2cmhQliTbIHANv17epkzfq\r\nhnFEfoIuSrNunycGoKqNfq8yvjEbDAZ1r1BVIrWn7gCSJOIO2iG3cUB6jR1x\r\nqc3puyZyuhV0hIEWaGfAJ64psKVIBR/5VuEDdOgmrCO6nio4sxtKd3AXPdlT\r\nUibhW++3CBUx5iLECvAs/PSBsg6OlnB8yhX304Si8i7nm9EwIw2dnCFNqq9d\r\nUkAbL0+n5NuX219GWR6zFBQTxpoaN/ceQiLnJIUeeyLKGthOejmc64WRjEDx\r\nwmec/rv+Z681nkJ7lTx2JRgc8vu6BVHbgPo=\r\n=iF8M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"247fc73217ef7d2438e876f1477d141e6970c9e1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.982bedae9.0","@material/feature-targeting":"15.0.0-canary.982bedae9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.982bedae9.0_1666143393041_0.19248722835817267","host":"s3://npm-registry-packages"}},"15.0.0-canary.ee40081f4.0":{"name":"@material/dom","version":"15.0.0-canary.ee40081f4.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ee40081f4.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1db2d0e7184dbcbd9879b371f730f7f95fd05e19","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ee40081f4.0.tgz","fileCount":28,"integrity":"sha512-QZ8zPokIo/vL66QcggLaFONjWSCga9/LjeV6BXCS2rexiQyOPgiSEE+CgWDOcAuRzQY1VxeYuCMaHTOUPVENDw==","signatures":[{"sig":"MEQCIFN23Y/5+tN49Ms+aqrlFwj5G4Jz0jQWf9Dvhe4NglXbAiAdqVCvaXPQzJC36NrXhsT7dv6n3v3Is7evbhajIyiCcg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUFnnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvEhAAiET/WLikoyBGjsnN3461h1my7oyKdozbr9HtszQZEsjJG48i\r\nYQPAIKD20Abpav9kPBWtq/PumfgrOvVkg4xIo87Tio3+IRZbDSntTvyvP97c\r\n+OxxEgXDDTBKo8AppRJKfj6yHX5KneDSMyiV85Sff1JBS/oa98wwA56wBCjT\r\n/ODH5Rjxy5LO4jQemOOs8sYDNr+mZH0gLJ3fbutDKJEA1RNniDu9acABvwft\r\nvUPB0KkWf3j7biVLmRuonInDumc9XJ5W3GECDxtD/tBKNZ3/zYlv6sIiLAPI\r\n3H9W9AvlftusKnnwwerlN6ryBDaHRagSnl6+v1s8WwhX37IyhowjGl8ni4Ul\r\nOcJz3VSVUh9TYjr/7Y7iA9qOnzfEmTYYdOdLwu4yPvF3aQZXZgJXzKGZi8l5\r\necuHoJr3uEtKqE3DBSAJSENj5SGVm0hnFYJZ78yKiCNg3LOJ1hCaBohjHGyw\r\nj5riIVuz3DVRAMgjvCXIgqzO38g34+gnm8vMK8158Kn4njRNktICelAtdoA/\r\nwErvI+9oItAinbfTkRgrT6KiNgam4ETT/gZzOYZimGVSEOnLc23tFA/YWoa9\r\nFZzLNNn+boan17i6V8i9ZZl9alZIgpfggmmFqziUvYWXKnh0Kg9J1WkivVbm\r\nmt8TJ7/yqmvd3q1TBj01UxrRL8uwjZxqgnw=\r\n=ck8n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"04ad48e358b6eef4ec9ee359b0ab906b30425504","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.ee40081f4.0","@material/feature-targeting":"15.0.0-canary.ee40081f4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ee40081f4.0_1666210278806_0.6135313485473912","host":"s3://npm-registry-packages"}},"15.0.0-canary.98f1b54e2.0":{"name":"@material/dom","version":"15.0.0-canary.98f1b54e2.0","license":"MIT","_id":"@material/dom@15.0.0-canary.98f1b54e2.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a51942b715bc93f44c779a9e134b0a6829415cdb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.98f1b54e2.0.tgz","fileCount":28,"integrity":"sha512-LrQPf6Ku4ur0nXYGYHRRNt94YqgW5am+7rzxx+QoCuHdyKpJxymA3oicv+8Y6gDLOt+3sGT5Brj6Gn39vth5+A==","signatures":[{"sig":"MEUCIQCcMvOo6MFHtzcAeVEttXyIm49ohsBsTToOJDg1iQ6+qgIgTFPUnhZmWBN7276WhucS8bHdj8Fx+/61GxBljHi+mBQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUdIQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpC3w/9GFTdPl6ZnT5oKZx02CYiMwDYuWvJo+OFo9vWyFG/awGdqhxf\r\nHPVuYX31JzVBJ8jbYWgEk4f3wiZoWkm0QzDBHg+8b2SZAJwMQJkBXb+BhHLc\r\nKFmtM5xlaHxJDzvuGOciBWj0MPIHKr2myoRfl7L+UZ7G+EwWAD6dvzFTQ8Qm\r\n77sOCpOlrM5y4v70Opu1A4Kv0M1xONsw9utZK82JF++wtc7x02z0KbstqRCW\r\n9xQgyPa7Fl5b+qVSpVNCha1STHYL0F3rqo4ssmyq3f509OpklszPW16PPxJi\r\n2b8JYk6misIt6agfKnw4wk/rt4tlIgdAtA9UEwuhHuOSHDNSqqpyitRKCiB2\r\ntpNXophQYDv3Vf98KX6YLMx2kJrmGusqEpCc+A5v4wGn36X+xuue9i8jim64\r\nsCCf+exXIAT/dbLCnb6AOZxtVC9E2vUVnMaNR2gCtqlpLtOeYVbeen0hesjd\r\nYLdkM5PaXFSL93LUkA4VI/mPZbkC9/kFsl/dj4j+3YouiW/tr0tuhQvZPfGk\r\n4c4IuketwS2uyV8xS+i6cQFkcBvbweXKf2fHO9+NlGDqwjj3MKYgqIeyonyG\r\nA4XCxjGOdb1Ys99Tr9GRJmjEa65Mls1ENY6V6xPpLmcDlE4eguUmlW5FUvHt\r\nFlXbRh69Hgw4z+GXHFGZDUwYAma8g21qR4Q=\r\n=dlLE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"aaf0a191532b3357cda509746499ff62e3aaa47a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.98f1b54e2.0","@material/feature-targeting":"15.0.0-canary.98f1b54e2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.98f1b54e2.0_1666306576467_0.7915919544231025","host":"s3://npm-registry-packages"}},"15.0.0-canary.e74b7ba7e.0":{"name":"@material/dom","version":"15.0.0-canary.e74b7ba7e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.e74b7ba7e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"80be5a9a84e12144d92d15456468a65378d28c85","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.e74b7ba7e.0.tgz","fileCount":28,"integrity":"sha512-aCklJgdfSMpivUPzzUpoDq2/GPCdWudGSO3ykTEnvR3Fbbmnz/jL75AylQWaavZvAXEgJOcmopu2m/HRtbrkNA==","signatures":[{"sig":"MEUCIQDMbOGIR1Wb0Gt8DPXDOv6+1dF2ZdDCydlQro/sdVp+kQIgeBdSM70gGIgTYtTfQ2NEji4rGJ6MMDQ5CKclVDy4rOM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUtFRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr84g/9EMdKFe+iKjqmNbq6Nt88zjxvQv1SeP/w6LBBDm+R6D0B4m3k\r\nWAuOMT6q0HlJ6+6JMn6vnJPparWWG4gKYUVILDzlfAY6Iofqv9cO+aCCx6aA\r\nCMiNlGgRfujeBVj6cYfoEO3Eao//3xSRsWP6ZVbw/HXF9RwqL+5FjtsnG8S0\r\nWDw9ZI8xYdnyem0Otp7zpA0onWvWGKJEAKPZ1VG8MogGVmRWI6EWponDwSK1\r\n2Bhv81U0cN5B0IpN+zJ5erPZP4nryscdOSDXt0IxeV0gR51uBuqSbkZTKsUO\r\nAc7UBKt6a5ERfZku8wJSxX1DazLl85T68bScaejOAGtazHl6J/vhaY25E8OC\r\n91zY9tVQuWKc9T5RB1jatV7nrau4pchYqXvO/KLANrtN2Mg1d6aoNMTTo3S8\r\nJpRDpEni4BQRxTui/mPI5OTeEpDYkMtVMblG2gJcPQHuBgEhiaRNePAhtdVB\r\nGs57B0es8KX9JTSPsJKDWc5mHhj6sZUGPZlaPvR5kXKxxzBxADPYxinQz4bn\r\n9ZjsVBKKwYJ9aBhTQhDBIIRHBTb13KYMkZEPUFk0t0WGCiMJ0fMZkZUfYlKe\r\nSYq14K3ANbX6ukAGZ7EAeIwu8c9RyWcwNf4/VE+BtEq8WwiqRVinrycTH+FK\r\nXv5Y4CD9Pppweu84QWHRSS1u82ZdBc+XOEI=\r\n=knlU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e30e36776ed9bc98d53938cfb5e48bf5d2cc67c4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.e74b7ba7e.0","@material/feature-targeting":"15.0.0-canary.e74b7ba7e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.e74b7ba7e.0_1666371920864_0.5936737768893354","host":"s3://npm-registry-packages"}},"15.0.0-canary.ab55c07d2.0":{"name":"@material/dom","version":"15.0.0-canary.ab55c07d2.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ab55c07d2.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a19e569f10b15e5416d5ef7e04fed8500e958690","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ab55c07d2.0.tgz","fileCount":28,"integrity":"sha512-oPjG/iHyVMJVGWWK73XPq9W7K1axLvYjzwHC5mKAbMJxTKLkWcx20BPzGE+yC85wZO1sId4neAb3sr0ekTG0zw==","signatures":[{"sig":"MEUCIHq53iJMvyF8v3hqPuftRZq+YIYkswL/vDeGvZQNVm48AiEA7+b81VIgTTIfuXDh8IHHM3SDn+zC/JFz9YVkpeXqJVo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVDQEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo6bA//V4msX7HmZWMmfwyGlYNRWKBqrTvARGJDP9DKZXi6drZJ+ZlH\r\nFzBbw1KPCGoggWALdnNREif/rQr0dZZLoi0ADCw5y5W3BbB/CbL7rtJG7xEo\r\nsp5qHKQ2DkYxXod4gvdk4x0WYeIfF4j5v/Zra4C6LULfm9pXGXcU7JqTpEFE\r\nmsNIrESu9jMSA8p7/Kg9POeWBYpqKL+hACPSDevjApL6rV/XgMA6MZEwzHuS\r\nPSa+WsVOeWs/a9S9qLX3nWcY+T+ZYbbiulPuFxWtsXdYJ6f+3G5MmiCVLVsN\r\nF7kxM7x1/78JspfSMa5DbMuK+XLbOj7LQAkkEZ36dWZaa0oiwfsM0COnjJH3\r\nTD6bXJJik8/3JG+wkMKPe9GU5epXvKefWiFssqDBX1BtUfgo6B2Qv3Ut8CZr\r\nArQp1u+798oOtT8O+Wu8ILt7F3cdCmtaH5XnAO8LAJ1CRESTDhp1RrtnxGJi\r\n0Tlg/GiNXU8xDSrhpKaY25rdQ4eKG1GPA33OTtcf1C1M0CZJZQtBoj7IJRvY\r\nB6oJOC952Enu3kLTlzzKJfbAxpQMgawKq020sPQmHdws9z25VeEYTAo+1ms1\r\nU20hjTRzyULTPvK6NQX3rn1F20z7qOMBaQFFBrK2J/8v77aKwxdO68j7L0A+\r\n5ZeTfK0O5urbEG9qvvCz/AbBymeUzgxdjL0=\r\n=M6PS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7fb32c724b7903a8060cb457aca1f150a15590dd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.ab55c07d2.0","@material/feature-targeting":"15.0.0-canary.ab55c07d2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ab55c07d2.0_1666462724555_0.9155827768356188","host":"s3://npm-registry-packages"}},"15.0.0-canary.fc539db34.0":{"name":"@material/dom","version":"15.0.0-canary.fc539db34.0","license":"MIT","_id":"@material/dom@15.0.0-canary.fc539db34.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0e26b02689c800528b6b6c9f4a7c4748c6f7356f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.fc539db34.0.tgz","fileCount":28,"integrity":"sha512-O8lJ60dlDcct8LKVzN9j44wBIlWzRFXlwyb5IdGFz2HKlWXLfR2hTqmG2yFJvSteQuTSNQsaJml8+goO1c3J1Q==","signatures":[{"sig":"MEUCIAGhaNsetJadGMaeLvrDMwAt1Rl9q3uv71nr5dC93dbnAiEAxAwjpWrgpGWc23qMEWdsl+3SQw1c9CYAqptV1nK74yA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVuBiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqhUw//eOrDx+LoS96cwc0boTTlnJ12YqOZY6O4tVGFwMW5M+m79HLU\r\n4VJO9oljBgV/C1NouWRJzVjpJCmGDadAIKbVmL50gNwCmpg+Ua21klhMXq2H\r\n4MAGB3fofagxv212XBTuKlwCGO+fV2vWNXC8gpXnkys4Gql0YOwBHpVm9GVl\r\nJ3SMzqHDlbVfebtBEZS9RaEZBFpHFAKDjFBcsfEbHB1F+FViEs8aFGYcbbTi\r\nWOFXrfpiT0OTs77SV/9FlPyEjCcV9sxmPI4vWlyIB1lE/SeecffPZKkKbJ6r\r\nrdsKihiNcfWyJXFOHNcodd/w3LcXrDuQtzBmxCzKypatQehluP6VKSAM6Pca\r\n74PThZmbrvhKiFmP36W2gqqHcZwi5/uNWZKH4nXGDB3UnsXH6vG1g5UiSn8u\r\nqaZHXimQyz9YDoKWnb9J9kaZaNN5s9xgZJkIY1mq2BT8dGutpqKEvtOm7za4\r\n8Ng/AHrI+lPWW50DM3cV6+wDjoWXPE3DUl2w4ad/OaQQMvyarEOF0T7QBibD\r\niV61OcCUjfS+0OTffMbn2lraasKohhKT6QlLDTKpFYja4xXj3UBrrugGMwUp\r\n4Jlq3/waoZBso6yLpB4nO3wISSzds6+FcTYzvRGlqcy+NC6VuelK2YrfLN71\r\n+H6MQMyeTnmpHXic5/uf/waIMfpt3IM3RWg=\r\n=R5Kz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"18c679c73aa42d66117f8f1a88ab7cbde6f2a201","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.fc539db34.0","@material/feature-targeting":"15.0.0-canary.fc539db34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.fc539db34.0_1666637922051_0.1850004746622269","host":"s3://npm-registry-packages"}},"15.0.0-canary.e340b04c5.0":{"name":"@material/dom","version":"15.0.0-canary.e340b04c5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.e340b04c5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0edf1399dd250558ca856f22144797e88ebc34e8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.e340b04c5.0.tgz","fileCount":28,"integrity":"sha512-uZu5wR1xKl2JfRCnQtrNt1TVpgi+Q6h9P3A/Iz/5zvNn2M5/SSYoxF0Aq6lklffBPm748FwUKP+wqJK2YqiyHw==","signatures":[{"sig":"MEQCIHdd6fQS43nzwFDy+TMimP5ldQkbtscE/R38G44RiKRDAiAmOtQuqhMddSw4qRnieEMo3gjvJIR6u1EHf/ndMnCTbA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWHTjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqBjQ//cKVX54BnZVEhohqv1AaoubAetACPmvgKHXqNxQjPrn9LKNOr\r\nmxrMQH5D10OnXg7ASEma+mEkkTo6MBEt4peyl4CYoH/OanUedmrh4Z2h2hR6\r\ndpYC8JEXJ5Vid/Fyo7VTCQ/YX+/2+qLHmsb9IVqwqYkv0RHbx6PI/oxaQTzq\r\nzBpbYd6h2m66DtVqxXvswzefdcZeFbQvrhPAu+Cx6DV7YTuIkek3oUJE7Wam\r\nCcED+wp5SjBQKJeX0MzWSRC0ZgGSE0gX0Bs/dOVGpqATEEIYEO3Fr3F2V04L\r\ndcuGIY12bdXSCy/L+dPDV0bYESPXw5KrNj0y8gRe9b3n7QDUrHh0dywqYhWn\r\nAPK+Vgqo3gy27FaDw69YGOelSjpPXrGRa88dPVcnD5GTgpjgsMWJIV8BoaAt\r\n+iFvv+1mnq2X1BENoNKQCfAAPwBFPhoZ+L8EJtE1aEVEEdTPkEpPbvJWnpmj\r\nAd564DF8BvXEueOUKRqgc6ZRR6FgGWGOYW2uCt0htloEbUYeBwIS0/etSrFX\r\n0NNy9xXM8UoDYtqZi3343a+yeCoNgw4JNNu5w+/+gFShQPn5/5tksNiew2WU\r\nWVsQQ0Fy1xZmZr/Y0VCA5fkmMdWTvBReuaNZt7wWQPCbVxRTSkAK0Vg8HcEZ\r\n8J/VBQd8yepIJxRlEZZSFwu9pjrwRoLfbhY=\r\n=7v2u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f3e39db57f42dc19c08bf6e97cd6918a3ce32dcc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.e340b04c5.0","@material/feature-targeting":"15.0.0-canary.e340b04c5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.e340b04c5.0_1666741474929_0.8421418048662632","host":"s3://npm-registry-packages"}},"15.0.0-canary.2c1a8f8fd.0":{"name":"@material/dom","version":"15.0.0-canary.2c1a8f8fd.0","license":"MIT","_id":"@material/dom@15.0.0-canary.2c1a8f8fd.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9ac2c5cbdfb762fac8aab97300a6beeedaa057bf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.2c1a8f8fd.0.tgz","fileCount":28,"integrity":"sha512-prQlr8SYAeehDtqp388/1ajiqifa7K/jQJuCB0ZzCQVd5z5tmrcmMNiP6GIgJmz4Lgmc5ZnfRYrRiOGiJ8ZHcg==","signatures":[{"sig":"MEQCIGLO0XO6rl5LlXGxZNw7a07NnwO7EkbuIX3EJZpAqSK9AiB3XEf3vz5hSlBqjGZkcpoEHqoOup7RYHPlQ1WJ7ukHPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWW6RACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7bxAAhrdiL4R5VjCgtZOIZprRq7YEVlEjVWwLBNsqY4hsayJvAo+l\r\nCLYIJzwLUqeif6S7No1KMqT5evbmzAuAA4G8KW0J3iiMEFhS4CbuiECkG4Mf\r\nHc6nREOWIHyvN4Gj7jpZYMOEW++ARm5ScEWnG7B7qdWOQNGisEr8vYXOhfp9\r\nxzrfWNio/9nImApOUU04GjnigpYt15HpAkj70xYdWBUDOGT9smw35pvU+khj\r\nzHEcl18KBPlAJ/y4cg/aL66y4o1x2K2nbUSeIv5j3AOp50Bg6G0W7oBQUEKX\r\nwxs8R7WZnNlIZwyrPeheQa/Jg/BIyDDv7v005z8o5kgbpdbKl0IQ0abmoTDW\r\n4dg31V98uTmV4EsBGz+Lyv/RIigDOKG3xydQBGA5iadTVIS74XlozFQUNVsp\r\nudBefL+hzLfwO5i2edrEXMOl0zDoL9X8onvploAwX3iAgLBfofjoLZ5UgihF\r\n0wxYbNft1ljKLmuprWaZgm4qqt/CcKvVGYutcXS1Icx/Q1+YcHFymdNJcdvo\r\nU+Fx4wdFziJVxm2VJpHvEvWnvAlolAOLR3fumHVILZaPWrXGYQqtSK8BOyPw\r\naVBDVEl6Yo1Oazczig2tI6MlmsGo1kUU3hM8XboMgQWl2FHI0IBEK/QRCT92\r\nEamHlvVqbJUvZ3+fZOkVTMQvaz8Lvwnks1M=\r\n=SRts\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dbee023b5e37423b8695520d95f2d00d884bfd5a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.2c1a8f8fd.0","@material/feature-targeting":"15.0.0-canary.2c1a8f8fd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.2c1a8f8fd.0_1666805392662_0.3382911098603154","host":"s3://npm-registry-packages"}},"15.0.0-canary.ecfee946f.0":{"name":"@material/dom","version":"15.0.0-canary.ecfee946f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ecfee946f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8aec7d9d623f7b6c83ef2a63f135cac5473880ac","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ecfee946f.0.tgz","fileCount":28,"integrity":"sha512-SyT9xi+dBur0Vj1Cyrp8b5tW4j3gtuTXwz8UiHFAkZKAG0m441XQjCClhPhpdywPXYE+ycHcd1cAMhLQvopH4g==","signatures":[{"sig":"MEQCIEQk+eu8WLKLaInEcd9utWegDScJMU7yBuvSwCHuEfFOAiARwZWOIm+2e8ref4P5I3skOHy37Gi3LLmROshmuyx1ww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWZUyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpjzA/+J/1qc+9N4UqzgUBJ0Ui8MeZxuPs+jTWVI7wDD07cLw+Mvi0N\r\n4mMgjTi6lnZEYsxLxeBN+1X+n9wXFRQ7TaZSLReyw/dtWP/NVefb4qFv3EGm\r\nVmWP5SNaJteik8jQxAj5Ijp0WimoEeB+ZPUSkrpqXgdVPVNXVd68UuF4KzFJ\r\nnjX58AQl8uZyxKxuL7Mm7wLp/bWGYBUXdYeOQIi9VXkzQA1z7LXyOo4BZAdR\r\nJr7C6nt51ITUKknSpx+Z6vaiL6FdJf4PmCp4Esrz4s74Io3daUGzjpT5XU0U\r\nuHhn3B3Xkjz/e3EWdx9332UYNcj+ZythoMajy/hia/20mZWQR4auh8kqNfeU\r\nqnet66CMt9B8GtjMobhpTWqqOFQRzpG/61JXyb2JazY36dlOFL1CbG8CzzZl\r\ns0hZj9MP8eHbifQgQZJgutjx5o1cHEZZsCvz54DQcsJdGe8zodE3pNRruiFt\r\ntiuJY5nFha0AAkOWu9gaXslzXLKo6l/M/TKt+dR7f9PArZ0JSiaFZ8pbfZ1i\r\n2/Mingc1p5BPgi9Gnd6ps4a66gAJlXZDR8Y+EZtwBffylzdLwzZdW7cP6lGf\r\nFyoWEwFq6e8iQEFGNyA7hpuf1Bc7YA1/9Y7qxyGs5eB3qbbI6wws2ANnmPis\r\nXEUIFF33KEr2YT0LQhoQwoMCJ5r2slQGC3I=\r\n=hPil\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dbe05d725a401275de1e88f9d5bd6cd2079a0047","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.ecfee946f.0","@material/feature-targeting":"15.0.0-canary.ecfee946f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ecfee946f.0_1666815282517_0.7998544583397098","host":"s3://npm-registry-packages"}},"15.0.0-canary.73ca9dbb0.0":{"name":"@material/dom","version":"15.0.0-canary.73ca9dbb0.0","license":"MIT","_id":"@material/dom@15.0.0-canary.73ca9dbb0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b6aec627fbb3e794a13c5a02514e5065f4244b9e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.73ca9dbb0.0.tgz","fileCount":28,"integrity":"sha512-aXDAkPy1NKiP49Ojp+3IRp3Q12+Jx1q1VRUZaQAO4IC+VR6ez4dzxkp1UfgJ/q8UUvmoiFaXNe+eiNANAz66dw==","signatures":[{"sig":"MEUCIQCFInZloIGYBaVmS+fiTCWuX59Ch/aWxRAReG/zldtY8QIgew8QCTyi3Fet1yv2O084uHL51h+P73TNSnNV1qSYtlY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYAaMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrq9Q/8D2codLZAwzmjHy69TOfVmnuE+lm3jf390d4Sp35gJ+3Avms+\r\ncJeidg/njKcSQNpi4qlxSm3B3H4Q6Qtg1JPVsHee7d9oeYAOW0TwpIUZ2s5O\r\nSkJjAxGr98ICDnVx4bVYwV9TKaWxHDkBOWpvYzQ2Ik6YCEcZgJChQfqH3YPG\r\nkZ0gY3Tx/zrLHOnXpAXkYRfvtBeNYhYp3t4GGT9c5QcMoapWGn4JLCb7huOT\r\nUWlRdwfR9ZZq5H1Z5D3ZiAFfMzRiGdINCLDEVGvUQkoHP/pi/Bca0zt1JSRj\r\nKR1KDFv4bGbi4mH7p4ov1T9v5SuukxmOKVtwUE9e2qJiTsaVxfeRilLetZsP\r\n+CrlEGw8Sd3tL6aDU0EI5v5PK5O42jYT/MuQ2IlGT66FJjpEGaQ1awS0rX/M\r\n8Xwb45rWpORNnzeXxAVjc3V9abNf7qKigB2wZuskfou7cHbGWReXLDdtt5P3\r\nDm7O89ip7WUX7bZwiVev07LqerEKUgnRLWgctqz0mUeGENjN3m8A/zOHhXDV\r\n6J1PDf2BGgqZ4BMXNs7B4ymKHo8QorSGAAEFpOosPkHud7Iy3d2wDLlLKDuV\r\nLuFjZc6pPImWXhKUguJpplh+3vjbJVYDp6D3QhcEbvn+rAU7w9U43KvIbR+R\r\noQ7qnZoZPKxILdIi8ceWaORJOeiuYxhc9uI=\r\n=Yf4K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3b1ecde6148e6e8d98c4b0c8a4dd2ba56e95586a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.73ca9dbb0.0","@material/feature-targeting":"15.0.0-canary.73ca9dbb0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.73ca9dbb0.0_1667237515796_0.7080262980220722","host":"s3://npm-registry-packages"}},"15.0.0-canary.357f2e5f1.0":{"name":"@material/dom","version":"15.0.0-canary.357f2e5f1.0","license":"MIT","_id":"@material/dom@15.0.0-canary.357f2e5f1.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e9c703305784f16af2a13e7b781ec6a9267a8855","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.357f2e5f1.0.tgz","fileCount":28,"integrity":"sha512-ViWgzBCu/vo3XZkc3o7BsJ/bD1HuVYV+lxUmsWxmocOMk0S6Z170Ql957m+6M3oQwRDRN86af4LTq3jEDmZUOQ==","signatures":[{"sig":"MEUCIQCD0Td9i9Zt/Vdv50lXjBchJWYQs6GUR3NT7z+8Ux9FrgIgLh0FeWC0c1rR3Z3kmR6NDGohdS29u/VCdgt6pn8UzSo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYBiOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoThQ/+JJSQDnHd16Cs3Qn+i781xxoA4uj1fW1k5PeQj04q46C7HWBE\r\n62waAiZsppp14XYh79jClTMp2eg+bZUtxoTtruBT3econ5z2tl/ppPzqUyW4\r\nNTA+JA7GyuHsfKD3HHnlI4UVSeBZz1GdKdThkIP0GLiVD7hvUynAlLCBXjEk\r\n+58z8m2Z1zygjXHuhYPtuZnTGJH+WO5Z6CW/bg+JaSNK1n6vbjzQHfU6Rsx4\r\nJp9HlvCCjQ7xGAzVm/zk8KEW0WAExdWiM2VOfn7XhZ0JyXXh3tA+RrwEx1/d\r\nHlvgIfaiA2UumRIfYw6VT5aBZM0vlfwHtTtY6xbflOsJJ1WrMLNYpI5MeuNt\r\nQYaC2JdGh7F0meCoAf+mG4j2WCwmKKURFz0Z3LGeUAXydYI66UaE0OMhENgW\r\nUAwQe456qc2Sosv9rdtNOMEF3Yjd3Z352TvLhskRs/k0sLJ7t7w4OJ1kzNpw\r\nQ8z+fUXeJcKl7wurlydMhZqRjLlfuIATnTC1kn7lBw6Cc3zADYpwMqQZVF97\r\n/4xCj2HO6VAC0JI1hxl2IlYSseBNSL62Vsf/bxYoJhlSlCYzQq1lTxk7GCB4\r\n9PUGfMLbJQVBDd0p2tjAw6LxlWrdby/UgUe8kvEQw8CJCFcm4qj1Iz7HrovK\r\nbTuHEi13fqlWtdOWWf3e11NJJzKPbdmUajQ=\r\n=zauB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7f8af87642d395b497ff80efe06544dd459b947f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.357f2e5f1.0","@material/feature-targeting":"15.0.0-canary.357f2e5f1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.357f2e5f1.0_1667242126463_0.42583933096230453","host":"s3://npm-registry-packages"}},"15.0.0-canary.eb103d4b5.0":{"name":"@material/dom","version":"15.0.0-canary.eb103d4b5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.eb103d4b5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9fecba70d1164325ec752dc1d756ea09310dd2b0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.eb103d4b5.0.tgz","fileCount":28,"integrity":"sha512-ue8ozBVrrcM+r8tY9V31jZnOHX6U4riJBTqFwEFwmY+fkCsrPX2z/wEBpUpuC351h1qRvppQt/nNp7eyXJY+jQ==","signatures":[{"sig":"MEUCIQDv+lBvXgC/2+0x8eDjVSPul6ZmsS99lLGfKce5cWOhOwIgYWZyC1jPm51sWvfdMowIY8k8B+cpdYaliA3gHz5GoKI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYChKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKoA//XqH8al3UX4OWOvWrsBkRdQkCy6Ofu0/wJ9kmQdCKPoHNeYqG\r\nVyWnqiiF9IQgRS2vIFqIEg4CkWUnL46GPUvAqd3P2AwnK4U9tXvAnJISfxHA\r\nosuoarGd4L5CqMtSKeRKj6E1aN8YZpIzs/M4pYC3ydrOBhTPJ0OnmIjoDVWC\r\nFMEExsuQcl8EytyZmlUvgtDFGM+WnOMBQkYKq0aE/gnDPW9wltDiiALI0Maj\r\nMxubmrZ+r3VNZnKAMUECGis8rRGSFomcWURiYMnhJV3CO0Kc6mRR9bnVW2GW\r\nZlPfksFQHlIa4VXk5m/mgjA+HTK0EWc8+090JuBJI5Z0Uix8fe+8NRaCN6gK\r\nP19QP+4OXMus/i1tiBuhHxQhGrLKTHqOmFPtz3aC39xauEklUW/vV2XtG2OT\r\n8DqzgpvLizkiFyUjKFwN5rKJFJDUx+FvdzSR5HfXM5DtA2ty9NssAJSlXGG0\r\nVpgoSIYUFbSBHo3iVbPsS8EFT3K3tOMSLO2ju9GfgydPVrHmp4Wx3GzqAOy1\r\nglIkO6ihih6XPo8OsYNFXZSGy71VBICZfwDVjJPN9SORTd5F0/+bCgHUQ3x8\r\nC9i2/r2UYOZ+bILxVn68nVA9mcw1hAYu1+Karklk7HfP1gxx4t0vifTXf6sq\r\nqVGlTGeSguAMI7PZ6g1/trJO6QQ3/XUG3dg=\r\n=xZ4v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6fd82c2abdb8567ca00c6847142375ca8ac18b90","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.eb103d4b5.0","@material/feature-targeting":"15.0.0-canary.eb103d4b5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.eb103d4b5.0_1667246154083_0.8285450670714907","host":"s3://npm-registry-packages"}},"15.0.0-canary.af5f01223.0":{"name":"@material/dom","version":"15.0.0-canary.af5f01223.0","license":"MIT","_id":"@material/dom@15.0.0-canary.af5f01223.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f0fae1c234921e5c51d746ca8fa67b13400ac0a1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.af5f01223.0.tgz","fileCount":28,"integrity":"sha512-30KmnplYGSgxcLNn1DpycAxbzARXNrWHqxy5gNt+Juiv+HX+WH48Gi/DzhKkYuHOiiC4tznG4KGr/niJr0sLTw==","signatures":[{"sig":"MEUCIQDh9lDw6itq/8vJNARHztiuJt7y1NZBfQMXQVDf2qEiJQIgDv+yh9jEyETWCFNI5HBztkhkyy7lnHEWSCdFCrSPrV4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYWcoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJ+g/8CcPF+hNP8pqVB3ht1B1dXdSNhE5GLqRy5uJTu6r6uXedM60/\r\neZU2oP1T1hr3eLd64U6gT1hK3qV3A/w8Re7136BP9VR1FB+dryFlyOo2NWuI\r\nay1ACSNxlgfXlfBfMJ6TJVbgibetWgv3aG3KwN6petnXirOngnimTLETSjCa\r\n2w1wp5zPPbRtyQ1U164GbHe8gHqSXxeyLOJXNkfh53gF5TaLMdREwoa7EiIW\r\nQ7kfNk9N7Tw+1e7vUdEr4UyGHiyaE2m9DzasXRXdCzvuKfAClPwyTRy+p9l8\r\n6dXHCavtPHLEe8noOl/LV3V5cMeap0F+Wp43nyFyAQilCu++lr8rnJ7aHHi2\r\nvejaitR44rKNhAGnAmtn/Qe+212/DDBJU7fsjOqqY74+/7BBWUF9R5xJ8Uwm\r\nVKVK7YA9V9SCEiWdmO/SXRiCJgxAbvl6fFOTbfCFpp9liyV0o7oZkqtA1b+W\r\nSiSSx2pzU743Znups3ZqE/XfusSXxg2zguExEdsDe3vz8qCsHkf1pJQQLAKU\r\nZspb+STVeAiO//FATZwNh4fzlnJ27pc7KVn1uZTH9oaYgOuHFZPPODry2nGH\r\nZOHUUVLC91TXYaxrnX2bYNVTePpwXyxaSw3orAcrfPLw7PFU3AgxMjvbCDdI\r\n582tUV2214RwhAkJGacZApjSKXyyTfk5yn4=\r\n=bQKe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cc7d8ea77d18e30bad947332164ac02701e1ed9d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.af5f01223.0","@material/feature-targeting":"15.0.0-canary.af5f01223.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.af5f01223.0_1667327784504_0.45190256474409995","host":"s3://npm-registry-packages"}},"15.0.0-canary.58733ef41.0":{"name":"@material/dom","version":"15.0.0-canary.58733ef41.0","license":"MIT","_id":"@material/dom@15.0.0-canary.58733ef41.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a9ae7b48e9060f6da702fcc2527c2a528e847806","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.58733ef41.0.tgz","fileCount":28,"integrity":"sha512-vgnbZe/wrYC/JGvJDQ/mYLnMDUWzDfARCGwE3eIf/CzVTKLlnLKkpNkadd1RihTUcvx2MUcl6F6eld2Xj41LcA==","signatures":[{"sig":"MEQCH37ZwJeUMFSO8vwXTlhj3W20z+D1Jbb/SZYdQMd0j+ECIQD6kHvy4B0lohtsyzLD35nr3fi4P2oDYwJFsDIhAEO97w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYrKGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqB1w//WgDLT8r+aiWKnRp62NJHC6RaRkVqQPpM1ZRjOh8oS2tQHgW7\r\n0PaS+YcVHZXeTbDhdSlEFmsxu6p+EJLbz5w+WcYNZjhvM44bbs6QhI5xLO80\r\nF5fqmeXv1gAHzKNeZfk73pGXMGLpGfio1odQqP5h/CyZHhw+9GeG++Lfua1P\r\n8o8EEd6cH2uqAA+jc+rJKSmASWoVazDShGDsoJgPLlhCAIJrzBDhuJjfhnVx\r\n+y29RcrViXRFawT4ebp+/jkyFrc17SZz9zZMBTyMk0wW+/xQdbMw5L5PkLR5\r\nAxtrM+ov5LMoYyIFY/4TBAPDA5AdhELfZrZ1oOBjchslbPpp7hfb3X75JwWy\r\nQdiE3GxRuDrKJxqdbzr9AtFCD3bkMZmD9W/jca5jrhJKsAJ8eBqZS0yr5FVP\r\nKVOOhiGOznoAufBiJafOLT3KA+TSm4rfKIf1jjuxZuNk9pHPGUiIHz4ss9Zr\r\nknEimB6+MSTKHhmq2fs97hJSQuvD/4j291cdc/7XFIy/I94qh6XcaB6w/lpF\r\nu+NF1ePAYSnOKIT/8NRZX7HmR0TAqDAMb+yMTI0XBYbOhQvHEoBvaV9gZl4p\r\nop+3sqn+wGc78WrQV2HCBFc69bveMJLr9wZbLlKkXZUMkhQDk6eyAHr6Mc5u\r\nRrSOR+UelvOOhcc6kVp+ClZ2uCP8Werw5Gc=\r\n=i+oc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7754bbdf66b8fd61976d3dbbe04b991d9dbc0caa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.58733ef41.0","@material/feature-targeting":"15.0.0-canary.58733ef41.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.58733ef41.0_1667412614215_0.3840333978382757","host":"s3://npm-registry-packages"}},"15.0.0-canary.909b48215.0":{"name":"@material/dom","version":"15.0.0-canary.909b48215.0","license":"MIT","_id":"@material/dom@15.0.0-canary.909b48215.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1303ced4c502ccc242ffe8d7701691de748d1057","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.909b48215.0.tgz","fileCount":28,"integrity":"sha512-jDfuLY5ZuqwEMsw0nOdECNiV/acvJEXLOPECXG0A3WK8vCLs9iU49U+JxGGngBLrjITzSXQMH81ZZm24QmrOMg==","signatures":[{"sig":"MEUCIQCGYaK6xUEtB0HP8IH9RsyRFOc14+jKhbm7jw0GYIO2BQIgNwX40x9HNtye7uII0ALoCT9ciXogsVPGDl3YkagS29g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYz52ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoBYxAAjbXN1Bay6D3o74AVR99wL7AzCQ3VrkhEK1DMS0whlDAe1ZbO\r\nlTeGTIrr26IMWNGf+6uqKF9qn40LwZleSueMjWV1UCsobIZC0LLuV/B84Kk5\r\nOf3VqAd7XRzHhiI/J8FjVY28ktBFi3wzHW6rnqWYF5JbhL2Bl3+MOItxB5Xz\r\nwUXcwlEGFprmKCgdOqHRAaUa+Bs0ahLZR6HqCWsdRUa+kIK7LGkcQR9GOwE4\r\npUtnul4W5alfTiO4U62k25xZdxIl/MeuzMMouodbF0RM/bGeMLaQRNObu69F\r\ny7rosbGFVfdz9pESqS4nXrv/0j6ktL/Fvo6ct5kk2mh+1BcbxsWE974VPcDy\r\nKSw+U87lPAfmRTt3OubmFT/NUXRTHHR/Sv03TrVcR32K5eoTdJ7SXDVi4BU1\r\nGz3ImEtKT4AYXhaRCuc6EvVULfw/Q8g6bb9qAXMgEKWio/Pzclt4GImOtbaP\r\ng/KNu6oMj9Dzbp/GMFSR7oQb4/DnCzCTEmEYxmEV6eg5uEm+YjeO9d+/+Hs0\r\n/pDmB/aMlx883+ql0vP7wQybpKSwZMOZ4G2jp1FNjWxMGShattI0HMztSxgp\r\nIfUS/JVbqbUEnpBbKB0xA0dXWSBIpHTvISTO/PFL6ufOJ/KNl5anC5o+Ocv0\r\n9ZSg1i6PF8uAp15xdoHYkbxsI7E3MuMvYac=\r\n=q7cr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"68d372ae12d017bf28fa2ad3c86cad4f70609116","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.909b48215.0","@material/feature-targeting":"15.0.0-canary.909b48215.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.909b48215.0_1667448438693_0.2909355223707404","host":"s3://npm-registry-packages"}},"15.0.0-canary.7f17127d5.0":{"name":"@material/dom","version":"15.0.0-canary.7f17127d5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.7f17127d5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"722859596c0462a2a2401947d1768dc3ff0e1949","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.7f17127d5.0.tgz","fileCount":28,"integrity":"sha512-cxFSulLWeBVWzVgAx5pj82JJrWYCO/+5v5tPbiqt0spBACEZq+Ir6l4RqEMfezSLtgHD40uKxTix4FRhZivn8Q==","signatures":[{"sig":"MEQCIAZKnTGdTNkU6Yw1/kzLNHOqOjAl12KZ7GawYor9ymX3AiB5W4Q2y2xackmtaor9wSoLe3DxcBxg1lsehFf47uLpwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZAX+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq1cRAAnYUP7d8jw5eyERSB+yzYf13gx/8iraCZ0Db31OwHfHFSWvC4\r\niVAECGEF0zH9OWdgCzMB6NGK2w/2HNMyjbTiENJ5WT2RtnuRGIU5zwsa5qy5\r\n7ClyStDYxnjhy876BqtDYM171tndPZVO2ywPg4eV1iCbJZjAU2O4nX4Y+Hhh\r\nG1udthaPx8oz+qRj0UYQtNVY8srbpc5Dd+QOTJUML+bMt4hobzMKnz4kBtnq\r\noIwyxgGyqC61a1+TVuPhmmbSNFEur+tNrJQprsKpiUfOf7DOCV4YHAPHVFiS\r\nTktnu5BlGe517yPr5rZBkwaq3BX5tOHpB7lyxu5I4knWaHzMJAIIYdJEsCgO\r\nI+75g7mk4WvMRCdI3JqdO7L7oMQtCZyOyi8ZfQiBnykrBEs+0VrxEs9H3Gai\r\nMeQuT8bKiYmdlT121b+tJOIjExGHR8gJBVN0JrYY37fvJJUeghTkwY7CeNKH\r\nUgq9+PHrgGO5yso7sS6DRiLFAmgI8gCOy8AQl0wZZGC5vLOIPwGsSDsO+g4Y\r\niwTpGxEJRXt8uXQ42UgdXGeii3kWMBnNVYdnKH8OXEQRYwXfIrU3ZdFUjETa\r\nh1uu0bgWpSt/WaqROTqUGHRbXbPxwGTIdtN5Bw3zHvHnfKrumbX8WyY698I0\r\nHD6nANheipIFKDRpkZSgl+B4PJXnywmypC4=\r\n=t/EI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"26e22af93057c0fa00e7fa9eb104abdc96131eec","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.7f17127d5.0","@material/feature-targeting":"15.0.0-canary.7f17127d5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.7f17127d5.0_1667499517983_0.3180752757297438","host":"s3://npm-registry-packages"}},"15.0.0-canary.da95e2a05.0":{"name":"@material/dom","version":"15.0.0-canary.da95e2a05.0","license":"MIT","_id":"@material/dom@15.0.0-canary.da95e2a05.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"66df8621a993c96d04d92d41624dccfd07d9147b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.da95e2a05.0.tgz","fileCount":28,"integrity":"sha512-LGeQqx7/aK3vDRnWgkyWLC4P3fQ91DofA1s53PfMHu+yrO4BYx+4tYKiN0+Rtty7aCycmnuwQii/Z1HH/rMqRA==","signatures":[{"sig":"MEUCIQDmqwAynW0qn7cLtgNr8HgSNvN2ZW5D8vfxQK8x6C1DVwIgY0MhYGi+POdTmdWX6IJrd62cqh3BQPSLD3kS69gaVmo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZUS6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmruDBAAgY3ZXolTHM4U28+hyu03HOO05nMoDkdZHROI9FG+wDMcWnmx\r\nV083SEoqN7JlhiZy4q1Br9A/ttFnhA4OEI0oSrnAVIB/dTMg+d5XGf3iChZT\r\nTBpppzdSf7pLmFjiQ6mErPRzjz1tNSltmCCTEcsC6XTEyxzgGpY5oH2Nzkyi\r\n/eNtGzOphq89UyjBkrpe0iNwBiS+g9EXACELlcJ4CRwLBWSwOs2Lhv5MyIjE\r\ngR5qVCrOgse+pya/qbDxFSm9UO/XApw7MFvVlzxKBmEfxhl9TFCjfP183RQn\r\njZyukJKopRzYPtNPAd9Z+L4t0Y2Z7PkPK1Z2VkHN4Qt02Gg6FOwhQYHdNti4\r\nUrVe37R2uhPHZkdoHj2rF/OCNHPCpDzfKvH/A0u8hHhz0nW1dT1o2kwZXcMy\r\nfn9dkzCABYRh5Z1v1gytdKHcSgZXJXRu9K/iFL/bc7XIDJV4cDhEajmt/f7V\r\njLqs/6W9H70PEEyDKwuo1BhkVE+f7XJW15RnBmZnOEgyr9XT3+yYozym+QQA\r\nmS0R3Q2tSEFfWKb5olp6mVjGrHbUSkjU7uni+iUWtUhMRM/RSpvqDRQVC/Wc\r\nP6v9zgxn5f3N18FIoSSRFUouRYJ+ZsrLn/6pJeU88eIlRAxXGm0WRvhM3DoF\r\nhk2qW1mnLP2s8ZGhBnTOnBTNsmM5STRtITc=\r\n=cdij\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"eb47dc6e824d05fe1a33c55066101c99ce1fe241","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.da95e2a05.0","@material/feature-targeting":"15.0.0-canary.da95e2a05.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.da95e2a05.0_1667581114309_0.045073176572092644","host":"s3://npm-registry-packages"}},"15.0.0-canary.4832e2750.0":{"name":"@material/dom","version":"15.0.0-canary.4832e2750.0","license":"MIT","_id":"@material/dom@15.0.0-canary.4832e2750.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4a0685c69f20cb57fe7c52f7bb67bf56a2df13de","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.4832e2750.0.tgz","fileCount":28,"integrity":"sha512-jqxTd47OSokU8/XWK02DYjPcNKHiHMiQJyakLxpJ+O49qa1Ekl1mii2s4cOnwIhxoeuEFPvyydpD+q3YO8LafA==","signatures":[{"sig":"MEQCIFeFvni2LTWqYWte5QiIk/abb2zBFXdBLE/hQh4ES0qIAiAQiYyMRRb1ENJEI1L2RvVeZi9EsgQ+Y2gl27p13SgVPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZXyBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmroFA//VYIVnLNw/Xh4nZK2ABQCY1aHPcGkUr7UwjaOB8LlsyPpq7TC\r\n8C2s3iOKjjdOlAVkGvRSX4PvyPgncGtPDs+1YcG7EWwR5iNKHUFujRYyVs8V\r\nv/S4L5yR7I3b9u1ZhFHwV99o5+On+G1onmqdYcP0GIQRXdTtzt0aXRSM7Igg\r\np7AGI7tm/uUmZWV9l+pXnmxGhgJu65rJoW+wKbaIkn+uhuclacl4eUVrtYAJ\r\nXeFyamOZmxPgTUasAvitrpb85Hsee/lDVKXi15TeogFgYJtSXpETmjblhVUp\r\ncYb3VxyqP+U41P7ZbDwU5RcjgZsdHA5ASN5TSZnAf9xCTEu0R2kAvt2ovJ2Q\r\nECeb/Nv8eAyOXR/6M/in3pMtapH7yCYEUXkTTcqdVemlvKREz0mdURtoAC6r\r\natcMyGf6sTtV9Atmu1WRIWfd9TWcrIa5tl0m7m+ds6mJDfnA0TaEc46DNClr\r\nX07MBQxjrn9c7ZhPFVnWkYffl9fFBLrBvNvs1cHzQARnxnXXWY6PCwBGinMk\r\n2bpZaKZ3tZqTLGPja2ptn4dEyXwzmenr0LVUB1Ljz+j9d518twN/sL9rvDEm\r\nijlZq13JydRaVp9tkQjywwe/cWqlRe/rwyxrlNwyf95AY6V/zrSqaETchn1Q\r\nvAO9/dSB1kf4jKcSyr6ub75pNtYrCGYfhWQ=\r\n=75Sz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"258def578bdd5ff3b52dbbfbe6f06e14b2b74045","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.4832e2750.0","@material/feature-targeting":"15.0.0-canary.4832e2750.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.4832e2750.0_1667595393181_0.8051734499869267","host":"s3://npm-registry-packages"}},"15.0.0-canary.215506426.0":{"name":"@material/dom","version":"15.0.0-canary.215506426.0","license":"MIT","_id":"@material/dom@15.0.0-canary.215506426.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2e11897f4b2c75628c5eb86aeae7456f3bd9e634","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.215506426.0.tgz","fileCount":28,"integrity":"sha512-+yWd9AiolBgTr4QRX3ju4wDEL8Ng8wLVAtlaiLfPrwx8I3oSbivDmVMYox/ya7F3cube/hAobjHbRXrdm7+07w==","signatures":[{"sig":"MEUCIHtiKyOj8cgd1C98A+ZEOEHJysvdlAcrnm9hKldpR6MjAiEA+zL6kLilvq7BuptCFSTS+qd+QqEjQW8EPfuCK4Po9wc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZbbaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpH+w/9Ht+s5u92OAW9yiFD1Bl+M+pVTAgQDKg91zmhKyIk2T7EAaQQ\r\nq3YrquLMuq5l9Vg2qWf7xVKcZMgQyxsa2f+m2YNreuqaDPf8ePpeTMo5LzhE\r\nILAD0+CG/DIiU3MQI9FIz+qgpygL87W8VKzKGqiCx6D+yS8NmO581UrgFArq\r\nXQNxvRADXxejbdg2zXzcvZI8MM/gyzUst3xVbTSSdk4wX7ukWKwQysHBOokM\r\n80/jRP0vqDH0vzU7pew6MwWgz19lRWnxyqsZFbN/dhPiX5U2oHhJC9tYY/Vq\r\nbcH3JlF0Wm0AwfvlTFJ5EDxvBkRob38/0zrNrleb3KBQnovmqq/I95KIhoXl\r\nv1nY76wSgm7Vtkohr8UT3U5+y9qFFIwAWCdtWsAtVaADQTQBOseu/C4aSqek\r\noUhxKNbKnukVsLtu+ogQZX8EYd2y/oE9vy7BAeE7HwZyLi9UJRwpE3ehdIL/\r\n+VWjPZnN8ULEe/CUQ5eO2LAV2IPncuatSZ9y/sq00otXcFH0q71pBRx4IViS\r\n2W6tXyccYTP201kYuMQEkK9h19yPvOGeHrioA42lQQqHDcJxgiJEjwmcPXJn\r\nbPDVvhWl3UpbP2ckQ9mYAAXyUUDI3TgepGSJ7nq9OFqTy+kpH3L/5EiqDFiw\r\nU+Cvycifao5g1hoZfzJKodcIRZRDm4QhEpE=\r\n=kiXi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c7da5104ce280eebfc1b0cab2279b8acb906babd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.215506426.0","@material/feature-targeting":"15.0.0-canary.215506426.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.215506426.0_1667610330699_0.06949316694848728","host":"s3://npm-registry-packages"}},"15.0.0-canary.4cf917476.0":{"name":"@material/dom","version":"15.0.0-canary.4cf917476.0","license":"MIT","_id":"@material/dom@15.0.0-canary.4cf917476.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"11052630085e3775892d682d41a55fc87848ce16","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.4cf917476.0.tgz","fileCount":28,"integrity":"sha512-OkNRSznhacEP5VqXOohLWPlLlcyPLVg0tLt/33Ld56MZDpXMA7eWyFq5L5FDSbQZ+dYDlNHxt6d0Chd6H9zwNg==","signatures":[{"sig":"MEQCIE/2kBVaFu4aX6qCl2GoDbKnLZOwUk7JMY5N7wLn4o9UAiBQwW+TCGEIVS0oIx4nnbzpZLn/uXY/yF1fZ5d0dGGq+w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZqV5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpekQ/+NA6RrRDyuFDi2iQ5P3MIDPr8Sr8QWQRy/kfmF/4rxCMJga0m\r\nAMr+BFB8+wSgO4pdEU48ppp2BUP7IbxYgRFFEfrXbA9uzvd3B114pHphg2ZE\r\nZs6ObVIUGF7xL9W/vbHPIirnlIMMoYJ2T59kKqA++GovRuppH3eLtBA0xvmg\r\nz+PkQpTF+ZwJhwphFjaxQCTH3mVlMbAdk9owwcxV1AiT7E9vaO9wuK+dIsLy\r\n07cydngAwPCi9ELjvOD8zcFf3EuvbBAFWHCWeSLXlFIe7Jn2uKB/4KHqh1bC\r\ndZGMtpixl+T/6wf2SJydDnOsdnCdHMOKqF5aDbxSY9sR1bjIyva3uUMQLgZT\r\nUJhnqxgWhzomtRKYoPMO29BALmO6PqffZmutAsh18OYqPluMPOJI3UgSZ/fO\r\n2OZx8CmANc5x16GM4waOUnGEFgCtiUkXQokJ6TSB5C2uWRLCs+gpptL/PsVD\r\nJP1z6r72EbvF3/NSmK2u1mHbaHhCIGbxlhoK6r1ETeL9XdxcoLKhxUhN1QGN\r\ndO43g1IkyYEtbMsv8p+gJlj6ugOzAqVT/wMVz7ylgww1gh+H7sh7JXizbYWI\r\nEPomYeoeq4HFiDl2rJachO9JK41zcRLGTchaFgmoWanjetgeIf84bhxnGQgw\r\nSy+yHJyfMIBOZ5ot3vP0ITK9Kdxz/SJvVSw=\r\n=jWXl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c7ef38a54cc085b34eea4d38f143f3b65dc649e2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.4cf917476.0","@material/feature-targeting":"15.0.0-canary.4cf917476.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.4cf917476.0_1667671416822_0.3408148975617109","host":"s3://npm-registry-packages"}},"15.0.0-canary.eef14bd32.0":{"name":"@material/dom","version":"15.0.0-canary.eef14bd32.0","license":"MIT","_id":"@material/dom@15.0.0-canary.eef14bd32.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"90d147625d8b265fbd678724850db962df90606e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.eef14bd32.0.tgz","fileCount":28,"integrity":"sha512-5LtICqCKPxNpd8dAdyDtkPGomZ0vBm/jO47xhpOfnosgqWwXP/qhi+gDQX7cUo0x28K35JULNSO/jGygtDdYiw==","signatures":[{"sig":"MEQCIHxFRdylqcBtyMUrMZPu6IQJurCExt/Z7XaLVGzoTsSTAiAUbU1t/XymgRKCt8x/z/KcXE6QdmbzDLOU0PsWXpBEfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZ+23ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJdQ/+LUQhMbCtf0+yWpk01tdXGBPuD70MLlXnc6JdMZlkvum9/dvg\r\nGQrUOiqkys7A99QhZZX+5wQF5NwfUPgQiOKsnSajQjgIXml9yUuGkGRFtumA\r\nkaiYWE+qjMqbDihK/k2pkLrNykkj2PPtA3h+pwBaL1iBkDWdnRy6PMYd73s+\r\ntp/johH77LsqxtgaySnwDppd91rjIHC13fUBun7AW3oJozUXD+4lmC6TcEmK\r\nTs7B3zscLyTrPzXRqeskDOgMuOu6w6aIlkHJ7/EoJ5SlJCSEIcVfUpx2mnSP\r\nFRfG515dPTPHogKYJJ5gb063pUrmt1zkhUrzhKv4+ypRDt5ZZIPkRwdG8Khb\r\nmmJmt5yZGsa4/LOzwgL7WOdnVS+qCyLHVigE+L4K6xXT8FA3d66WWFpGdH8n\r\nuu/i5NZgufCcNpfLQ+2MxMv9A/di870EZPDg1VlHFp6zjgucJlQjAq2STvq5\r\nTKp2OIOU2ok1AsUPBNitYRf3QOQnJVNUzbcAfGA7++LpW7EisIBqqj0xLtBY\r\n/TmwIZIGD4r0ESNl3KEGR9Kz4lW+pgpJKXiPj1pqvDU0fkcXa1Z4ByvynI69\r\nFvb1agnpAa/DgQ9S0ezerbUnQF3VrSNp+fu3SAFIHb3k0lJN0vcwOVvWRo47\r\nGIxa9nj7HVN6kB4mQXA0tueRlMqKFBhdlT8=\r\n=tk9+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"40acb6cbe1201f5ef758bfb96da3145ae3c4c1a5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.eef14bd32.0","@material/feature-targeting":"15.0.0-canary.eef14bd32.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.eef14bd32.0_1667755447256_0.10548587704373924","host":"s3://npm-registry-packages"}},"15.0.0-canary.6faa29fe9.0":{"name":"@material/dom","version":"15.0.0-canary.6faa29fe9.0","license":"MIT","_id":"@material/dom@15.0.0-canary.6faa29fe9.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"04e233673a9ca53ee36ab6b53df13f6172ba7fd4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.6faa29fe9.0.tgz","fileCount":28,"integrity":"sha512-9txDQy86k2Ibtzdw+8raGNA3+697P+vrr1dmIEMXiTg3PxIEEQ9FdEUccb/l4tPd3t+nPEmFHiOU6LCdoygQ4g==","signatures":[{"sig":"MEUCIQDDJ6q05MYjwAjLjeb6Nj9gnt1SNspELSwSIyg+CFHB0gIgL4O7Jgxc/2dr3Av/Q19cY3fYNVwb9u1d0B1W8l8T8vI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaHe6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqUcQ//ba49nrXA8L2Tiwyq9j4Mc1LZO6sFLQReGyz984kq87gf17ON\r\nxRAcsl401epfQIuUCRysBHSzS+Gk/JbaUEJ5wMqjfnJIYd8hzanytLLVDMcO\r\nxzDNCuTNJVIGe7RJuC5b7wGxCawwnjEkTBe4qB30i13xtWN0e3YK1FxKlUsU\r\ni4gNTjOwo3HxTHwKCD7fy+qKNAyfkf1WLCnllrpQXBJBCxcGEIlD65FTBraX\r\nfmD7T3682BVhvgsSDJEZgvLEAx/tg2fZcPmuuqoWeMo9BAN3XtKRYXMz1fbX\r\nFh0ClUBiUVpl/tF7nMBw/8UO4IojfonQqNMEfx5y/Zmu84nZXNXfys80mN6D\r\ndy5i1Eo4DPC9xLOvrNuZ1RVcUrjHJn8jnaPg+ZRXAHpNATACQDSl6WgPhrv6\r\noWBRG8tvZiHwaWml7ZOxSOM6TtpCzsp/F1XKZxEbfsMCO5L/6i6hjXIgVOkt\r\nuScPx0GVA4kWyVEVc6DKDlhf8snCmkdDww+mDp7aMKRanh2+eJNlO1a+dq1P\r\nnptdcq/X7RVW3JsjmLXCL2UfJZI796pxsutrEQbqZ3oEtrZqj25FcURgSevr\r\n5OeTJdIQGnNIEC1sWl/YFtpPtWBlyUI5HHm5J2Q+GUiwQ8JJEeIjazF8gzLZ\r\nSKCnJNMDlTJA1l4s2pTz/YOy7b0I+3aWSTI=\r\n=EFGR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1403858386443f73c0593105b5654b6ad8596a9a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.6faa29fe9.0","@material/feature-targeting":"15.0.0-canary.6faa29fe9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.6faa29fe9.0_1667790778276_0.9591166243626479","host":"s3://npm-registry-packages"}},"15.0.0-canary.9af09b967.0":{"name":"@material/dom","version":"15.0.0-canary.9af09b967.0","license":"MIT","_id":"@material/dom@15.0.0-canary.9af09b967.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c8168e50870b2f5be4a96a2ed9879b670e78f61f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.9af09b967.0.tgz","fileCount":28,"integrity":"sha512-El7L+VXt3iPHTHR0N+0oHB5Blnrl5wXpBJ6mal2rGneIdvYPfQUsrsGhrDIXF7ccyHG15gyUl9+gqe2OyPAPVQ==","signatures":[{"sig":"MEYCIQC8jjl2weLz4hLQg9y6nN3rojWoVR3MVscCWJCffUxlDQIhAMdOB16QZskFv8EPxp07mMyoPJy5nNZhO+htVJ0EtBON","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaU3+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqpkw//cX/SuUNtOdvbfCjkTsHC/RFTjP9n3FIo7o+6OMyN/17Mi4Hd\r\n08LnVmZiNC/tA8VVODIHyqibDc//PfbCtVBhABKOBorH5gQ/co30Aj0hA8IP\r\n4pvlHnwOL9uK5kUjhA+AhZlO3mDolyvQHAhuDUMwLOaA7CTigSS9zKrFxizO\r\nYSjzQRsnr2mC51LJKOTsU35IFw/QZy0+cIGXt/NAPUpyv0lbhqvhLnA/tVs+\r\nmPiRahTJrEhf4AsE03byAeU1KYB0YiQ8IcvxTPUMYAOOKHLQsCRIDPZ5g0je\r\nxZaqsGU6AtrebeoW/oyqB7pSGV49hgAjUoYNkYG1l5QJNGc2zliukkS6/9qf\r\nGQM7FF9c9nO6JDqbWWmuQ6z19uOedwxWUhqp5V6t+k5qN9wbHInjCtVUb2ic\r\nZm1CcS0Iv5JnqXC2DvQJXiAvRSjLGvjreia+RSrlnmbZNcC6K0OE0vWGzCRH\r\nqBdmqvkMGzFbSmapS8zUJWpLB3YSuhNT1SLWfy27w1Q977dVjZK1ldu65ftW\r\nKkPMANwYWU2ljRE6rQCOqvtQbpCF5jdEOwSzGeKwVKYOPLKLZgZDcnqwrM5y\r\nFdREHnJmfzNLUqDPhdpmgFxGA1rWz5tfFKj4VGyZk3/s6r2Z4Xp9526IwcyR\r\nbEgmsMOHpW4gp5Mdi8X9WzbSAg9PG0Ms1kA=\r\n=fE2l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"745e702463a22f4c5de6e94b3527530a9bdcc9d9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.9af09b967.0","@material/feature-targeting":"15.0.0-canary.9af09b967.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.9af09b967.0_1667845630274_0.2116929929450615","host":"s3://npm-registry-packages"}},"15.0.0-canary.0f54fbb93.0":{"name":"@material/dom","version":"15.0.0-canary.0f54fbb93.0","license":"MIT","_id":"@material/dom@15.0.0-canary.0f54fbb93.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bf2c148656bf6c8b0f4ed09ca77f02a21f067fb4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.0f54fbb93.0.tgz","fileCount":28,"integrity":"sha512-XMSvlJuW8x1jhFkgAC8CSdYXo4c3od9fQCtDu5bDrZOSe+av7Y9RlyyVtvzXEelHIJ6Kh3IZcCE10ZFLxb1p6Q==","signatures":[{"sig":"MEUCIQCehlCCa4LkQmwjIwd31DOLHusc4KgE62NpzUR1bNs7sgIgdRb329KZ50LDAbaf9ZPeKav8+2HQfSzEY/6GgvIzTfA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjatB4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpiuA//Tm66zDrZGI58xmgnn3cI/ZSFw6xTDXAuouvqaS5oI9xPfnaz\r\nmt5RH69UHgeAyDDS9jLtZZUioZlrCxlZ+sLpjAUaF/UoY0prL8OCrFRkRmpP\r\n7bThR8a1Dyt0ZXvTOnEwOIlzNaiB5Bt+dgTl9PB/yMddEB6kbZpJWf4dFkQm\r\n9xlKaF95pXzOOQDoRDvUGp8Eo1oVnbveIsg7BHGuUc7dHuiDFbeA3HxI92hH\r\nrICeHsjFlvthDa31pbDlh/DxppsINeeFdxVwb0yNQKw4YpVIvFLi5DoX+6GU\r\nz2hQzFN/alcN3B0ZKp0T08hYYEleIpoyLk32PVuaDU5LqkOBi1ED9OBUYXT1\r\nYMN7YsMtDTJvZy80bdn23o7cNrSsCNHhzsLUfEEL17uplyaOlxV5WW7PF6yL\r\n+Q3xekyRMTztgAAAci9h9zn3xgJsq/fk31sgTlZ2kuqn5JnZQqQutib5lC5e\r\nCJRf5T8ReO2pLc4e0u3rkKWlzfZNlWrdTRLQ8CMmfBuGo+UUI59Wk2edx9a2\r\ndcD/ULHtPDnX3JEAsXAAfZrihOp6Fe3puRFCfxGyApFjzdQIrOvimq2GHQ3g\r\np4vY6rYoWpZefY6fx+PAKcOj6pO1ZR0lF3FDc6UBpTa9IDDphNFLJDn3aAAP\r\nArQobyxOIt/w3D0VRKuLfLC8/ovHX4/jgu4=\r\n=SzJc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5d2d1814fad8065dd869bd95c156c04ad45926f7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.0f54fbb93.0","@material/feature-targeting":"15.0.0-canary.0f54fbb93.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.0f54fbb93.0_1667944567831_0.8349693823540949","host":"s3://npm-registry-packages"}},"15.0.0-canary.a8d47f9fe.0":{"name":"@material/dom","version":"15.0.0-canary.a8d47f9fe.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a8d47f9fe.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e0e19310ffd87f9fb4e58ac8428868c76b85e2c8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a8d47f9fe.0.tgz","fileCount":28,"integrity":"sha512-Oc0NDwxv2tPStI3cz61oOvSUISa5IFlFdf3Ax+LIa39RXAyiiBq34/18XogysloEdxr8IXwNa25tUlpNGJnqJA==","signatures":[{"sig":"MEUCIQDTPMas2/r6TqakmDNc98cxPAs4wBsFKl8g/68NBzvlZwIgJbNUdnwDGhdBI9fHHKoGcAkC18Co3Zx9mW+mZwPvFGo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaynGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGIQ//YvHlDw9D/TdRK+BI/b0zHSUsEFfCbWCRkVhJHH2XQTrX6Da0\r\nDtH7Qu/yJgicdFJ0GimWb5jjt3K52sD3ADN+aEL7W8/7+7XJs3OdMBbm6vFV\r\n1elmKjRcU4QfBvP86+k0QcLri28DfQx0JbWLrqlR5ZnZbVE3kCweWK/pnxZC\r\nqfeiDeaTTDJUo83r8DBMTvA+deFRQ7q/84IbzqKYZaR+rQw/NdVI+7r69q0J\r\nvKowOxPhgGbOfEVyFp6EMcEU9faytPQymg07B2CLxch2JN1ZvuV05I+r8PGN\r\nLe7E8WjQbgPBNiz5+C0prKpuwo3zX7qRs9g9hFDJy0MtUQ4D0fpUSnDJSfwk\r\nOvHYpF/VXEx0i1MW+/f4QUbNg14nBupmXRpklJW/WsguJQyyEJq8GYbX2P2H\r\nc3EI/KZX1uc0IaIdn5pyHjt6OuvAX/IMaUNveuILSx8ap6+qgA1wRFKIOwSR\r\nkZi1Qxr7UDG5iseyj8yQjcQUtqjbMdh912QUC3eNWQBe+Qx3JpZ8TI0n9tMX\r\nYqIWTTmot3H+GreTVkJhp4XHWV0s0itU/3+0CZGcU9xdrHMEFCpyEUitrpjx\r\nTJeMIswxNC5VGDjxg5eQN5xMKfGH6BT4BZa4jp6REPjA38JScQWM6qvwiaS0\r\nFT+LlI9Vz+v6ej4v0mUjT9O+J78vwJQtgPg=\r\n=Lw3O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"37662af94525622cb00ae2dd17f31f6a93b4eed8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a8d47f9fe.0","@material/feature-targeting":"15.0.0-canary.a8d47f9fe.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a8d47f9fe.0_1667967429796_0.7946121301946214","host":"s3://npm-registry-packages"}},"15.0.0-canary.66a1e75e6.0":{"name":"@material/dom","version":"15.0.0-canary.66a1e75e6.0","license":"MIT","_id":"@material/dom@15.0.0-canary.66a1e75e6.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3e66911b822476c45e337f08c2487b1e61957a99","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.66a1e75e6.0.tgz","fileCount":28,"integrity":"sha512-RnFs05muAuciSm91u7MU0+RJxhYsjNhFu3Pf6tpbq29IAufq1e6cnqgC+x7iE90KjPYFKYMQ7BLZ0+Fwk+YeAA==","signatures":[{"sig":"MEUCIQCTciKxiCQWF4cLKWReFM66SxQL43VwFp/NZPUDOEhIggIgATHmor7ggD+1NRppe7tVZOc6minpxdBrGquv324y9XI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja3RJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpHag/9FETwAJfz0vKvkiAyFeV9qL8/9IxzE6aUq+C2OmKOzAlb27Dk\r\nS2/12HvONi/7/e4QaHagYcyF1BNItARXYEKSwYt/krCnP9b/wNey9PBOL8V4\r\nW1Q6arizJn4LeSteYIM2klWRTxR3CSKYN0G2bcg1ulg/gpUd0HYlu73td9m0\r\nAtIcP+4jsUKy2zjlbrvdptIPlPzx0Em9bNq0+nc715j45vEVMvVIjKjJNbZT\r\nCQcqa0v4H6YCVHNjLTOJLp87EwBI+SeHVFC+fA+CSGA5fEjFBF9+orged3FM\r\ni73lLZpL8HXOIU0wVokc5T0GyaRTQRZG3en3/tfNvY3WWl/FvcLTzkrNDGE1\r\ngpxS1JENUE9owdF0RkiH4JYUVyolhZmamUrbCAKWSHjoajfMKI8IvgnURr3h\r\nHIUUHRwDcjhwSmrDntz0Dyn8ildFMG8OmjCyNBCZhhNesJq+WOAxqsbExBdK\r\nR8OiU4uPvcfodys97dd84Y12M914ZDb3KOf9Ee4jONb6Cu12f69z/DiyvGzy\r\nyeBxDeVIk/UNaX4zCyJ3n2ZjACtcVr6j/UCe71eGZb1wOpCKa1zRt5n66G+z\r\nF5tx9Mc5BcY0NL5kvvV1y+fEO+C8zShFu/ofefTEsM+VACqo+HEHxAYWijfJ\r\nhfRbzi21E0fjP9jUw1nPcr12lYTG9/aAwxI=\r\n=Thbb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8ed0cca778858904bcff29669c6dca407f25ef98","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.66a1e75e6.0","@material/feature-targeting":"15.0.0-canary.66a1e75e6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.66a1e75e6.0_1667986505046_0.8881167832111061","host":"s3://npm-registry-packages"}},"15.0.0-canary.5e5c2afc0.0":{"name":"@material/dom","version":"15.0.0-canary.5e5c2afc0.0","license":"MIT","_id":"@material/dom@15.0.0-canary.5e5c2afc0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3c4143911bbcd26989203431a3cc4a85497bd582","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.5e5c2afc0.0.tgz","fileCount":28,"integrity":"sha512-pRXyBXzr6ivPhqVEfjPI1xmIsq37tk6wqhNKmNBD1nI00qSEAym86hm0rtyOCK/Y2czJ+YnW07P7qRPJkK/FCg==","signatures":[{"sig":"MEQCIG0UiT4rvikg8omZFS5DChh1XFdh3U5lb/X0aEzSUvYRAiBnSQH5QfbVFvpqTEBRdRryeVshiV1fus6YGaiIF4KwIQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja5SOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPjRAAlkutOh7UTsMHtvSzW/AkV7WA7DlhiLHqlKzTz1QvWIo9fz5y\r\nXhJf5mQ4/f6RkCaQ3Q5W5jsAP9MW7OPW9P/CNO0wm9qzW+mSslbiijr2JePU\r\ncShUnBWIVmlh9OAfzKYHSc5UL87aScC+bXX4QrlI7zUryIcJpkBCTcqNQpLx\r\np7GU9E089dOnqofFnziq0NZTeEJC6Gtv+O2Tl6yRF0LgHje7RxAg8Nn98EUu\r\nwB6zfkQxJpVqW3ngT7whayAqu+gKbYuKc8TWThNOyAcAqGFaLm8tk1W3BPE2\r\n9q3UMH0us9DGarFDw9bNLlaegQGV4wTsTvXaz/0zgbfamcqMxIVeO1u8X0+g\r\n6EkAZgC0XAAgG8oP3u/RZYmclJr0s/0/W6vXax+syAUNXOw+C+PT396T08+T\r\nOJFtqHm3I5H8Y1M6QOxwgo5IpFKm1XzqKC+2bhoesyAhL1t4fRsq9H1mr2O+\r\n04EsdumHzdnp6iEViQ8HsXuxDfjrXqm/hys0OAMx35RFKnIlK1Dbt0nzog7B\r\ngGh1jQrhQeDs0fWGioGbJZLuI6V4QGrgsSqKoT+8Y0FKf7lJVGrQ5cjgRzmo\r\nXWylHKOQD+yK4wtL3ikrlRKStWL4bFRc1ensNP+3XNr1FR0dzk+KvJ7SnLVz\r\nXKd0E6WjdJkc2XBkT/wni6tnTfvqpk9B60Y=\r\n=N9bx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f14204a01be3c79ff286a8287a0ab731c371492c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.5e5c2afc0.0","@material/feature-targeting":"15.0.0-canary.5e5c2afc0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.5e5c2afc0.0_1667994766634_0.339467069769674","host":"s3://npm-registry-packages"}},"15.0.0-canary.3e3f43359.0":{"name":"@material/dom","version":"15.0.0-canary.3e3f43359.0","license":"MIT","_id":"@material/dom@15.0.0-canary.3e3f43359.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2f21ec4866d88ebf6878eb1927d5759a31488c88","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.3e3f43359.0.tgz","fileCount":28,"integrity":"sha512-kIlq9xNppnoyJa/6MMAOwU084QoT3DWx1W7+8OxAZ7NNbbopPK5jqTsYNsP5PFI4AYB48iEQNj1VAV0K0qwMKg==","signatures":[{"sig":"MEYCIQC41ybnD9+CtbvkyRCuUQ3X3w6FSwPE3MSSBmAlpGyhLAIhAOvJK9xR14O7KeWemFemGL5EyC2rC+adVobklzCioZul","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbAdPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVexAAlULFgY7xKrp/jb7oNDibjw0GTjyk85qggNUVMNiZK1fkL+Bi\r\nXeSuskQn1rQH37OH7M+dGlm0umJpLOXrePG1YGYpK5tOT1Y7KxPX72VV1nuE\r\n3KTNplJbyhKiyTMDzjEnmJgw3Xac08vh0xJgPS81HpKBbHAiIv8WRIE79T07\r\nIT32+SB1SD8XPdCo6ilKK3MwerMw01DZm+qMhm0HVePXwUpETIsJ+sfAsNAp\r\nxSbyWll8JhbX7iDy+iozIaQRzee3/oWXMRjPPPTRtL0qiqismd6ok1Idlrub\r\n8011uqSZXXE3E2F9bJfIo/EYtkkjk7/24Ld//sEyeKH09VqXATTl939Vu2Y1\r\nwtyh26k0fUSYIMS3KrF+ck1wOf3ni+BbENYuYF6n9cNRgmRs7B6BhUc4CVfP\r\nQLj5IMBn3FP2/UHSnpfd+FeaeVYlfhVQXTyPm0Mu+zAKwW1d5k1Cf8A9AfD+\r\noIfOtdH1tx5+nBha/dyCAvx2CDk6wyUAuipr5Fzoc0hpbhDyzcZwqbblsgTV\r\n/UQAxHDr9MJo1+Kb0yTffmqsFgmxGNtOfMPmXEmsv23VPnBAZN5Zt3rl3vst\r\nCTRGbM0jhxXDJV4aMkB9cQy9LWndR5UpPpQfW5Qpn2Zy5JYeSc1zBX2s6GCT\r\nvMXKNk8gAXH2VO9jIfQKN5YuuRZ9fesM9eM=\r\n=VUvD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"722326ecc6026aea1f22d8b4e1c9901bc13141e3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.3e3f43359.0","@material/feature-targeting":"15.0.0-canary.3e3f43359.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.3e3f43359.0_1668024142878_0.003311019797062942","host":"s3://npm-registry-packages"}},"15.0.0-canary.3f667fac6.0":{"name":"@material/dom","version":"15.0.0-canary.3f667fac6.0","license":"MIT","_id":"@material/dom@15.0.0-canary.3f667fac6.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6883105f018a9bb6726e9de9a1572efa69fdfc22","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.3f667fac6.0.tgz","fileCount":28,"integrity":"sha512-SyWVFEC9skVxSCg6nA0vHWxJ3a5aWAowHsnjHzM+veTxqkBGqlykIKfFSXZ/ruoiI0xjBYhUbzOdXiMoA7slAA==","signatures":[{"sig":"MEUCIQCX3ZH+VyDBPqPaZEYHATCuBoElkAvLhprooO2Bt8Ez8QIgATNUohWmWhRdL115NZCqtYndFrmm3iY4dhzfEJkFYjU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbCQrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp0Lw//WPlTG+CIN15/e1jhqx760px2EeoKvCoIHMV5EuIqnrQNvi2O\r\nuxkcQcp+mM4Clqj+2Ws4ZVl/gRK0gWlHQ5iTvELThcGosLYrUtf9SpKeIMCc\r\n4/HZCvROfV5fyTtFgbEA8ZhCAmLWmURKkXZ8Mdkt7ZwpIJe/1Bm/hfVSagEq\r\n+/qy5FThGguE9FsI8bxNexPpyYxcvtJInHSN6yVyMF3x51f7cxpPCZLAt8Iq\r\nmxikmfQFzepb97Z+e9ewu+UYfldD9k7CzZVSiPhXq25k4uyN86t7XmCJmwK4\r\n58THrAsWLoZO8hcEB/4XGAMYCpz6MYrStMbFdBBRVqbu3ZP+8603e5c3WDb/\r\nGYojDRQxmBBR6g6k9ZDF0y3qfV3ykIlycOlaQzdhjj//inAiqYreg5+2jFBv\r\n3eCxufaL/NqHGjmC3Oz3KVVgTj59+xbh/YYWacj88Z8Z0S1FnqhOdScBHhHc\r\njsdn3MNVLmwHXjSo+VG2P1hYRfoSkORK0IVbqr0mbr0CNYmeUv8fOdcRjU3Q\r\ns1eVzN7/VOxkF6J0MjpUiVpQVUPMcP1e77CJ3/H29pUAm0FMvVZ9t67p1jz2\r\nRMhdFCNegvaCUDXwTdRQdpBQlKWtNoG7W2ljSRthbmipRnNGc5dXNov/8Np8\r\nYtUOnjawnUz1ci0LRrFIaqmJdnEyzib8boo=\r\n=ZOLa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0980467335d47e19b4ec72e32644ba0a08bc0c34","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.3f667fac6.0","@material/feature-targeting":"15.0.0-canary.3f667fac6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.3f667fac6.0_1668031531739_0.29851122407427444","host":"s3://npm-registry-packages"}},"15.0.0-canary.faa28c1c5.0":{"name":"@material/dom","version":"15.0.0-canary.faa28c1c5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.faa28c1c5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f95a13ef330056174920930013cad7b55d28fa69","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.faa28c1c5.0.tgz","fileCount":28,"integrity":"sha512-Kv1uzB/eu/GCZdqNijfKg1UGca9jnoV9eAE7Ab/SKRUzGgO/FsLI187qNJYtn5x1eVrR8uVWueQTu30uCDM5RQ==","signatures":[{"sig":"MEYCIQDadgp1tgSLp6eNTJGU+nn8duEmkeQvH8xh0JjxEJsztgIhANn9ZmUyMgxfgLzkEG32CacGaOYca+axJdmntkQO04Yj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbnnGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYqxAAiuBqRfMsZvO19apC3+RRpFNjItBLc9KBx+YMl/bx8O8j3gx9\r\ncOsE3tycrtTAmMDFjL/kom1xBReAhkdUyW8IDeai+EUvPdoOhv8lmwaV+lzX\r\nUiWcAWVrwwjXeOTJsaFMky8T/uMRuEG5w7U1Eru59hPwaj9d/yBUaqk4GoB8\r\n0O/UBrInDSmr9Al8eHYMDBsX8taL46Li5RDWPRhBsTPcs6UHaMoliqC2rqV5\r\neRM8Vdi0PBv7+lIMaq02O2qF3F6ZNdNAIAQJeBrAIT3xsoShblcpzNaD1Mf/\r\nd8DdrsxJiUkOn/cT9prA1nE+Awic4UfvPSzWHRGKG1s/Uak+lJgy9GHKk35t\r\n4M4r9HT6PMkvhRxfAsxWDDXWsyub79dBZQkt3YhVaejzfRSQJrZop0BFPf7w\r\nWFb5VwZ3nZMQrBbSV3mbZe6y4/Bx7Sp9ORiHZedHMrWcH8iHQs1t+StcnYEv\r\nfXOHVBBOY5pVDDdzGuxybred2SzHjjqAvItrThIH40uQN/uirgxKQ+vkcon4\r\nhAsPDWaXoRGqpHX27ulaeF/pouP2U05qr10ECpp3jUa6Uix02vV3wwVNsPM5\r\nWmuPeAPGGjqgEJ4cOxU68gvxy4Ly9lrDX9dKDrpXGcUisYqOddOwf9xFGoPF\r\n2Uu/WKaSeboiiaf4g/PEpKDwIOzOA9M96a0=\r\n=iKZi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d36350ee1c0fb11d053acc0cd521939199fd696f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.faa28c1c5.0","@material/feature-targeting":"15.0.0-canary.faa28c1c5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.faa28c1c5.0_1668184518371_0.4684548228242953","host":"s3://npm-registry-packages"}},"15.0.0-canary.a868c7866.0":{"name":"@material/dom","version":"15.0.0-canary.a868c7866.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a868c7866.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"32b29f946db4757c59dbd7c710820da5185ed1c4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a868c7866.0.tgz","fileCount":28,"integrity":"sha512-oWTdrAdMjSzs5lYFo0FoTWtDmD5RBxwRV4TrpBzKTUPlD2GEdz61mdr7wZYueN7GclQ4B8z+y9PQStTS8oGp4A==","signatures":[{"sig":"MEUCIDE4Q3jHDkGokpUGbLZRXjjHzpNh/LSLttYY1KOCreD3AiEAiQsP9DX0xUqIMRbcsYlk1/znuvDilQ1x/aVcHzknzn4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbnnwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGYQ//XwCQ3RydEYQgwLPYpGrXwcpSs2brvnCYU0N0EkykYF6HUReO\r\nl3OjhF25U9epM8mag6cH5BxBDa/QxGVnQ8OlGkUowuNHRfzftbZxK4fd2I9g\r\nCwgG2ED7lS1WqwRf4M4G0+qoP8SEOQ8DicXRv2PNcnkd4gBPU6uUD/TMOQxb\r\n948b/8ivY7bpCDpNQGJQ5LmcNC6sFL0dVxoh4BCO5LuMetZKHoJs73klO6tV\r\nPCXRaFqCuqEFsUyQ491HalIFLsSD24GXg0J2tPqnp0NQYBDi8nIhTWiQ8y2V\r\nWf93kD0vnNbhnCmC71G526eRvuruxHakKPeBbQDkMQskrUc4gZp+D29+N7jI\r\n3esG0RjG0FDl5Z5AhAEF5gGeTRgdP1dlv3rpAFRgfTOSQzlu3eqlTlhtK7WS\r\nPO1WZUfoj0ntewL02aL6+sIWCPpuj2pj91WemFSFI+Cs9LvQVLdcn3ZSENCe\r\nePjLBft/VbfV6/L9BM5nTknpCvRQePI2nSt7UxGCUOfdE07y1FSFEY8vz1J5\r\naLm5QJbG1lIJlRH30s+DTmPu9mbIpRKHXQpJDiv2prQaUKTLpeUN/xdy/Nw3\r\nMObm4Q/ZfiyKwPYuZ+r+pNg5w5+S3i5Rt5kj+a2mTDYW9bIT0YRPrkmK/ZKM\r\npvwIxysZ+n4vLg8FzHHV5iiFfpo2K3VGblw=\r\n=tPCX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d35416d7d3365898437e980f43ade48e60904e85","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a868c7866.0","@material/feature-targeting":"15.0.0-canary.a868c7866.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a868c7866.0_1668184560018_0.08169534038760506","host":"s3://npm-registry-packages"}},"15.0.0-canary.602fe8efa.0":{"name":"@material/dom","version":"15.0.0-canary.602fe8efa.0","license":"MIT","_id":"@material/dom@15.0.0-canary.602fe8efa.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a3fa57dc5143f6b26e4c4868f2bbc64debd87111","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.602fe8efa.0.tgz","fileCount":28,"integrity":"sha512-rKZkBMFdxf813tR70rEJwS6fmhe5x5CuIg1KDQjebBCcr7yhWCz+BeG0Ezp+f96VZP9a3Hpof70RRSQYMPFPJw==","signatures":[{"sig":"MEUCIE0FQRyUZ4UdqYgeN8K5F06alljnoFh4kZlkJurISnsrAiEA5YsatjAJoWSgUVrdnkawzp84lVKCE8+HCnJcDzhVfJo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjboI4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq2wg//R8aziZQKYMl/AOyZ3Dn6XY455jMyMgEtkEtwc5YlLhojK1i7\r\nnZRQ5PUAAgGR8ZjdkRO5F8cA1oY9zWbWC99XibpcCu0scqMVVz8mtCE9r/p9\r\nw25/ZdDorDp3EsmG8JMLuo6+lmeOAY0c+KSn6op1zwUo6PfNNeTIqhBMbeTY\r\nuxI5Grty3rbqwG8ohvE298UNXnWr27dRNFWxTkxffJ8bmVAfKCU4i1RHwEYr\r\nXk7aIDkfTEFXUo4FdD+xtN2esA4KXDS41ED3kasy36QQh4Fo9IkA1ty5UE33\r\nPA3OFY55uQ2Ar23CjpvoDXwxfQ2QcFOM7osz7LX81mRrHgJt/t49nbqwoJ5n\r\n5+5c3z4w0y+J00M5/7If/UjIdJE2SwN2eRkD9aEpsFYbOGxyREr5M3907xar\r\n6/TDCjDGRVgcOymr9UUwbWrnWKQ8ML3wy4HVk6+0kVEEvKiOxeHKNCaKklWt\r\nQlyiRlhYVxMFg/hrTa99vnw81ZApwpC3g2xy6i22tYkRKy8/gDulzd0D+WcU\r\nqRLZw5ftvjZwbzigJg/qppWufUuhNXthZjnBSQJi1Y3+GMfzcc/ODBTn19ck\r\nYoXcWgMDOKzAn/dfmS2qY+Ci9856+5WNB9xmMlh3Big5RisGt+UEPUUtGYME\r\nxva38s2zOW2KAmundDyTb6jnhxzFBciHOjE=\r\n=gKY2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6bdfaf09ca41b2fd7e3db4797bc2f536f8fbbade","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.602fe8efa.0","@material/feature-targeting":"15.0.0-canary.602fe8efa.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.602fe8efa.0_1668186680200_0.11035770514201038","host":"s3://npm-registry-packages"}},"15.0.0-canary.558c2be62.0":{"name":"@material/dom","version":"15.0.0-canary.558c2be62.0","license":"MIT","_id":"@material/dom@15.0.0-canary.558c2be62.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3d08a2c9321bff4db112d8f778958ae03558aa52","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.558c2be62.0.tgz","fileCount":28,"integrity":"sha512-jfkR2EP4t7EtAC87SibgDyAujd046vI7f4wD6XgSoSVLHZoOB4gaHvDF3LcanZv8d/p+BMFqiM8wAupxkT5Wlg==","signatures":[{"sig":"MEUCIAb5cDABtUyq8Bl8GgM+S0n465OFsWhqhCT+hfN7zPqiAiEA2z9YnlICF+wHxWWK144mAkYVFUMJttObg1gw+iKSRlw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbtBgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqrjg/9EtTp8hftBWrBh1nq/mUmE6+i4VWC5RYmB30sFpaXg/Kp3tEi\r\nQr/7DSoOtHXX65ro1uQkvdoc6dPXuUULQTANAzp/KaDBcHc7TX4UAG8DmoEX\r\njkGkB+062gZYx0o9G3Yc9N4Onh7HAAW+Bjl3g/grtvHpd4ecP5k9+nOyyUta\r\ntCbwYMLsoH0lMiQ8dGTJEaClCUtmODYSv0gti2vwb4+auQIRc7x8s0oMVwg1\r\n+4rBqWtmRxa/4loOKAd2mfwJ7v6zPunsVfx+OmkcQE6REdWEuZuA9WF8JNHd\r\nBElloJnq4gajFsZWqFY8PdiMAAxI/MZtF/SvrA4vG0mSlEVYHhF0PizOceMk\r\np1CIO0tumAyH5E+5jUtEOLA6dkljbZbf9vOkVMvUe+k8HLO0sZbGLfL3HV1M\r\nwyMtGz5837u8Jlu7FYTEUljHE0jXUZatJxEHs2tFVblbrqrgiOQS0wHpkhfs\r\nU61P1agfPQFcZyDXhwG7efie1DgCHXss1BuhZCXwB6A6HvdJqmJ48upkAgg5\r\nRtuw/Jcp9+1ROmOg9cMH9uSE+8lJZNErl1caD75bXyoE+TlOoePejas2C0Gq\r\ntnZ87mbLjDJ7CzlFM0ya/oknPrMJD9S6jEXRr91BGdPIrdqjyWqfvttXPAo8\r\nWbBGpAMgLtSUBpQc70cVc+MokWP5VbUipsU=\r\n=Y2SC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"64666caf2aacf562ab6ab5b701e89f28a9bb5c74","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.558c2be62.0","@material/feature-targeting":"15.0.0-canary.558c2be62.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.558c2be62.0_1668206688336_0.0893300664361425","host":"s3://npm-registry-packages"}},"15.0.0-canary.b5c13a7a8.0":{"name":"@material/dom","version":"15.0.0-canary.b5c13a7a8.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b5c13a7a8.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9d92371d5f360a75da024dc3eb33e90fe0115e70","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b5c13a7a8.0.tgz","fileCount":28,"integrity":"sha512-p62KqyPHg1CcZixNohMzOhWtUb6VRhpGHmuG9s/AkKhF1zDbLH6mSKSsbRYYHol+ilEPHt1Y1cyAnCWjZVLxww==","signatures":[{"sig":"MEMCIDaXyMvpfEVAzLqQmH5F1U6DCyVJYVO5oLXENUvlYCvgAh8o8eC9T0mKI8zu6KI07ovtLtqP2+NrHrr7CzDGrgb6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjcmWKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRrg/+MwZ4n6yIlecANravmzONXXD4q9FluofRN4UjjDUbJUjx2/BI\r\nFagAU4rJFxBrJv8SiB+liPay1OC6Wjz6ZUYC8DfhZEaWhwUA1UyNXdCKXvvh\r\n4Hr02n/FyXD58lbRdIdFHifm8dnDZ+HPCiVnaHTqEPPAtRNQ00tBC8yzgcFU\r\nxC/6Uq43i6iT9hqzu5jI1aqrtong77Yuon7el7VXkf8HtCXNuTrHvPCMTpuv\r\noLJyLViqW7YGc3JRzgTIhOkpkc3M4UJNFPa6nrgjuYZTXECn8u1fo+2bheNH\r\nPJXtdZxhTYoSbOamjJVeXo9AMk1qxCqls8OMNSi3cWHpSGEqtQkMeisrcCKt\r\nvoOiT3z2ePU/wp540hp4WZremIM1yz5IkmLiMccQx3fWZ8xjMo6cUomtMwEg\r\nYoWUmpZI/py/T/dEKMySDktm6v6bYIvM5fVtAfWzI4Zd/1XPQrrZ+a1JKg7J\r\ndvn4Bi48QsD/aqH8oe62MvecA10Covt4ZwyvUbBbtTPUThNtW/q7bptLHyF2\r\nKtc+clrrC5w7X3GM7uYyC/SmLYU8RkUEnvtzIwJBDvH94jHy0qF5++Gn6pnk\r\nlDX4j93rIanGQNQj0mQLlFIWkuohKwEwrF51m73AA7sSjClOIdbfYnbNjFVZ\r\nckKd92Dhmxg7HLM4+LwnHNosxGzdJqCR1Gw=\r\n=Leon\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d7e326425877e3ba53b64755680e3503090a01cc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b5c13a7a8.0","@material/feature-targeting":"15.0.0-canary.b5c13a7a8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b5c13a7a8.0_1668441482125_0.9905562257869958","host":"s3://npm-registry-packages"}},"15.0.0-canary.a6e1c0702.0":{"name":"@material/dom","version":"15.0.0-canary.a6e1c0702.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a6e1c0702.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f4f6183dbffe8793950937a5e95c4a84755aebad","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a6e1c0702.0.tgz","fileCount":28,"integrity":"sha512-PQhAGMz+zr34YRFtyBKjBsTbhZ8xcvD07itWYN9S1bfodlVv8aF83rl9gj3rs7nqyyooDBx7/rxz2lfxhiuj7Q==","signatures":[{"sig":"MEUCIQCqNIy1aorC9DMNcAf+2pd9X8oWgmj/0HesWAyC+iuAyAIgC2sUgxykMlbxNrsjGfow4rxlQGMdYgEeZ2MGRvtdCvU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjcnpIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpu9BAAgslMEC8Dd4ZVcJZ/nNF7Q/sb7IKEbAfglxVvL5Z5KgmxOlVK\r\nyRhd+nGQhLDFeOGQBPUnB1VUaxhwKTnrHc6GhipSQ8uKft0l+7VLyFjMbDuT\r\n9vYkn1scNUEmwZm6yLohrgXvFuhFk0w3g8uY7D+AQ6xzbP+ZZnpElEQicNuy\r\nvHaa5vjLDos38OYW5Iu7dmtw05qHkF0PBsiGanQETmMBT4CgwjcjySx//yCH\r\nvR1mz++nTYa7jS7Rz70J7yLGCgOKy5XxOodHOCz5zGJRv9L6zVblLT49MGaz\r\nl4i2bC1QtkJJHJisDFhWEu8b7siyIKxqvJVaX0HDxD/xvqZO5TDWS3oycpt/\r\nW6GJq2+G/uzwQyRJKlqlfPBOQxfYp1jgkfwMxb8Ewn9Yi3HdAyAZAYZWz9le\r\nAjc/LBcWjLeMz/t+q4v1lGzd2JemNGrKIT7yRlsLNbQUidUMav50iSS/A4a3\r\n9usXdfWoIhgHSO/jFkvwsfTWK0/BI3/TKAybKg0Kf7tTDO7d/g5BlZf3b7m9\r\nv88LLzT1F0lHv/qSLrngTX7uy5Yq+7FPurOAw4SniDhsFA7wmStxC7tzT+ZQ\r\nNvwYYV1owraOJE5Wia7lNvuqbCmqYbQIobGOVdNzi3RESgpVtt7xgqUSdPxM\r\noeoWUSASbq68zqsIIKtUbiDjr1iiIDD4U5U=\r\n=WMOa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3c1ee7333cad68ece747437d4bab1a737d6ea96f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a6e1c0702.0","@material/feature-targeting":"15.0.0-canary.a6e1c0702.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a6e1c0702.0_1668446791871_0.6415070498660993","host":"s3://npm-registry-packages"}},"15.0.0-canary.b6f8a06de.0":{"name":"@material/dom","version":"15.0.0-canary.b6f8a06de.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b6f8a06de.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d99831fac4d277899aac3a9ff6138fcd146fe4d5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b6f8a06de.0.tgz","fileCount":28,"integrity":"sha512-VNa4a5t56vSiVkLjzPSvYZuso1+ZU0uz+UU+7R4dB8LlK2YvI3hOqDUp8aOyFRC/nSVgMXDMba9eJcSQsxupRQ==","signatures":[{"sig":"MEQCIGpZlXnCWC7Ph5WQW7tUyE73473WEK9HZm0uCFgmKwgOAiAEDUPKPhzLZTLwnV7ESjWbuEKjPpcEPfMfHzLbK9woxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjc1uTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8qBAAk0lQHKgQDNLhvmpIvvF0a++7xjcJPvU+elRnjMjnVjC+0lN6\r\nw1LcSskiAM7ZA4SsPXvoqDEjUOb6TCmIa+Y8/qfWTIhEkY1CVVtpX8OmiJvf\r\nakZvnqhiJ9r4ehS9K0Z6xvS5N2Ew/DL94S0U+OoyEmnGyxcXXv6Fjx/4SSMX\r\nud9IJpB8KGsebJ+XcgCWEdL8+7JbQT2lzvGANpEsGTQ2vS2xU2j7FhSytTu0\r\nwqGjudwKLF/UtucTxyQ2pF3bUAsf3LCDw6U7oGukCrmbGKK63d2iru30Ke8/\r\nUfDufTheplks2Kf8GpTsu3KIzGTLgP8P07awB+yLieRCwE9wvc+9A2ZVjw/y\r\nUf4aZSBL9usMzyn0kFUzICq7E3EAfUvaZCjgwdQyEb/v4Mrz3eHIb/0u21Jb\r\n4PbdSqiTsu/VjwUk3VJJfaFbP0BEjS9QtS1KOjWUj4IXpqXEVDOpsYGJqVS3\r\nwmTwKfnluQCwnfyl327syblfYuRJbWXZG6suHm62VFTI/jhABQ4P6KgrDOVi\r\nWP9QjhAA2O2Yya0ok4Mmva1NqP7pfMsdXNWt6Oj34j2zbl5iGTBc6BJAgZlp\r\nHHqlur2PUJ9Tfh6WrFSsBm+lOFwhSp/BkO9NroW/TYRPTqnU/M1LTBu/5jko\r\noRRmDERWwJBy8Yl1JnmCO40GZh1O0g7sxZ8=\r\n=XdMo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"92681882b16f14e6a94df4b1ac983fa86e242640","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b6f8a06de.0","@material/feature-targeting":"15.0.0-canary.b6f8a06de.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b6f8a06de.0_1668504467272_0.11036668161583707","host":"s3://npm-registry-packages"}},"15.0.0-canary.0163f3ba5.0":{"name":"@material/dom","version":"15.0.0-canary.0163f3ba5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.0163f3ba5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"de3f3c1cf3ffb781e48946ad75089c9be3cd1ad5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.0163f3ba5.0.tgz","fileCount":28,"integrity":"sha512-tf4jlVspozWg6qFfPUr+rgin0A++auW8AWHwV6ZMQG9SH7efHeCkMlN7E2vAllgTw9KMM7gD5iUkJy+4Ra6KzQ==","signatures":[{"sig":"MEUCIQCknjARoOFDdjdmQ3seRUF0+YeJ7FUSRqpFWQvKLGm1DQIgD4jndbOvzRWQ0JNJ74L0ngbt67XysPGXboh3+089/hU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjc9P6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmobaBAAiTrjCOlgb0la6D4J3JzjybIE2kJb9pK05VYnHdnNv7w2rXw4\r\nO4cV6b9tdkKPtLC7NnA77GgNc2RHgJZn7bGGClOhEBZDybaN5oMbXTfp+Wjd\r\nlSWRRKNy/O54ibNsY2ZhAuxkjFOyHWTw8VinXBiC9TElM6CIEXWCoug4yh9c\r\nXecp9s+c6yUbytk4NmXsiqMMizRjU8jPuGI5KVQeEWGN23XngHKjLVGZSfyQ\r\nxbyerwUzV0+wD45vMeafTVWjX7VpWWb05aj/wp57B/YaP7xsDRlIALUUvTwr\r\nCzgUODViOsxmcujkz2a5xRzsf7UDkOFv1nx3vv+aI/0lNN2ZVPqrXJtqu25B\r\n3gCT3CxXD4cZAzUbOciSKcs7Db8EZRLEmQIo2U+Hq72hWIRMlmrwX3FC9bEB\r\nABPhhctpzalDWBFOHjKQ+4Lpq0ts3zvWuWNeAiRQkF6xz0Bakyq2hZQOkXZ5\r\nBZshsW7ow+PcmL6qKqHU1JzZFKg5HQRQPXA+h//FfqHneO8erTZmMm1i//i+\r\nAplN5L9rT8WlAeg57Sju9bmz83DmB+bUbJ9BbKDcBkkeTv/L4C4IlXFD1bSH\r\n9z9ED9wnavkzNFGmDLq82KmQdsBsTrbH/zVBnXEP0RnyaBDxI0lVgLqM7U5D\r\nAva1mFx6wC3VtL7HBwL0TgXso9K6or86BOA=\r\n=tmWZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4198cde77ba33a68c74eb5e814d92df422f464c8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.0163f3ba5.0","@material/feature-targeting":"15.0.0-canary.0163f3ba5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.0163f3ba5.0_1668535289911_0.20361088586710352","host":"s3://npm-registry-packages"}},"15.0.0-canary.66c5cbb94.0":{"name":"@material/dom","version":"15.0.0-canary.66c5cbb94.0","license":"MIT","_id":"@material/dom@15.0.0-canary.66c5cbb94.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"94638a431b915cf8b3a1a1ca5fa4af7e861fe047","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.66c5cbb94.0.tgz","fileCount":28,"integrity":"sha512-LFIkmdSoT/DgYfY03p1/k4dN2m8aqrodALFzZu09s7DhljQXj4JmT4sNAA2PxGSOyKCARS7Om/9F+7T4p0K6pw==","signatures":[{"sig":"MEUCIEomPLlvjwssS1qtBqxF+w8aJEUR4v6IAT1A44B7Qb8yAiEA5s/cgUK2nEaMgmHThMS/mN4KgnrtsPlU2HpAW2tsWO8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjc+iZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpd0g//QG/7CAINN8npqy0jrCmL/oc2lBTL3lixl9kWAaxsUeB+NYxd\r\njlCKjZAcx0SSq4Iye9NIE58Wh0jn3+8T7dK/kZ3iy+7jwkidB25w0DNXUegr\r\nZestc1j43zJ8lywWtEwzmLEEjO6PYMdhARob4s6pruUWkpx3vUbvLhIgEezq\r\nOHonHkGIdAzBqI2T4nELarkXOXCeE6Y0YGFaM8JuGO6gcfNE6njrcjLE/Tve\r\n7tWf4kRfvItI5zklnIhODHwMUL5s7lQWt7IImxx3U28mFaFoz7aBNrDhO3cG\r\nHAYU94ccAS8CNp6Cl7Ol37+pUHFM5cFKKXmrP6Cngg/pLIpxpjL87BJBjVQG\r\nN1yLDVmjkaMhzBx5LONKUooBffk6WR7yydmho6fbPWSbBxnQDxaOQXuOjIkh\r\nqSNBZKTYI/dHfNxpRy/Q9tN946JFaS50T23Az3dIA/fUNB1xdbBfCIZ9YYGV\r\npB93gTgvTo0u7rEZNeMlJH11YtpFXfm0hUsaYZFXP77M3bMz8EXzluoyICox\r\nDEw2bAU1b/5O5oh5m04Nb9wjWhr4GzGdovXkmf2FgS5ZI2mbFpek1cnWRnGk\r\njIuxNy1WzCVE0YF6CONVLMzUK8kfhpZWg1vRL/qriDNELAbHK4vyQhcS1c+Z\r\nkNAvUO4Pn1fAtTZlIVBTof52ytYjVICjtlE=\r\n=+bM5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5d01716a4e4556657b2c4ebb469b826660673327","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.66c5cbb94.0","@material/feature-targeting":"15.0.0-canary.66c5cbb94.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.66c5cbb94.0_1668540569707_0.27977021273654645","host":"s3://npm-registry-packages"}},"15.0.0-canary.b01136063.0":{"name":"@material/dom","version":"15.0.0-canary.b01136063.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b01136063.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"58c5ffc4294fd3ab8e86f2fe99a8042aef64e7d9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b01136063.0.tgz","fileCount":28,"integrity":"sha512-fPgLP2IxZAW0lS2VK1tXzgNF/mWsNG27lcs4rJQa6odCYp0di/s9RSnsA2pea6uxiBEVrvHFUMtYEuxZJAliag==","signatures":[{"sig":"MEUCIQCRhXz6dhnx6dvrlMqOcOerwK9szD0t45XrU8vgbAH2EgIgOnI51VRZSNmy6dC+79J9RYHDWtIKk1WbJLkKz7olUQk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdCuSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoVRw//Re6DDR2OkXpNvlpB0B8LHNeT6rjqwpAIKNkW0pJxOrOf3RBl\r\nCS9SNittlwjjZ6PRAQVSiNzJfuMrM8Ijo8RT6rjesLnhPmozq531RJzZR0g7\r\n4LElFFr5mHPrcQo0IvXtqyqOO71HZYw8P8pfjPhqLkGMtLu/DpYpy74vKtba\r\nz+O6pLZMdmo8b9zZZkdQ4ft+iEBZfjjwzw3tzmTwrBXrMbDI/NaOMhIiV5EG\r\nMsjZBOvmtc/JpEio0G9IouPJEzHP3P4CQbonp7tO8bnNS6AUUEZN8i+AU3HT\r\neWpqLtR/PxzJkTPlXk56yVsJEMJJD7a8Ht0ApPvSfH8x0ahVxi9RkQxwwH10\r\niV/zOLa12gN35OGAHrm8iFv4pniAqsjfgUAwntGJxA7R2WLRD/d0sRnCy98v\r\nOLLd5iaeTi8WqtGHw89qQpiW6ZUfUb1vZGexshd/mz9rXMrGOsN+H362dwmK\r\nWeg9u2DE/D1vX7Oz8y5iHfrHWQRPeqeQgAMfV7lo/DCBCIpgxwlrikSeRgZZ\r\nv2nOZYehipUMN1RfAWXZObJJeug/mPYAzk5WvjTrZ3yQKf9fEWfYiYJABH24\r\nByQERtT6Xmurwedq2X7sBiFKaDBLc7LMbjkGS4/t+8SfUg8QJ1acfcuQTboq\r\nwdosYztCV8SMQ2ljatgKjaYzpsO+PuMzTJM=\r\n=eBd2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"125921cea459cbed7dbe3e1c938761a0cc03a263","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b01136063.0","@material/feature-targeting":"15.0.0-canary.b01136063.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b01136063.0_1668557713942_0.6136238056441723","host":"s3://npm-registry-packages"}},"15.0.0-canary.01da0cabb.0":{"name":"@material/dom","version":"15.0.0-canary.01da0cabb.0","license":"MIT","_id":"@material/dom@15.0.0-canary.01da0cabb.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2ee45c031de4306788fa12ddf5b15f4bfe6f7780","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.01da0cabb.0.tgz","fileCount":28,"integrity":"sha512-ENxt/KgtNGxFr4ha6rXC01ScHJwpFPQZXB1QQaCYxwTMGy7giIquIMX0UAo6c8Z7XiJ8yjMqqmKRto0IDDBrDQ==","signatures":[{"sig":"MEQCIErK1Aq+SqHsqLM5hX5aQpC0PfHKzs1XsZp5riGiqyjVAiBf3AFcZu2URy3fRAAPBmpBwgH5xOGJj7/uRVMmYn1GyA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdKmGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+jw//Y8n1nk9ClBnna5werlrMDMEemY9WB1PtNJDil4uRBxd9uLZ8\r\nLtCYqRJVAMYPHPK13+i0pO5xC5liKf65VWRjvFTK9v5KLybVUKj+cn3lOkon\r\nYFWqudi8hsYUbCveWhHhLyJH3KZTe+eBLJfvrnSk9IHlk7JJeEQ45j9ydvON\r\nlXu5cWQhv8zLDModVNWdrDrjNpEVA743gg5nii3psdpX3a8hSMy9PP2lkGVv\r\nPyHSui0tU8HYdJUU+rGDTI7d2D3FcgT3JqvDxcEYOt8bw5Cfj+t+BOL8jtz6\r\nujAyQqFouHo7w1po7SgwdskKYwKBjCZ2lxwjmhaLw4o9c+uCBxAbOo4nYmVp\r\n42kKc/M07ReWSv7JW7X/3DKOw7bN4EhdKOSVnSEixHwXw3CnAfMeiPe1SmHW\r\nL3X9ZiblsgkspOTp0+RHCyU3aClN2kqWAfMCQKXg1S2lozdFR3ribWg52loW\r\nQso60po5i3fZ/SILb5384eMry3iU/+QUny4vHItdNyHaMi+E/hkAvLHgoKVH\r\nmTg6o8XF81OAhgbMhAF9hHE3MkCbBYE1M2dn3FLHWqCkrOI8mbhwCIr0D1gd\r\nmRc6CI2qQhz6HEN416lupisyI7YfRGGIbP6qI8Ntw5R3woKruG86gUx6HeWC\r\nI1lJTrERxg8k+Eolq1RERU4e6W5HnwpgRd0=\r\n=sgZo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"63a5ccdac9b23a6c70c2bc776e20ab703cd1dbfc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.01da0cabb.0","@material/feature-targeting":"15.0.0-canary.01da0cabb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.01da0cabb.0_1668589958637_0.43762543492134753","host":"s3://npm-registry-packages"}},"15.0.0-canary.4ac393164.0":{"name":"@material/dom","version":"15.0.0-canary.4ac393164.0","license":"MIT","_id":"@material/dom@15.0.0-canary.4ac393164.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"41f7c24cb49e0b2c67014c920cfde6cff1bba114","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.4ac393164.0.tgz","fileCount":28,"integrity":"sha512-LwasHPHSSSYOB2jYhauCri0ZBLUgYyy/afQR6+pLK3Gzn7Gb9BFChgl/cSjNpRQ4W++fpM9rp+zspUbBNZrA+w==","signatures":[{"sig":"MEUCIQD9+OKu/AVLHSuv04hR0nxGTyT+N6mMTbOKAsZYxBnA4wIgRgqrShGXtDYo2NZsv8Vz2tAmpxqF6hQiV2Lk4vghzis=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdQxzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpywA//XpnpJ7CWtNA0ghjVl2jj9dj5eTxu8NmWjk47P0AFNjS/rEo+\r\ntma8fi2GLcoL110dfesc7RNW1AXERSKlKaKLK5W4mS4XVm530I6wBZ2vHOJa\r\nqMSH4srjbF+JwawQmrI3c0xW06yX6rx8buXrpbm7YzfBN/QTpqthtz3ezoNx\r\n8TmXV34OvbcDRgGJaPOvPC1KF0GwK9EQSuuqexwwgnesuFltOMQI4qnyRd47\r\nsoOiJYx3zpKRyOi/7h9YLQ5iZ1vY4OpYdq8XAgMpjTEKMbgT0iSNEaDCqgjR\r\nP9YY/E1m5jfrGj/oAXOEenzbOFKJoovw9lIrWi8+NF2/zCKKHhpEsOIdeCCB\r\ni86+ZlmE+Vn/uoLRb8yBoQHs5xyH0SVyppVf34r2U1jkU8YVVZOP2Ib/6ivB\r\nMGFC+6wwzpFstVy8lhde9ricKONPsONch/FN5lObHG5s3+sZ9ouqxlyBdLH4\r\nakTDh6u6J3tZK+2qeamfhom8M67Fo+GNDE2S1y+TmcFKB50edNuebI5HSWrb\r\nN+4JBElfZkL0UgugpBBN+hR7KbcbjzSTWj8Yp8DObUw/gJF13Ux3/FpcZuWk\r\nOgcOWa8A+4WS3UcJdDFenEMTwxkDcgyy7/oRs6ExGJizgilm6u5oHFTP0bbG\r\nbW9zPp/b96hpWH7jEj69BVgfTp8dIrufmOE=\r\n=XLaf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f14d3444d266ac4c6c92142c377275be3fbc5d0a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.4ac393164.0","@material/feature-targeting":"15.0.0-canary.4ac393164.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.4ac393164.0_1668615283372_0.6980490216224411","host":"s3://npm-registry-packages"}},"15.0.0-canary.6048fb563.0":{"name":"@material/dom","version":"15.0.0-canary.6048fb563.0","license":"MIT","_id":"@material/dom@15.0.0-canary.6048fb563.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1defae0765e89622157eb66c7cf51db0967ccc61","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.6048fb563.0.tgz","fileCount":28,"integrity":"sha512-lUfESH8p5Ol2iPJhSRthsPlBHE0ETjTnbdVuH9cIxLknpOo1wyKDTH5F751dmSwbESwmzdZacP/pAtrGw6FLxQ==","signatures":[{"sig":"MEYCIQD+3C2rAh0WiXMx3/7x8jIvxiQQ9j8gnTC/LlL69twKnwIhAL12bU48Wu7VETMtiIxPRoBpuj3LzGHGnyOYwAXnjFLT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdQz9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoWeA/+LiHYDL/6CUcN6QgrdtYVBWUeVcRkJdw+1ywyVpKVOORVElxi\r\ntvnmIocQGtMGq+HsOlFzDSjrhZrAVdTy+2j5vq4/XJZ38BcWZiBgWt4+bSdm\r\nnOcuPB3TnXwGLzRWhuUW/da8fldFdAO1s18lkUEXxTRnhp6xBZDXocLA44TW\r\nqjfgz0NVjjVH5e2Uy271M1lSjohfnGHryYmqrola4ST2rDUYdWJ1+rU6133X\r\nu9HP/IvvRNbRd37VN75u7GS2x5ko5u8Zp0NT6xKFh6gTDk+hoMI6hJ9wVZuT\r\nb9OKU/0e5VU1ULMPCB2aFvrQftCbVfLee7TkhpKEb3QD3+Kf00U0o8BTuN15\r\nG8OUyu4a6w1WuO571ghBZLfgacjY4BWqHyydkjaxwIVf7SwZrT2iNesi0MUn\r\nmIdJ343LUKARM4J4vQ8uTQlcreVi6HxwXCvpiW44aRsBbVraiGh6TE1knjwu\r\nMt0mwH/byn2LO1c6+8sRsz6eD6KTr700lShbktJxF2D3bvcuuDPeH6SP4c2x\r\nQRAhYJqPV1KlLmcL/Ns+zonwC7PQZeTNqpj9rEKU4CMMID5gpXQ4kv0Clrkr\r\n01GYeZiAKrSd3yl4qxJ+TEucLY1LSVSupYzikeIjwtzmoRGuX0uFiZfIVnNk\r\ngFkrlEKmNxqh8EtCGUheeNrAVk5Vies9Oow=\r\n=c7lo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"590020431978794ff2128a91f19756dff9dbc37b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.6048fb563.0","@material/feature-targeting":"15.0.0-canary.6048fb563.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.6048fb563.0_1668615421650_0.8308725528652132","host":"s3://npm-registry-packages"}},"15.0.0-canary.3777b03cb.0":{"name":"@material/dom","version":"15.0.0-canary.3777b03cb.0","license":"MIT","_id":"@material/dom@15.0.0-canary.3777b03cb.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"98be8cb3d654a3da1a9da1143878c95904b01baa","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.3777b03cb.0.tgz","fileCount":28,"integrity":"sha512-rmvoNfQvZfDdiIKaDb5RHpTcafNMqTVsLl+2GPFItIV4YsW7Te+0cE+jqxluhb7hcemyp0tpZvFjVQ/2MX1cOA==","signatures":[{"sig":"MEQCIFKKI4oR+ohc1lsPTMVGpgNobOnOQ8BN340BxUHOfmLWAiAx8SmH1xP0jxzY19cF1ga+DRTHuL7+Tqyg2jztNQZjLw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdS6zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoj1Q/7BdGYuC/veoAoCTV5OEFnKiJRZn5w+8mR8w7lnLqHObGVD7rU\r\nbqpbVtDwmY1OP/y6lWG+ZlJQsMGClucdmKcIapGX1RQ7h2iIcDGbEr0XuFEV\r\n3OJxYB3Xmo2o724H6B8oz9jyNn+vg5NKlj/+wgs4WLHDzqeyx7WugrXcsVGT\r\nev92ufpJfnRYw3TK+dcDZYNQ4XfWZQGH+AxzCKd6wd1atghpXn7deGyKnrrx\r\nomX5TGAuDiiDjEUvyls1w/kLFY1H8EfjaDD+AQsY5S5X5/tsZwylHibpM5cs\r\nv7iaM7LvWU7/5Xh03m2GrFW1+qwv4JuSqVxU09+AAn3VWV5Ud2+4D9GIEgx2\r\nxORaUFfHHlNlvPaMg5VdG8jGN9GNmoYVy9Ujs6224MsbwayK940m/C8sXTjd\r\nx+Kvb6yGU3OPw7aKIpcLtWCjKOhp0LOxPn73Z2yPCJJAS3TSIW4sVDfmal/o\r\nl4AIwILXTCt/wA3KLQI/13raaLJSzsft1+gV989MI9FHgU9umSB3MjoNFZ24\r\n4bsIZCDcyxTy+S4NzFeey0OWxDmbC83li8CV+hlLp990MsjIVAR7+MuOHvWb\r\n9+b1S38R8fPT4YiFOv4EhQRoWabwl0xOC+f1teGueA2rSzTfKIJQS31TiNCy\r\nXquU6n+CpePBZymdEocV3aA78TS/uesKO5o=\r\n=HQ8H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e02f6251b19559b874fd1998a9f0bea7d651e41f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.3777b03cb.0","@material/feature-targeting":"15.0.0-canary.3777b03cb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.3777b03cb.0_1668624050896_0.3752376557436934","host":"s3://npm-registry-packages"}},"15.0.0-canary.f7f56fff7.0":{"name":"@material/dom","version":"15.0.0-canary.f7f56fff7.0","license":"MIT","_id":"@material/dom@15.0.0-canary.f7f56fff7.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7c743ebfd87b63e7406d1db4ef2eb58e9cbf9cdb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.f7f56fff7.0.tgz","fileCount":28,"integrity":"sha512-qDEfcAn8zsFnYIs0X2ExyGv2zA9oOYCYtR24gM40VugzhlzPdvXhjPUMNVXB5TdHZoDisNCT1Ldr/PzMCVaDJQ==","signatures":[{"sig":"MEQCIAyx8q+PPccd01FWt+2t6sbpLFFfFRrg1KNmIEidMiCLAiAcC1lfIpXhNYqIfpbJgzst2Bg972a1v6IDNqgcC+DhZg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdUAwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpykxAAji4XQBRdMIvfrEcqBMFWV54/P1BX7HvhtQ/p2k3WBU9LalbP\r\ntc6f0qy8gCXHHwnAh8K4chebaja8yPdSc9i9b0vimNJmeu/N/Ct24sE025Gc\r\nRaj33Zkw6ILfl8Nt6YfN7ZiHU5Q7A/vaqlity3gmjR2V8ixNKJ1bm6tPDtqk\r\nqhu0+x4ddATUq/KaOCaIzm8XF+k6hD8PP4qvbiR62Y9Z2ShYMe4LwNtY4o85\r\nZH+6vW2QglDUO6++KAX7T9iP6jDns8XtLyo4IQcL4bZk/qls0X7FwOup5lAB\r\nCjC/rldlntHlmzPwXWhUvXPvfv6HJK1a+WCcy17B0oKurcEBT12v9CHzd+QG\r\nQwVkPyf/XQNl8uOeucKnSpBYf3hA0X7BP7C8vFKljM5PEdXXhQ/qgItxZKyL\r\nishHfTl1Tkecvbklu+7HgLMnhXhZ8gxzOTLXf0GxpOG8RSw93eBY+Ot3QWQj\r\nzvBHrZDqCOuFnFzNX7rIbHl5zvcntyJLrJOkWvcI9NxnDygbVnO5obiv1dCK\r\nB1rYvXdJLDaMVMcdUBnJfCWl2xPALHp/1+3Yuv9f0SvwLh09ydiPDy1nABl5\r\nyd4a2lP9sDz0B50T3gzvL/R+XUBoy6QfOzmvF/kwakq9l6lOrvqW3nKJTOmN\r\nenowk7i2MPZNAWP27rX1lgerd2NrsQGa0l8=\r\n=QxOd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bc90613e754d04f738197ec3f3f4602e9b362d8d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.f7f56fff7.0","@material/feature-targeting":"15.0.0-canary.f7f56fff7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.f7f56fff7.0_1668628527995_0.4285427131394508","host":"s3://npm-registry-packages"}},"15.0.0-canary.7c73f6134.0":{"name":"@material/dom","version":"15.0.0-canary.7c73f6134.0","license":"MIT","_id":"@material/dom@15.0.0-canary.7c73f6134.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"71e34e71466e09d98a6049d0b99caecce42ba259","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.7c73f6134.0.tgz","fileCount":28,"integrity":"sha512-VRuBBvqt9NakRK5EN4JM0p3qEQNsgt3O2BIuuE94mmn2rqZzq3Wa9BTfv2LErNc3T7nfgOn+4uRt0lTCKis/rw==","signatures":[{"sig":"MEUCIQCXQzTRHuOfbOF6c38zYtDk6XNK9ulkM1QJy6kB5zT6zAIgRrtVZnR6Iey9ZbL9UHUylOnc7ov1cWuDWorgZn1g+ZM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdUEEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq95A/6Ai5QX5YXmzuBJve6gBCLDy6o+cL1xMF3Hbhf5qzXWMAb0mzB\r\n3/6bf9L+17m7/qhVgQtYUYp2jwpLNdS7WGuFJa9ewr+SPOaWch0WmhosG1ae\r\nT4+XMssmfA4fPMsUXKTUDtyALUMxIxC7FWZMhKvKO0+YjDiAvl17yg8S9nWD\r\nFaAoXz5/XWxd8xsHOnXPQtIVLKuU6Qf8gP0FcjtmI9WKlmxHtPMyQmbEiRJL\r\npKWgbVtFpfn+BNKvgshWb4zI2wBCG3xZvMMQtwozsaG/gABPB85YJbrJiWFU\r\nYlatZ3oZMJFtX8ZSvUaMR7+l6dqhwRqWggXwf5ak3N4hWXOl5ce01gDP4q5V\r\nizV5SW8FbnhKhD4rKmyAg3avPsZB0Oe1z4hdxPhTUvYXUHDqQY1lMT6IeEXk\r\nhF+LPo/DSmu9DrPTmbHYvw13K1PGhcdMRZcbhKbE6IDPBEaAxz2GXyyoKCNh\r\nDYvLBd9kJpT8gNzFaIs7ADf7vTkcwZwtXNJa6RuwmISjCak4Q/F5JfyBTtMC\r\nKTiWovHi3HpnYN0puFYxQgn/hyRL6tKnELLhs4L53Ass8+qFpqLyfGRDS0ve\r\nD4AcXq1Ha26yvsR39Ue1uXC0+rpHS6lkgQp0U1HCKEFmjrzMxarCAu6Gg9ok\r\nbl7wgqITT423fkXcHGZ1/X4QX+ua910bkJU=\r\n=UJnG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"14f53e565ed77defe907254a486b9ecce4b45146","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.7c73f6134.0","@material/feature-targeting":"15.0.0-canary.7c73f6134.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.7c73f6134.0_1668628740799_0.24009114649486296","host":"s3://npm-registry-packages"}},"15.0.0-canary.f1e037150.0":{"name":"@material/dom","version":"15.0.0-canary.f1e037150.0","license":"MIT","_id":"@material/dom@15.0.0-canary.f1e037150.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d54c4705bb45b392233883292779b66872a48bcb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.f1e037150.0.tgz","fileCount":28,"integrity":"sha512-4a7dMvUGRFlaiVCuZpTNiTK9bQeHhf48ocEW6wEaRm3TpMBOVbqnqPELwjnCOAHfiAi8g2n9DLgfnzGx8oUvEQ==","signatures":[{"sig":"MEUCIQCymUBslRrNlOpNSVDWwiJ5Js87uJuM1QZGRz2YJ8sD4gIgHXHZDAnxwCfjnTduY4xZ6leP+4Y5aH9mci/1kZ3pJI4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdUJWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoWQw//a4BBYXfSXh5xy2wOu4iiYfrFN5AaK0cob8bJkKbeUDFxb/79\r\nyQMb2R/ak/16ovb7rsdSywJiZyRtPTAG6IVtIO09e5Dyb8NaDJchA5Ch4rgp\r\n/xC6+LrGoHzIyiHf6Hozouw+3BLA31FepRRuBgh4N8c2eezdAwiu1CdqImwz\r\ngNWOS4rKCI/6gHEknNGSznErlUhr6Um1sO35TmQNuLDzL52Gtz1cTOkkI4v3\r\n0QES2LOoa27OMzFsle79rX4ePCND2cAR8d/kdhDtyTz6IBDWi7sPHQU/TQ8m\r\nkwMfSNSqh3GHKOnHvUCNYHFDNAGg6Crfija2nBgAcetpDwhiagHXf6yWPokq\r\nSRwqzVe3rparQC5xlvKSb9zLDH2tGy5ke2sRhdKDBXVpOrVk3X6xyu0iymcd\r\neOwpeYo5RWswDCQjnUKNMxJ+4F0oO8O9MwISxhgYnzZJUZl4i+QHhUygmcdO\r\n2h5f7hXu/mbuN7wBloZ/nA+G0ofLWAHLprgXcQPy6gE+4GvH3Gp0tiN1S6Qg\r\n4xeErX+Qa68bWxCZSlfhv2ERbU878xBCtOOvTMveRnUpv/ouVnsvM98nDaJH\r\nc4SE+gfaferK6SuPgfi6HZApb7UaLbM3/icrzh2fGb+IyEo0GimaCNbxLvRH\r\noC3YPSSk6YzgAwhoGIcaLJdHZE3LPt7HNNs=\r\n=ZxM4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a639195febefa28bbed957ef46942b3da6a4cecb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.f1e037150.0","@material/feature-targeting":"15.0.0-canary.f1e037150.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.f1e037150.0_1668629078433_0.7787611453801542","host":"s3://npm-registry-packages"}},"15.0.0-canary.40b18d043.0":{"name":"@material/dom","version":"15.0.0-canary.40b18d043.0","license":"MIT","_id":"@material/dom@15.0.0-canary.40b18d043.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e23185c5166f0b02f16d3f293f792fba46aa43ab","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.40b18d043.0.tgz","fileCount":28,"integrity":"sha512-/+T7XOnBRzz6VH1E3grp0LqcRdjWGZVGVG4J18rP6OVkG3u80M/bYCZcLIcreup7Fyt8umugPZ3DDNgxpU+eig==","signatures":[{"sig":"MEUCIFAkybzia5oO9NuEvJp6kRODDh5l5j/dncoaBhC52BsTAiEAp8VSQ83+on6137nGW2SSUb45i0J7bcGSmqq7qs7mUps=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdWsIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmobkA//Wy8dGlti+V4/Ti+5N3QqZO6kHjmoOxFOBCQOHYZlrmx61daG\r\n2u8WNfpYiOpujNBOF3N3z2hDCYqbTNNK5IWvC/QxZ6biBlg3mBAFBc70JLdN\r\ngdvDrVz5XeNv0lEbWE56ZIE0lcotS0FbEE+8KO+Wf/GrA16nbQtjiQDs3L0e\r\nxa+zAmZv1e8G8aRl/dezY1SL07LsjLcSToMl9fWMc233i/g59Oy645V7rmHN\r\ng5MP6le/4jM4UkU3XgQsZZUCR77vo7DhVggNr1FNeCVv9mXl53yT62zza0Rh\r\n2E3B/Fk7I3enY/rKgB8ofObelf0g9Zzrrfmk9g9DH6jn2utqU+FuJR/dpUio\r\n3fqLviYkvxQYUi/H7NHlC0V7qVZydGt0TX4b0IL9CgnhNRdnWFt71KP/WZFT\r\nfrPY4hkUyFDU9Df4E/hp8Y0/kvM+aXDi64fNi+nBhazjVgvEy5mO8e8KHV/C\r\nuQuih/gmD/sD7B5tp1GgEAZC/PK3XJR/9Qux5fiSqCNbSmMcgJQwwtc+6eIQ\r\n7ap8hHzCUQriTXoeKuECHUo/sNZj46cAPG9rOIHptBjFa69OzoKmeUGoh/Zg\r\n6APNaKcbfzxPeIL+w7KoGYuFm6N24b9eUkf1gillTYICFKS7G8K/WF4VyRA5\r\np7k4YmQ9XwwQcjbRCCT0Zfzqnl9dlQCA1ZM=\r\n=noJX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9ccfc97518c89cfcc2b5e776dafe81024d137f31","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.40b18d043.0","@material/feature-targeting":"15.0.0-canary.40b18d043.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.40b18d043.0_1668639496261_0.8606820898551435","host":"s3://npm-registry-packages"}},"15.0.0-canary.86bde5c06.0":{"name":"@material/dom","version":"15.0.0-canary.86bde5c06.0","license":"MIT","_id":"@material/dom@15.0.0-canary.86bde5c06.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"62908cafae6b5f2d8e72da805b6a98a90e577e38","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.86bde5c06.0.tgz","fileCount":28,"integrity":"sha512-1zRL4+1FlCbEBl7nd8wpWGV3zwH57hhR8GWZUZCtrWzm+Fw9w4E5irxLwP/j5rzcfAEIHtao3syb18Y0lt9YVQ==","signatures":[{"sig":"MEYCIQDF0PUH1pWNfLs6+aOmt+o8yyQVWhRflEJgxAZC945KbgIhAOVljLFJ/ko7hE2L4n5Gz1a/ah9qZ2TsJO1xJza47pXx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdW1rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYTA//S4reOKTDuJjmjK9iXgKYdZasWH8F98zBJxTM30+6JHqrMt2u\r\nR+N8hf3RpKvXExTWpJTLHnKFLjTnXzkXCcMpHzU+mUZziSoiSxfLabnp6Eq8\r\np5FN6Mh1Oa0GJ4TniJ+sKx0ZnGFS0u+E0YYaMUTtjWI57hzCl2dToKYRnXfX\r\nlB3tekdwyj6DVfvreMZaTaNEE8eEDO1+E593EE6B+qz9AehkjvL4gDh3dN4S\r\nszviYiW7JHgRjnNK+S64HL2W6E7eCkk42iSMPJ8PU2T2ULsSmyrK8odbT0Pr\r\nkrgfv0xjh/Calt43BCyFTS+xgC+3jZdIs/7Dq5SjBJyb6Eat5/0flb7z6FUy\r\nNjNzqeU7lcMpFDtTU0Aw1AjDbNpRzd4HDYRJvNNCwan+rup+5fR1kiwpNtM/\r\ndywlIGRy2IObhRSRWqjqO25TJaz0urHjYCKYsmQWLhIiMuwsOKZ6ATROe6Se\r\nd+I+OSd5/wpk0Vdn7bLqT99n4DQ7W9gfDBcB24zHXGNSssD8jTUd2A2G5s8A\r\nN/iWESw1oPPtLm7UnwPQI2B3nyYikdxbbj6GpQHbi7pnrXDRkR0ZoI+1Y777\r\nZ/2CgdxRLAgGwtW5BcSDH2vcalYcRSXbBly/OI09KfsLAbcOA/i9LqlvqHwy\r\n6fQLWn2enrAoZShDSnyDmwr/3LB5mAKDCRQ=\r\n=GUOl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b9cd39d4936a1961536e39eb1df855c5164d5840","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.86bde5c06.0","@material/feature-targeting":"15.0.0-canary.86bde5c06.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.86bde5c06.0_1668640107193_0.710241699847953","host":"s3://npm-registry-packages"}},"15.0.0-canary.bb7751002.0":{"name":"@material/dom","version":"15.0.0-canary.bb7751002.0","license":"MIT","_id":"@material/dom@15.0.0-canary.bb7751002.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d1295e062742450ce5297160694ca3f475d20775","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.bb7751002.0.tgz","fileCount":28,"integrity":"sha512-S6O+jjZiiQTHSltF9THPyIgFesb0tMA+LyrBN8Tgr2ydBqyoDjMgDAxggiuKJVt30rPyTY3dGk6dx98acaWXyA==","signatures":[{"sig":"MEUCIHb6Sc1DfnrT5NQ1PCMPf16fY9cGIw0QkQ1yF/Aj31gSAiEAg+Dw9yo3Zc4p4glbf1TOJMi+3ULkTraDe6OJci72/OU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdXlqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqWLg/9Gz8zwNV3GPuD0zYrNnXVbYSaPRP1cLgJPm04/soxJoomRjI1\r\ni4Te4t1x4V2Ya5hQVjeQ8Ms/4Tb9y2RvRH5DDIMT6ZCIXJeJRW0+fc1SrR0X\r\nIdcqwyacsmF9RSuCY1k8Ls/V0khwbxx2Yrj82EUegkafyDkhNeoVBCMuVsQT\r\nbVLPkokjhv2htioc6FQDFBmLRZnOOlqzY+Dj0cFPkPA6wp7E2MTzGR2UPu3p\r\nnOMNcw82/nb24KPYHHabp4JxcG4eA+9SMz80vkGcTi26+AK9ie5Td8178ZHQ\r\nv8Kyb81F9IfbgMPRxR4hXYsvvZhmdTQoGg5bIFwkdXhD+iNXcocxqVtmH+/J\r\nnIezgKc5OZ1/l2af5SeYcf1v6lfgfGV9DOg+fTlPJlxfoHWDHbF02tnhNXg2\r\nih2BxSgiXPDuCPPY64Jq4GIXuRlDs81CmgKHjx1QkTN/zPuuHW23xlJ10h2J\r\nA+DFDVf0/GBnLFkvPBiAeU5H915bOFfdu26ruax51IKNslKIBUrVrsHx54R9\r\nqeBvw3wYdVbY7v6NlVy2zhqX4IAKEBHU5aEOFyN8Ns2B0tIjfvVT/i46LoYb\r\nPfjGyRZ9SM2NQox/am3T2ukQOjT2Zhqdm6Y6mO+fqkNVqDQAayyGKP2YKp9V\r\ngK9L+TxUnICIgrKD8kgs/hmpx9SG7ncV0Ss=\r\n=xjRx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f83cadc3a1330a69930926dacdce7fdf10432f98","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.bb7751002.0","@material/feature-targeting":"15.0.0-canary.bb7751002.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.bb7751002.0_1668643177894_0.623572159867571","host":"s3://npm-registry-packages"}},"15.0.0-canary.63aca9af6.0":{"name":"@material/dom","version":"15.0.0-canary.63aca9af6.0","license":"MIT","_id":"@material/dom@15.0.0-canary.63aca9af6.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f3f45acefedf26c2293147f415f683fb491d12e8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.63aca9af6.0.tgz","fileCount":28,"integrity":"sha512-37qYx6Gm81meR39ZP6EryL2+LZQTarott3gHBS5lCD3YZMl4ydTG4p3csf0311rxleuHY28ou/vHjkDfvzJQrg==","signatures":[{"sig":"MEUCIECm6otoEX6hOUMZVF9q4SNNx6vX9OpQYE/qrpXerA4mAiEAr6OiRkweiMdl7C+BP/iMPivF02Uts0FEgMRKvZcXoaY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdoTXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVuA//YUfJVYVQnv6E914ZWHdaGy5Z67S+pwHJHTyl5tvgLQQw/jSt\r\nS+ApbgmJ/hqZLgr5Bxsf+JZOrGZ2gm8KwI5T9ZxptnwoCQm3dFyRu47b/+Iv\r\nSTu7C8pd4vP85VlSGUZWc61Ur/mgugnoXCr/xKF3w+iBirbIEKfyiO6TYyVo\r\nUC83fDJ6uNfafxK9Ab3+xa+XAQTD3TYAyp3kaPyyy4h/7g5GAXVj0342OwVW\r\n/c8xzS4f62ZDLN6DLRxuajbcVNQb9I9groWnD5t3zNWi7ShGSSoEOxs424IR\r\nnw/ThBH2eZ9SqFOWRjnT7H/0aJdsvM2pW2J2tzBwhlQnsh1GLewTZSfYMnRf\r\nUnYZ+DWbxDQJ0u5weaZyY2+4Gljayk9r0r97+tHQsZG1WotvOooRsnT2r7YZ\r\npBwEeuNFrK0KrlgrBa+De9erqrx+uNe9Xy0ik8+0LFHbjNjN+SpaP7R5XVEl\r\n0kI96wgxJvPcYYtC4G7WJZIf9ZjC0gC/2CzcrP6wn0N1HpgekR2IyOF5mQ3t\r\nXoUMWXzOG8H9XCnvfnDK4cAWCXnlFj+rq1nRRdtRwf9yIok8eHIHvlLj6L9w\r\ngU3EQbiYZSSubYHJU5mOFitggdlznVU2UKxbLs1MrPRtyWQjclBXOWCJNA+W\r\nF3Lx4pZe+wpFr8FU//hN96BIx2quA2CdOaA=\r\n=VaOF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c2c841973403116b6a405bb9aad3ae8476bc028f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.63aca9af6.0","@material/feature-targeting":"15.0.0-canary.63aca9af6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.63aca9af6.0_1668711639411_0.2582715948381493","host":"s3://npm-registry-packages"}},"15.0.0-canary.56482dc2e.0":{"name":"@material/dom","version":"15.0.0-canary.56482dc2e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.56482dc2e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"387014f43063b4bd3d9154db65491a9f97aa326d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.56482dc2e.0.tgz","fileCount":28,"integrity":"sha512-EFYrQExNHg/oPYn9nG6x/li4DKAh0YAeRuA1xAWSFrHY18cgV3eZLb4sH9Q60EDiWdHqNBSSkuAgMIJnrxQyGA==","signatures":[{"sig":"MEUCIE7vazmgAjSJVyz5Tq4KhkMtSUG9Zq7yx/tpcO7j0diDAiEAktGOJIV2kPOYuornv43Nbbh0wPHpFYG/7SHSanRZqFw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdq2jACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpgQ//UcEYlpMMrO4lXnSl0qhIQZ9MMxCo4ugPKX+j7r5B9RQq/ZU3\r\n/Zsn9ZFnWaE5YZOnTWcauqEPWma3YZzIVlEEh86oRKpHJcyisnEgu0jni6Vc\r\nrVq4jALgRm2D7BwN062Jwf+1cSGPzyKpqSgXNMMzsTinoHI5MCiWY0rwlfhW\r\nj0xMTathoeNEqQEjCT/la4rMqtCj5yig2UDmlV1MX5BmuNkkM8f+fP6uuJLv\r\noIaydMJ9o13Ud4UD43e6j23gh2KFBsllA5znxQuXQZazNqA+47i45AcdOX5D\r\nPVBhyu85Fzs7aduSlNfSqMGRSQUoEsD2wQGaYBcKhbXdECMJfBIdJw4cJvsy\r\nTpH3tJB8rc5jLyQteD8suJ2OQyHh0kQL7wPQPzwJ87XDHxC8FmoDRl44On8I\r\neK/vl/rTyaLBEHwetVgxWT/2x/EOtnpYpb8dY0MHYwTq4//huHdKkmsWZwbE\r\nYiZANM4g2iTJ4pXEgLBtrZNUSPm+8TVVpa+ttajVihLCUtd9o6Mh2dLzrICJ\r\nsUzbfuHQ57kmbXVSxsyi3+i9UT546hy0zc/k71AVAfQB7w8xXP1bs5DL+7bf\r\n70yeV63cTRIoCKWuT4YHZ8GTCrveM/JOGFrGgZOlD8cCzkQlgiBjurcQJ9Uq\r\noNNJiq3RDI/ybceZ0SLlmVw8KeY+svnq9v8=\r\n=aKJ1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c65945fd8948c8e5ada035d0f2538dc2ced7a28f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.56482dc2e.0","@material/feature-targeting":"15.0.0-canary.56482dc2e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.56482dc2e.0_1668722083755_0.4619795783270144","host":"s3://npm-registry-packages"}},"15.0.0-canary.953e689f3.0":{"name":"@material/dom","version":"15.0.0-canary.953e689f3.0","license":"MIT","_id":"@material/dom@15.0.0-canary.953e689f3.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a13a10683a37dc62a4c63de73d632e00e179e7f4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.953e689f3.0.tgz","fileCount":28,"integrity":"sha512-IT3/0DuSTMpiaso3Vc1RuK3zy5n9H6D8j9nAeHfrjEFQUuxVqrBQru4tXJ63F4Ik4jx11CeFtg/7EY6FpCyBaA==","signatures":[{"sig":"MEYCIQDJfqx1c6DKSC/i3p3DZRcvYjlVk/I8IRFV0Ub/eFYHswIhAMpvpFSJCsyhX0qs9BM2LNn7aayxi8Ql8FVyDCpV0+Jp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdq/cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpqQw/+OAKXfs4FSYoEXFFqLIY9arW6MNDzQ1l+TIwY5prujQrB90jX\r\nwi2Ze19WXiSDyv84vG0qyfOqCN/5NnIWe4C74lpqxWPl/AgfAXn8+md8qQ3T\r\nNHIHZFUsZ1w85ANan6XZM1wZ6P2WwX+bHIE+vlQBHzmUze9ffpGjfG520WfQ\r\nTDA4pnAEZnmcS7oWvvx5SdGOjWFRXj6ZPJHq42boT7APwz5rPbLPrTyc+8c/\r\nh5dlsSLPO9txqqauF/tx4AZ/1jLQ/EmGMgO/XM3gvL/R+Qfsuxqiws0a2l8U\r\nbs8LIXZZ7mSawg/BFPQSceofi1Z8vIiXfnJjsjyj1Ez1lQeM4hEikiUPCKxA\r\nJHoWHjIoUWrl3sYuwwehWP9EcAJxpSP/06Rp5L+epDffRX/7RNMHvqjOnbXX\r\nKngNAWC44r+UIpHejdjx0erAVKLri4MYv54t0p4C0RrHPDB7lgfg85cvfMuB\r\naDt2EsjL9epyQKYI5RY5c/X34oy0Jl4mx7NrkNPt/w9+WkGptuUcP6FpFdhK\r\nOUg0ILFCtGVKJm7O+NQ1o6QhO187xhyL2n9BrsFofViYHkhRan1YakNkP5Pf\r\n+7wNMKvhDisForGtX/A1dbGcrUluwPKjbi9qVr3dUphhMT24mksRWsQDPrNL\r\nXLBQxAnVROLxU7zIyC2NMD8+MZeeFPqTf9g=\r\n=ROKP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9b9adee0b4f10a2d6d77fc10e9291c3aac8be42c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.953e689f3.0","@material/feature-targeting":"15.0.0-canary.953e689f3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.953e689f3.0_1668722651982_0.1652962831595175","host":"s3://npm-registry-packages"}},"15.0.0-canary.b5606a793.0":{"name":"@material/dom","version":"15.0.0-canary.b5606a793.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b5606a793.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bd411cce3b94d40f475290db33c7a8fcca5c4707","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b5606a793.0.tgz","fileCount":28,"integrity":"sha512-zYFFZZgJkfX8Ztd3eNYQ/zF6hdeeNqocaBynf3ENDfIMGTGkrHUHELObQnBizKavaLnAyjngCPAPNTpcARhT+g==","signatures":[{"sig":"MEQCIA1LnQ176XQKkFpG7Q7x/30PbjAf6ugr5RLMeu4M9RiWAiAJIrAPv+AmP+5aak9v2i8KjcpQZRjzxrDRt5qRY0avzg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjd1x4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVqA/+L36C39ZDdwOsVqf481JaGRo37/Gh5tAUUlUYgkkXad4S+GFx\r\n1KV0TM0xiYX+XFTUx+/JtfyWg7+K+ziOWzjxekYcbcdMNMaB0QlLyRtapg1F\r\nRiyCg01GCPwdxAaCJ8rR4quzCWvJgiOUmJplwqeBLSFndJJGfivjALWqQ6Lk\r\n30WvVxccuVPvlkl3zsfn0q7CjQdODp91skT+LGJRMVGvHBmolkOmeq1XpbNP\r\nfb9nYw/EGqtAfmjQWp/PGo/xuBvRjTciJOWk+yCoLCZt6Au1ErfZXliz2iLx\r\ngcxsdjV13739/MML+/kUUzi93dZu3bBCf7WekFjQJzJzm2KGbf2We95/zceO\r\ngUK5XHvi1iKETAKMvDt+LyP/8qFcAwSYEmdf5aaI6w6On7ExUQbvns3hc1cO\r\nQ9sjWXeqSENUlmhkknNEVF17Zr7cttCJyIi3QjFJ8wgrbFzjIQG/3agxeRaY\r\n++KqJJzIU/FWx1/d1fi6dbRor345oqxG1FMwugoRLcoahX2/rJtMQ6CKkUo8\r\nugcFWmnChqZkQLkpj98HP8BOVUQoDI8TYRH4GliA35PxJF6fA0y+hE4lXEwB\r\nxKzTEF0EaMiE2x2W0NcLbg6brrmjWbVSr8kKw7J+KrE/ZfiHek9fLiVDy1l4\r\nzbwWAHE6sUX05Knn8+7V/MQkINgOC1VIQzI=\r\n=tZaz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"681685532cfc9993a6190aedd85bf5cd1b3f80e3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b5606a793.0","@material/feature-targeting":"15.0.0-canary.b5606a793.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b5606a793.0_1668766839847_0.22777304266916554","host":"s3://npm-registry-packages"}},"15.0.0-canary.8c5675942.0":{"name":"@material/dom","version":"15.0.0-canary.8c5675942.0","license":"MIT","_id":"@material/dom@15.0.0-canary.8c5675942.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a426f166f25265ced91afc71b47b54fecb570b12","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.8c5675942.0.tgz","fileCount":28,"integrity":"sha512-2/cTGyBfMpLy5D6+jRl7FYK4Q9U9OmD2Cu3cVlB6eOhGNTD4SBpC4vX3hS4ALtKyWf9zcEqZD3T41+LoS30D8A==","signatures":[{"sig":"MEYCIQDMC8EIN8JkDFxzFL2Xnze6nqTawU2NrMFlE0lkIP5dvAIhAPICGcqZzt6thPLSFklCeAdqK+EbkkmDBnmYO/BZR1nc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjd6GbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpHsw/8CQjeO8oZibqi9cdbZfBrP61MtqmkcAyYUJG6TYlakAo8Kb+G\r\na8XsWhliS2T0kAVrQ8ycmxQUvBzKPs+OJjZiwL5BrFfADr/sfBVQCC/SZArT\r\nH/7Y0C770RIhHy9MfkkYjEkdus7y33fwIKP7fyDxviYH/PtoKCkJIM16k7nk\r\nK5TSNXeGcccT0cT4nmoHO+tHD5t1wgKWjdyBi3pCGldWIIWopEXDRGp55NpS\r\ngknBNqiD//CfVYgtjdeXC83bulfFrA7chQJJhzSQaZZRpR45I63n0HmpSRVK\r\n86jPTJEmy35UmYfAbUGS33RNUMlerG9vSbJfPlpTDVFy+YftET5gBECBgrrS\r\n47FP8601+koDu0mkssum2ldox1Yzjcd/Ua6Tgvrr8rXb437HnACuxGcIr1U8\r\n3cri8pkjrwCJLYO1wGZNjMbFCTzAF97eW+s6PCNamB588wA3riHOYO4el7a7\r\nCjmmGthjdQLsOVRHVz3r31aamWKLZ/5j1jRa+BFyHGmkGKLkIXDS3jTh0cDG\r\ncuxQaqXx/RzbJTvTd4hE2p6w9xRowh+wPf4viU+Mr902ItNCgsfYRCQ3E1Rn\r\npNFeOTLL4Xt4elcj721vPXv0DQq4OQFghg3aXK+JjkyS8lMwW7u83O/4ZNkw\r\n7r29bTCP0bpUO8aNoeV1BVyLWyaptsuOXU8=\r\n=8+dB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"46367ab28a14e7ab75dbddad4b3a00d97443debb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.8c5675942.0","@material/feature-targeting":"15.0.0-canary.8c5675942.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.8c5675942.0_1668784539543_0.8803511993807329","host":"s3://npm-registry-packages"}},"15.0.0-canary.697fbdebd.0":{"name":"@material/dom","version":"15.0.0-canary.697fbdebd.0","license":"MIT","_id":"@material/dom@15.0.0-canary.697fbdebd.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ba1ae2de766a703180ded52ee0afe5faf6e28b5f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.697fbdebd.0.tgz","fileCount":28,"integrity":"sha512-jWTFr/tZW6ez0azOVm8lVlTWoClz5D8WaXFA5gpE6aE4IQ1hvfAxSfhM45olSZI208U9yQDIGdDV1oAwinYmcw==","signatures":[{"sig":"MEQCIC2CFfjtZduAMQuDEfEPk4AZemqerSQ7vY3rU/G2Gc9yAiA874D9TNT8RG/YHQx8UMlk4cupgkwJHkkEmyLFAG4mjw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjd7oYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo/fQ//dj3hRyebygPk66fVBlB9Ox3nZSWZ62Yl30NdWdYv3+QFei3S\r\nNB6Wdh20tu1G0vT6adBQk1qGe0xuiiphalP3/OlOOMxr8Wg5OEqc7FFCvWf4\r\nv973mnRhTMYYKAKYoYP/dH1R86yTASUPuIdxReLs/82tsjIW3CDykd3If9e8\r\nkElwDRFdRiYobvUvX7vf5tfJS1FrUQqfBiqdkFtSo+bh5XGXT2xgRcrpqeSU\r\nXBxr/Yax3ZNpPJQRveqrS8vyF6xpLHr/QQO7CHk00J2dlmtDcQin2QXzERsi\r\nnEhHaGWgEW0kovY/oM3wP6rLOGlq/CVhkDyCqJeb+MzzAOK+9Y8X2ACnSuYg\r\n0ZN4zpmcmasdaQssYe8RXldKQw1edz/7RfZCAwvD0k/Unqtj0M1Tvf7pT+21\r\nQ2IrDXUAl3YvZZelYGNfWroT0r78yNlcw3HTEou6xKrNevPQfkbFcgKUOYr9\r\n1irN70QTfoVuSVHH4n3FGHG1ruM8sQ96Uuca2npU1MvIyvlzuZ1WBTXj0QPN\r\nc1JdO77hIeo3lPW0UeNvRRWlkjguFa+BrxyK/4F5sGpqhDaUdfqb+3MIdSke\r\nm0eHp0rUHZZRibCF2tZaEDHQQ5FxInB6KXb1h5bdaOfLullsraI8ESj7K9hr\r\nJ7BA8D7k8gSCu/udAcYuFvAss2yQanhvgLA=\r\n=Yt9n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"633705dd01d68334d80bad5e354eb7e71d9fa30b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.697fbdebd.0","@material/feature-targeting":"15.0.0-canary.697fbdebd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.697fbdebd.0_1668790808388_0.9864167672147526","host":"s3://npm-registry-packages"}},"15.0.0-canary.d58410453.0":{"name":"@material/dom","version":"15.0.0-canary.d58410453.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d58410453.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"212836b332b457fe2b4a219bbf7ae0970d107570","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d58410453.0.tgz","fileCount":28,"integrity":"sha512-NKpCHkrCkaFuHiJWEBPsyptcHdH2Zc+GIhh6CqYlcnt5H6vLWnSPv9iRnwdMvhJMpRvIaobjVUjo8vGG4GkxpQ==","signatures":[{"sig":"MEYCIQCD9ZiygmPaF93RfxeROjpo0i6v3PWaPIercDwE1cfXNQIhAPAblPd35fRwl+vMYh1Qr6aiFqTVmxmVe9K0BL6cUj/9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjd9vzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqqKxAAmX2iu8nAnsigjifhDmmEUdIlwba5dimIJOyjf5WNo4K6dpA3\r\nU6NDZMno7ApDyRzudIkZSqnu8rrvxSTxFCckLNXKRRljMeN+EsXsQd5uZxDS\r\nDrcasoKsEFynuKKX1n49+tr6GALaXlGK3Kw03mWrVDlgVxbldRRMmkY7A1KE\r\nel0KoUsAMB90Efh5iYdjKi7sMOMPLca3teqLUD9MTNk2QY0BW4NXgFokDjzr\r\nWgpcEfMJSwPBPBRtNDpml9KJGlD2ZW8FRQ9l/Q5DQ40B5Ndld9AnvG4ZXUsn\r\nC7b7DryOb01u6lUNUloC9Ku43aGBJF9ZX7GE7qeRP0BPKx04y3wXCboGb17H\r\nAD1ehD8b98OsKxllM2YEsxKoSD64H9LN+5VmypkGESqppa4aUGeTW4Ugr0yl\r\nTnzGxuzlC8h9V1Fv/Jlb1sAPxkfOEmzqH/NoU8BU0DqzBIbjSZXpCDRxb1Sr\r\nrVdJY9De/ER3zdlQVMZuDea+xAJcJa2jLauLhUzO7N2Qcz++3j4pPBc5EMnd\r\nniqd5VRkxCEUrUToe8C9LV/5Q4BygzHk8G7WlEA+OiiTw043mK6qYdlfeYj0\r\niErWZyVaEOCs7vGqd8OqpEgAbxgMsbWDWD/kSJpNVgtXLEcWWluwI+Ofu7Te\r\ni0E223On550CvpoJzXBJvCABM+0waDIgFmY=\r\n=G7Tx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"65248afd9a1318b7afdd324f3def6a9c8e67c90b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.d58410453.0","@material/feature-targeting":"15.0.0-canary.d58410453.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d58410453.0_1668799474972_0.41416411927604035","host":"s3://npm-registry-packages"}},"15.0.0-canary.7971d6ad5.0":{"name":"@material/dom","version":"15.0.0-canary.7971d6ad5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.7971d6ad5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"43dd17a18c12c6cfee62b0712c58d70075b4ae24","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.7971d6ad5.0.tgz","fileCount":28,"integrity":"sha512-h+KV0egRy7zniZElzDW5duh/VDZUTO9SmMeC8FFiqJMvPe3V8xcH0zB+jL67hueLqFixSSJebbdXMbVce4nwOA==","signatures":[{"sig":"MEQCIDdXH7mdaisGi6BIOTN8ksucPZoCUuOOiap6qOYZoCZ9AiB4Rk8sEzWbPgbxdw+D1ajHBUorFePa3Apu26jgYRRYkg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjeJd9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFfBAAg64KbsZRupGZXPF5OVVfND8CMa/7xRkU+cTU8+9OEVrZKvpL\r\nvsrIH+4PULIRF3RqJoSRQOiKi2+KFw4YE0j5Z6lw1hATqGLk6JhQWIEq9mhf\r\njW1l4D3EWXW4+1/oIzlIy1vT8xcb9eaj2EaM4RJEzjRBSy1PMjU8qLMnuKnU\r\nLOGY8GnthfoJ9hFojOJRSOO/uRbdg4VuykLAO2qXyooo1NmqLfVoecWr8hXT\r\n3o2dUeWfGSYuMISfPAV4Ixtg8lgaJGUviokE45qYhuLOZnixF1Am5buKzZL/\r\naVF5b0twPq/b2rudcOfDOXlwcNIy2R6NOe+Ot2uUt67dKx3IeG0rrbCeF1nE\r\nZCoCu2aj7WQwlnY3fH7I8OEWl+9wTy5SyVVcowYgpR03FDX38ol12bnOY+Zg\r\ncFm9w22S+k3PmRn0rGTcF4+iNl0VpXel2N6ZupSaA4LWL9imskqwJyoRcoES\r\ni2YmldGmCa07GkQlx9TvSohngl9OWaEPFvkp8Ud3ZRjuzmoUeFGk/67rroy9\r\nUo+yresWJO7dl4qZfHSIW3CDZTxWnc2ADIHFGIpLwJDtXUCdG8Pq6pBps628\r\nkd/i0kjg2mXMBGozpeNeVkEsnarIWwH4kmJc2TQ7BhvMZTK+m5SPn1qVlILD\r\nubYaTXWmp8tyTxN4oHwrlnD7fXUxB8cP4bM=\r\n=PlI1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"caa68cd6e7b5cf4d64e037521bea18e312048e69","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.7971d6ad5.0","@material/feature-targeting":"15.0.0-canary.7971d6ad5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.7971d6ad5.0_1668847485679_0.018401972363994767","host":"s3://npm-registry-packages"}},"15.0.0-canary.a0ae73b0e.0":{"name":"@material/dom","version":"15.0.0-canary.a0ae73b0e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a0ae73b0e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"eb142bf5659fe84f854e18c68aabde4360d16563","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a0ae73b0e.0.tgz","fileCount":28,"integrity":"sha512-aZKoJj9Rjd6GnSRdlKMBhWsRRivjEx5PBI/h0Z55emUVWUNNf+5Xw1oc+gjaj+udUj2tiSll6sVTsMMf8sfxXw==","signatures":[{"sig":"MEQCIGOTiGbqPwsub2YPoLk463DZ/GELmWVdFsIvW4qdli1xAiBpfv+uwhIvoIYn+B8n0dwmex78I53QH1SqCdMMxu53Rg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJje1iaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr5MhAAkWtSVWOQOEvL4yR7/OEoGgkiJUyFIpgem9Qq31apRS73B6J6\r\nyy+43p9Y6kT3h6G563nPBIyEstRMXruDXwRcCJ8f+NGakoxWoKzHh8M4VI9K\r\ngIOH6OjjSEm0YrhYVURLSf7+8kZsxdg+jPJIQuMgWWtcTeN3g8xHwnrwREnR\r\nt4LzcCRpWGTW/u056p9kH0GMS4CA/j8SkQ1nQJsQa8yRRSwi0QV5mw0stcen\r\now1jbWAZ1VUTnvF9f2N8WYLxdDbna7Hqe3B8Kh/k7Pf2+KCS6q4yXaYg4Ws4\r\n7GaYcExvNdgjSFCDlPZJiEE4g0szsu2rYKDYZfjIT8b/h2GVGTtsUjmO2Q7B\r\nV0DFbxc7lYurJPjQMVrwtt3cKMIS5nG4L8bov3hNk5Yqef/PEgXt40crv2ZM\r\n2DMh0cxErO1oaHgM0/z6U0wMBWSgqSINbhHPXlHgKKK4yuZyzDm1ICX1qlVa\r\n1pjLYvjriHnAz+rOCYBG91StbF7R2uXLD0I4WrVIb4N7w59O8FbPMggLEo2d\r\n621jZlj2z6oQnZfswal6sGQPXKCI7CcGQ7/FpINUXTpBDKILP0DgGEJ2w7Pm\r\nQPNpz/cT63F3gK7pZklg2hVhGEysz4T0HPGQe18+oy2dE8hi6T2dOLQ8p4Py\r\nJT1lQjH5m4PFIWbW7U30R0GjLyuNU0KOMTA=\r\n=gkLt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"92b496120a9385203165ec42657a2edf41099000","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a0ae73b0e.0","@material/feature-targeting":"15.0.0-canary.a0ae73b0e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a0ae73b0e.0_1669027994684_0.5880626425065689","host":"s3://npm-registry-packages"}},"15.0.0-canary.96f472604.0":{"name":"@material/dom","version":"15.0.0-canary.96f472604.0","license":"MIT","_id":"@material/dom@15.0.0-canary.96f472604.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"96adcb745d7e4326d2ec2dbe6abc81b5ae22e794","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.96f472604.0.tgz","fileCount":28,"integrity":"sha512-SGiXUOOV4+mwa1A3mo2wolhGjnvYK+ixf0pTzrEIXnEPtZVoiFDyuA/QgeEQNydGUXSVtH5oGpfuS9uH6vprUQ==","signatures":[{"sig":"MEQCIDeGf2NObzjdtF43xBeJERczB9pP2koY1FCTF9qznvg6AiBMt+3T2Xpnua7oOdijfDXlfOFP4criu739oRTJ7ULYYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJje3R7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpO0Q/+O2ofHtOxIO6hNbCq8SYUuMXfiixVlz/JVHNxfOTvYE1uqlzD\r\nNU6pIymE+ko4S9+ULZ5sKPsCftEZliCB661wuxXdNhK3vT/Xratc4URBMNhg\r\nMMUgmOO+A5cPMT4YT9P5P8131t3nSv5xD9WODLc+PMUSkAxUAAvxLvqJBSC6\r\n4NfjFiT7+Wcl8MtxPKaEF1CPzkLDDi/Q4RndBlGBOEUFSCBEq2NOP7uCkCIW\r\nW3ChLmK5cNHBXh/BcpuIoj/RLVBwuVayGH8i9vxlqjLdXYZUDi+wMKZOAo75\r\nRpGvLocGqDDbckIDA3NINBgQN8ohQ6snt2grs4+rTQMgPzj9QF5t7X2+TKbI\r\ngJAtGyKUpPpNApesUyO970wIVet70eMzxWpp290RCwelFCTrXAwwsTwWidPR\r\nvBSKhfo7ved5zBnJT2flKopRm+yrGytrOPgNaIiZILTBS8NKv8Nn11wKQBo8\r\n7y9LxR7G5LVrdJic/Kw/WNyAUMy5hSixocunx8TyIfvXHlO+eRDaPJwafaHL\r\ngnG90FEZlCvm0yK5TEbUZzXXz4BOyJWRR+i9PADd+xMGbIQ8bY+fNIvs+yhN\r\nx2mde+asNbGlgplM++RHTY/IdNWzMXYg/M7t7PssWWY0DhDmj2eCwrHCc2pr\r\nDtx8w0Uh9gJ3vVIDPuR81UDP/4JR7AdJ3uU=\r\n=Y7zL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"28f313542547c982f69fc57b98811983600931fa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.96f472604.0","@material/feature-targeting":"15.0.0-canary.96f472604.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.96f472604.0_1669035131455_0.9064074545008298","host":"s3://npm-registry-packages"}},"15.0.0-canary.18b8f31e1.0":{"name":"@material/dom","version":"15.0.0-canary.18b8f31e1.0","license":"MIT","_id":"@material/dom@15.0.0-canary.18b8f31e1.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0a64b52a5d0cad3362b426292a3cfc4a7307c068","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.18b8f31e1.0.tgz","fileCount":28,"integrity":"sha512-NgISQWloGxSBjsft+xxFR3CMHE4we/+kDP3vBIWKe35x8QFeaBfS7HqX7l+YGt/EV2/xhnNal/yuJ3TQo2CeEw==","signatures":[{"sig":"MEQCIG9ORv5/fsonXPnke8U55tp1vrRSOjZAWInGyslDiVm3AiB4fYwl1uVxF1Vl/jn9H/cY9QmEGGY1lvCIwQVDMLFuyg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJje6DxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLgg//YXsSHpGTsMR0f9HIgIcIOX5Dr9e6BKaWh2FqTuLHHovfEyjw\r\nDGlkoC5nb5qkXdB4EHlOUISF44nRmq75Rh364llbRnR4U9br0w0jb+f8L+vR\r\n4Fkk2aZBxC2rgwJYoB1/brD28mF2sfOhAmBWz3vStcZAyhZ4iCZIHK6e4AyF\r\nh7pECzzFrMS7VhHN4gQS56TIVI0+9JlAg9mmdVu2vbb0uWrkYMFjJWTpeMvc\r\nSHLVs6XFJYNroGwm3Qr5joyucuGR6M8hOxynQvH4hBUrlFPlJuXv7oBb+B4/\r\n5+8D1qnldBTb9VEnewEzO8HwnUBBrwsq5GMVyvonaFbYQGglVkEJCOVyUr/I\r\nQBTBYohLhX6QuzzmhhrGvctTC6oB2lCPS5HKS0fQUsMqwrb9fThJXKAu3JqT\r\nh7+NULD/jMctvunLg/qwb06WaS9W0otMXgUfXifS2PF+C3FgZ+qhK/io6jlL\r\n1nxgSSYPkBKENi+AvUad9YZ/nhAv5z/cxFPOdDBIoZhDPt/puZLHGmdS4fSd\r\n6bgIR9FqDuZ6OFLxr2m02JLAKrLrz6ZL0x9rbkduwqiGUeKh++rEChMOp2jo\r\nb2wITfgrZDBHFVnUzRqAX89DBZCqeG7mN8T++dtPrLxg7s5eYWALEF6xVsQv\r\nF2+Y+hsZqKRP/A4hRTpz5Qhs/UtL1Gr24Qs=\r\n=xA3B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"99a6c50dcaf8c9db8b49ca9378d7bcc70fa3d276","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.18b8f31e1.0","@material/feature-targeting":"15.0.0-canary.18b8f31e1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.18b8f31e1.0_1669046513347_0.20149927430879622","host":"s3://npm-registry-packages"}},"15.0.0-canary.912f33ce4.0":{"name":"@material/dom","version":"15.0.0-canary.912f33ce4.0","license":"MIT","_id":"@material/dom@15.0.0-canary.912f33ce4.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5f6f074e3d7d5fba7c830e48372c1d78b2eff851","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.912f33ce4.0.tgz","fileCount":28,"integrity":"sha512-xy/OGMqHXASEtc5hT2VhNTCKBJOaSpxgi0ddYRhIsrSYlntvfWZeliXA2m7oEEM3GTFvQnCAd+HEwHbGRL0hzw==","signatures":[{"sig":"MEQCIHb/eYFOudPlCEuveWc5fFc3XBj8oH4mZYbdMGHb1fgBAiB4aKGSjIRUYK3rNczlSXP7wTs4WESAMKQwjZQEH+aozg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJje7sYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmou2A/9EJpIe0LdRicGQd7NV+ZfOEDwvKUxQbprGbqUImDFr4MBux30\r\nh68YbsTv8pGqoSGfVfGMvfeOeiQCCarIN3MK62Jfncs5smfw+qEaeKCBggru\r\nyXEZUDqpZRbxkHUIdXr2O7FGWYNaLdzaoIQeXwfWpgP5XJUQxOMVb3Rh1giZ\r\nVQ7RomEhabChBj1n4sA2NGO62vWNWUKzdjk6aOOG+AjA4EbDGBVcX0HiRIAT\r\n0yvgt9/og6H9jgqAi8eYvKJ4DMROiHW3W9IP2+cZJeTDyUabzYxer6FiI/QA\r\nP8C4hkBq2NnVOb+cvcNysGcEzit9gW/oPdJzNWPEryVrYV+ptFnMbMsWgSpp\r\n9mr86J1NBjT/JSg7h0YMpC7tNasiloes91hJ/aNedALNFPm/icXDBCpiiPvR\r\nbAXvfFOSIaYPH6oMZh3iEZE0ZM12KqHdjW6KOSa2PeSmu2zgBT+vu+xQUNOV\r\n8FwYiYAx0OXnApREnWPyyd/Qv8sTDXG34DQQw/kdnx6vqAoVuOcj3QGW9sHd\r\nPK/tICTYbR2lP4MmujjcP1jQcym9Fb+vnqW4ZhS29cvdZgz4YjyJtvIXrvQ+\r\n4wI/vxyvaf6Lkoqkxjayd/SbJLw65l2uiupwvsL03PBq/bz5pEH63oLWEilR\r\nLE2Yk+w9vyGw0XOX8F0Afc0Pf/oB9gx3okc=\r\n=A2By\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cbdf5145fa19b6681004b6c2d5de771b50f5b6f9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.912f33ce4.0","@material/feature-targeting":"15.0.0-canary.912f33ce4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.912f33ce4.0_1669053208635_0.7337072392321726","host":"s3://npm-registry-packages"}},"15.0.0-canary.1e1b1c369.0":{"name":"@material/dom","version":"15.0.0-canary.1e1b1c369.0","license":"MIT","_id":"@material/dom@15.0.0-canary.1e1b1c369.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5c60e42aa0743cad66586d4eb32108873b0ff5ac","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.1e1b1c369.0.tgz","fileCount":28,"integrity":"sha512-BNr5rYRDJXAtB5qNbiuYuj7TsUxfSjLCVvd1ZkJBG4z+tgeZVvUC7n1ep1lEmFvyWwk8ognGx04DSrINJo9CCg==","signatures":[{"sig":"MEUCIFr+PwQzG+Huekxgb5pTy0XB0gdylU9cdsPgnRYDYwAUAiEA/f1afKyfPfjMOuO+/Yqw68vqXV4eB/qVH4Mqy9fA6Ho=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfm2yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpvpA/7B1mBB617x2uFXuplH94oU+QQPNcRdXTCeq00qkHz0MFyszHu\r\nf5YCEWtn3Dw3Lkb/0EqlyWLGr+eM0/mN0/70Bc5/pei98bSQvcThO+BlF3ak\r\nr2ZrGIwDWIE6/wmqZuzNbpK9HLiIZ9HTaTSgpjVMe22HV67/kq3zI7UQ1oD4\r\nPwJ1rFzwbj7vvbw6b8+JFTtEyKNAR2ypomo9HrK0PedqyJU/N3lbJ8+tQpE/\r\njnGi00vTtHdazLjzswzlKQQXg3mc8BDnKDbqHS8wqZlYK/0ZHP1hZgpyEFGU\r\n6n4LWH59jdpUwePrpo3yiqdHvOI9uHfS2/OGrKy53Chfvtc8g+dXmvQbQcwf\r\niaMc5mr1WTkxY+s5d67bv91nzYJOwjFteS7Myy3xMX9ZZ6PAMF2PEPV7RIUo\r\nmPVkoBZbldu+CFYpByub6FrFV7aD0P85IgYZhbS4F/ZEcN7mr5pKwr37Nwxr\r\nR9JTOPkG9Vz6W2s3IIMNfK8Sn7g5mBLMKdkM3PUPs0fF4jiEH7Tkb+9gAaww\r\nl+3bhRUa46KePYp6GBEBXM1pa6t3yK2pIu6ejL61tYGkCqzv7hLC0QuwNzX1\r\n8pJXmCAkvzDvb5mB6RNv/QJbKuILlvx89GBMrRnMu2V/f8Y2JlPlGIPb0uxF\r\n0YhCC+0rp/cYl73zoXkv3fPHXSjp+X4zLgU=\r\n=vroI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b59baa6ec6a8114401e616de0c9d3675a34e4206","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.1e1b1c369.0","@material/feature-targeting":"15.0.0-canary.1e1b1c369.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.1e1b1c369.0_1669230001893_0.4151925260459408","host":"s3://npm-registry-packages"}},"15.0.0-canary.a2ec49244.0":{"name":"@material/dom","version":"15.0.0-canary.a2ec49244.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a2ec49244.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a854ace198cfac2b1c9459e8ce35f8ab912c9d92","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a2ec49244.0.tgz","fileCount":28,"integrity":"sha512-cUHYSwa917/WWrCqs0YK6tbSSnzXJTYX7Rz64uGp/9Xo+QhXKVFJhxAKb0AfIcvxrpmxFTy6q+3VKDT6/1Y/jQ==","signatures":[{"sig":"MEUCIGRPIe4hRtCm2ORdF1Ze21ycJDEN946ThqzO1dClskTmAiEA4jDjH9p5xhn/Bc08xxMGhY9YZX3gJUhReqXpvscRQ54=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfnTVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrt9g/8CuxWer17wcLRiboX8cSnW6VKKFNq/J4HW3sn6TsL8phvZad0\r\nMSI7wUh7ujySWWbnC4TPUopkWTZHeXRej7z6eQ7pv/aUAS2CtZZ2sddunk+V\r\nHEwKON4ZL4KK2w9XQy8qFZ5cGLYM7RoQHv+hCuDQVygNZv7CAm023FB4x37v\r\nGYBf/D+qIwL6PDeTWIyY7o8scwYI/JtmPudXRD33q6sKqoCJMQJHh4C5Y1JZ\r\nA+sZQvK1XV5Jol/sCeec076YbPjWMVBuRtpFhL1gpbEXsd1lMQxGcopXwlQZ\r\nTEgxTGdJz2Mvq7RrDyjAlUuUoDxdLCOLsYdLww1cU6zfyLueF5xwVWdl0Xhq\r\nxnN/hHHFUkknMVyTh+tllLHgpHH9TO/EUwJIal23KO8n4/keCgwpDpVRXYb5\r\n80sWgR6HyIuy1xVQ3ul5wicCPW9moQSL4IXBFjhfKSdbbxh6APh6iZV48aIA\r\nUN3h0rfXf43AELOojvhDMPZ0vsAZ1tPRZWz0bgiHkwPq3ov1CNTHR3I0j91D\r\nG/P6ytPiR8nUNY7mzBHjw6dngbWiqXhAjKl/crJzu3pUV0efGiBAC/cytMaP\r\nimIh4Tx5PNByZFCjZ29LQdkfKRvXHZ+fqIiNB0unflR+gl4BfLSod/96WtdX\r\nMHq92MqQ+jEfmiIXDmX0KsxPZclH7NJv5Q8=\r\n=xJjS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fc59d471222d0010e05a636e8c3a9a5a9abe2b3e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a2ec49244.0","@material/feature-targeting":"15.0.0-canary.a2ec49244.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a2ec49244.0_1669231828853_0.249470470843548","host":"s3://npm-registry-packages"}},"15.0.0-canary.a7458ba0b.0":{"name":"@material/dom","version":"15.0.0-canary.a7458ba0b.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a7458ba0b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"45575f19ca2a2c3161fbe163d286130cdaade9cd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a7458ba0b.0.tgz","fileCount":28,"integrity":"sha512-zF5YVpWB6b3IXuh5QXEIU1/aWlIzWwHkAfDKqHByyFLGWZnw8Mcl53AeL8Yxm8QGejkO3AI6f3aEUepKuZ9S4Q==","signatures":[{"sig":"MEYCIQDTrx+ADyPTIAAIVLsv24rRcdq7pMoNMM7Ucmiv14xQxgIhAM98pY2MMT4xJXieYfX6GjNNNYJJWQoH3OWG0KqQwwKB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfn99ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoyvxAAoO+OpvjYznBt6+q+zB6IsjFFxq/RIqtmujxZFZTlxQvsWWOX\r\nhSI2XILVks+X59e9SOHqYFx8Ga0TyPtCpXDlTj983Ja6epC6VFtTuBz4U9UU\r\nPffCpP68JeLjKWfA+h3EAtzx8eHTR55kiVgPQcSgM/4WKQz1kWHAvE2S48Zu\r\nDACY7biYBNDDhSzw6j30zmcoaq6tqodjO4pxScYAwhEZ9KbgUWQZhtBCi4pZ\r\nvY9dmR/KZBk3862LROISAGdLwJOiti4vfMadX/PFRv3xkNFyee+nrBjAv7r2\r\nI7A4IeJoUHhjIXjwMDuo0Cjezrt37XOTLn5+myI3d/d+Fztgy/xnXjV10Yqj\r\nGTKR1i/e2zrrl++lMSCeSHJsp8+TdK0QqPxy8mw4aw5ZmCqaFYdMU1isGFfq\r\n6p5DhJm8ML7xuoLlrmraGJP/AKWNSMzO6jEWAlXWw89Stvhdu154GoL2KLB6\r\nxNeRH9xEX2ajDgbsg390iiQR5WPczsj2XyRBIm1FrSOEinHPYOlqs3YPSEfI\r\nHikvN+qNXucjasptaIf1pFeyf8z3qNk8RlXIlLuYDhrBG+YlF8L4OfZI5cIv\r\np5W8u6kTrxrumtdIuu2IBsAC6smdRNQR5tjrTs8z1UcGMOGgZpDvc44hoG6p\r\nLJQET8X6qU9jXLaARhHgm1WZXlMSvezIcnE=\r\n=tzmt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"62e6a15e0784982b77df0a1d824f81d5a15cb6f4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a7458ba0b.0","@material/feature-targeting":"15.0.0-canary.a7458ba0b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a7458ba0b.0_1669234557211_0.9652837214477981","host":"s3://npm-registry-packages"}},"15.0.0-canary.7c35e5036.0":{"name":"@material/dom","version":"15.0.0-canary.7c35e5036.0","license":"MIT","_id":"@material/dom@15.0.0-canary.7c35e5036.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c0c448ed82f8f52493b9d23810ff161ab5eda1f3","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.7c35e5036.0.tgz","fileCount":28,"integrity":"sha512-yoXsOwSC/d+znCX5XLfAfFCGHovP7lGH8BBPTX8S1Pd/uLXO0R1BQiF43YJISbiUfvEiwO6HvRafOa40EY3kqQ==","signatures":[{"sig":"MEUCIAwKHiL5h9VkYsvmxdn14hSeyRiQ72jLmH04sOeiCHJ+AiEA2zgL/3msIEW/yqCknhLj4m8Bd2r6HZ/fFeMMr/AjFSw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfy2fACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmopiRAAhGgoQV50/L5vR+x+SJ3Nzhs52d8h7f99hJOqnfu+vWKPkbOZ\r\nRSjL59gkoWsxIdtdNQPQ9SOZpkQ0AIGE313nPBOHDnp4iwX+Y4dOVpj+iFiT\r\nPHbOaTVv9EZOYrUlyUpcwSxh3A8Ouz1RVKndR9gObJdLSrZg3jwZzZJastVI\r\nUrPcvvwPFAB0BOUEEuxHLy6uErmJuPbpjc861BDvqiIH9dG3lBlsUVneIWDS\r\nbuPc4m8Rx1WXcVvtcvwIyzFraZp3srj1xhfst5x0JFYXFryNlAiWyI91etJ6\r\nv9np0vAn73u8r/LYTPI39u9joFnrk1jLsyrj6xhp+0EKstYzXoCDNn3zIIsa\r\n4DjCF82xCHMOlOCMLW8ZM86VVpIqbBDKjUw+5aC0IszWf00RZZx1tutJwssB\r\nZYRzpeOztj20TrU9NW1MA9y179rW3WcCKEA+uLJbEuvOHiSySBP7QEKztNmR\r\nAXqBZnpMDUH1kZ0NNwquuz5pYakffTi4zCz9ikOKkfZZcEkU+6p31U48jXrO\r\nNegqJqXroeBj/WRQUIH0xphMEeLUyUQHZSbILRgGsf8Kgb5k5QxMzSXlX/g1\r\nnakANWdXcqoGVhjh8o1za+dKr46w9Y6G4lUaEc+XP3qP4SahKpnGN/8oW1+f\r\n3rP3Qdl6ZK3ksz+UkApq5xRzLixJ/7YnFyw=\r\n=Fn1E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bb1e9aff747feef28ef92f415776fe33dc1216c2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.20.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.7c35e5036.0","@material/feature-targeting":"15.0.0-canary.7c35e5036.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.7c35e5036.0_1669279135039_0.3736734291203172","host":"s3://npm-registry-packages"}},"15.0.0-canary.4356e05c5.0":{"name":"@material/dom","version":"15.0.0-canary.4356e05c5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.4356e05c5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9c4f7ed993b103d97efa689e97039ffd33af915a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.4356e05c5.0.tgz","fileCount":28,"integrity":"sha512-TN2Zrr03dPbi0Nr2j2yrjt193chqye5/RZEj4w5ZeAq8AiS4gKXRwkSSGDzPTgPDwGnQqZwJMBoFBwqgceygvA==","signatures":[{"sig":"MEUCIQDRUyGmuQ1WTaZB2BqewTe2j6DKVU5TstU9gZMGwxwRFQIgDreIJDono9whS3wNNg2eVE1Y9KURvetfEFT4XV10Vks=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfz++ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7Eg//UvR90LaqCX471FlWX0vG3N+4uQffC3/z/OWu9owDkmABk923\r\n5ZXa5Y/RdyA/CaIPZJCQ4qZuM5QFVEkK7wUsKGq+oo2QJxeeIp6usdeyGjyz\r\nne1itDveymgw6MsNY8/+Pwg/Brvl5zJw6I1FGd3DZt5+bamjkg/kyAOq0jnN\r\nR4mT4fmZKpCPunff9j8yZcg4Y7mM56sVBNLvUVJW0ONR5wPOgolJQqIdvzgK\r\n/CXuJNzOrRpf/0XZ+kaHpZ8l2vslk1N+xvLPVnxMVGJL1dGPi8yij86gC78w\r\nsKGJxpoWl4V/1K2D8drRIOsmDza2c13mn9M9Oud4FpxHrKsj/YcleEGh9D1J\r\nnmf6dV5+3Wib6S4Tzj/3dcfjehEHMpqnKe6ptNxKu4+TxNpI38Jib+LHbtVQ\r\nTQp2d//JWx6LqRgw7gbYdl9VXwpE9J48C4ZCDJPMUA4wZEg5ejFjDLgNiuV+\r\nWyhu5FbkEtPCT/Zi5dB/edd3mboy/f9noaYbn5RWjreiRl7uyijMaIKQJ8ZV\r\n7/7HSbtzS93vvxRwM/mNt0G6mjbFWAocX8d6Q+ixThOmryDhPCaDq/JcvTOo\r\nw8R2u+vcIWsKfc0TJCzAWSeHQt4hA3m0fIfUx7Uy7Ac1DcyjdYe1Xy+UfXt5\r\ns/w2cZOO22x1R4vTrICjuhKPz95Yn+4Pweg=\r\n=oss5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8f21a6abb8b52fe9aa5804b940eac0cd94256fd9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.4356e05c5.0","@material/feature-targeting":"15.0.0-canary.4356e05c5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.4356e05c5.0_1669283774696_0.910696756847637","host":"s3://npm-registry-packages"}},"15.0.0-canary.cb605f8af.0":{"name":"@material/dom","version":"15.0.0-canary.cb605f8af.0","license":"MIT","_id":"@material/dom@15.0.0-canary.cb605f8af.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f15d166858ebd8f61ebb830a5091cc29554e0621","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.cb605f8af.0.tgz","fileCount":28,"integrity":"sha512-4cOTGBMu+6GJMM2d1Xt87tArPjWliQcQs1x8Q77W3BfzbHRUPhXcgeK4tg51R2nsL7yVoevWSCsBJeAWeP9bBw==","signatures":[{"sig":"MEUCIAlucFxUU+h2i//ttOsv68BE/5PI0GRIuHPA9KBKN+KtAiEAgkJKrZdRK+AbNsYMxx9FX3AwfyHzHuEM5061a452FtM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjf0QeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrkGA/9ELUZKGIMcPGN6P22jl9qSQOsDhCPaRUG04jWHTZydol0A6Fc\r\nLXxc+B+mVNi6igsNdWfmsY4eDU8/5m7LREO6Fx+9ccb+D70fPBospWyl/fUP\r\na2npYbvg0JKj11vfF3aXkjwajS4SGGrGQBdn88OKGADjH+Q1/H0w7WvmLQ4q\r\nVLFKkiA3m8/665NPBN9f7TUpwMx3MC6ZGrhNvfWJWLYFLjjXoRE9L4TYLIzw\r\nF7Ox7J/Uy9Ow3eGvWgBdiZ8jvwim3GXcIOZuZ4g5r4RbKSXSs27r5iYwlgCc\r\nUpMdFlOE3xwOYKKlyoER580qsuOisSZif8XaQ0pwKYbxlPltCeCD02lTNVik\r\nhxQTSanTHAxHQnocsQhduXct98kuw7yYr+PDXYeYvMLA74RTrSHindbPS0mR\r\nBX6XfCmVwRWXthDlvq8M+2m0mgRhFJId69XV3WDqr7AzTITxLFhUnXfzbhKP\r\nR8PPET0TVBWp1qsPHw/lO6KF6HM2oypNvAB7MOHMgE7wPTDuWruXWpCfqq6m\r\nE2dk18brfeSaV+gRDwHY/Ex/MMWn0+VQhkSWYA8SYbUhtpmQ1znv1VLUzmH7\r\nqljZS4eMX0Cy8ezy+hvcKswF3qjFsASdenOpiLKiNvDq9m6hITs4Px+HKXQx\r\n0R1UE3kQDVnBYSUvCgpvDTafvFWitpbcyO8=\r\n=2Q9G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9d617d11bc1506bf595e8a4f05413067775d3880","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.cb605f8af.0","@material/feature-targeting":"15.0.0-canary.cb605f8af.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.cb605f8af.0_1669284893786_0.935550628874281","host":"s3://npm-registry-packages"}},"15.0.0-canary.05fb07f9f.0":{"name":"@material/dom","version":"15.0.0-canary.05fb07f9f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.05fb07f9f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5d0ba46bfe1ca5995f29c012e61bb3f0f88b7c7d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.05fb07f9f.0.tgz","fileCount":28,"integrity":"sha512-7QKic0E6UglohgNRxjB0iaz1MbOg8tciNvJgESSebwktq+aH1kiixUnosLpEL75C95KIvmxrCjTA4UUoUr44+w==","signatures":[{"sig":"MEQCIBsuoJMbQRO2XEB9DkkEM5y2uJoZYOnr9XM6xMS8Cx/lAiBpzzGKBYxvyJz/4h5Gt7/31L+K4qGsbKsv5MoIpMn89w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjf6YtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqKVxAAh+QnO3ESbBpoFXCDalHqbD28OcfnfNW9Jv0/zg8gQYo7fQkt\r\n3WoKeAsfqXEu5ROqhIgLO6Tz1wyTzv7xYt7Hqq6y4NnKBGNow4ty6GV1rPQ/\r\nXHsXdl2Di92kwnlXdfcnMsdZ/aiBzD61uqvFLmPMlv6lvVIvlVW6KL7V5SWD\r\nUhgQGir79MrGNPSzGb7IRNctdPv3lX+9ZT7LYqXlJK94KQPe09Gnfvdz2IyI\r\ngzAl61EEYIyz5OuQzPg5oRhMoM0kCjXMmkWYTY21Iqeuatz8ETcUZhwBgl16\r\n8KhhxBuFZjAinP+iNL09Kij4rMYj3HMTXbMXuwc1pKqLhCZEb1aXU01Q/9x6\r\nc9LEeh1X4py4tiBc1Oxc/BmeqYu5CiCvT2o7kLTGyb3uhyy87dgejE4D7q4N\r\nopXOBBiN7QiK6NcSAssb0Na+ecGynRwP2XWGmqkJnfU65pBrBDD2WoG4FT/D\r\n1wGi9tDZ5djDw1wjz30OAVD0oRNCdx/PXQ9ucOk5qOEWkhGxp4+WVLKZAHG7\r\n9ehNiwZ0nVj257JAaC+m6KnKq68t3i7MxfqPe5CyRrnUt3+ZoxGc9QEwbd7W\r\n+i8nnbu1zNk/gcaXOBmMk3A3MkrD3IwXWKF/BYbx7qsdZz4YFDcdweEFFXi+\r\nCStnNHjyv5h8ZbC8EiAVPtze9YqKi11ecCw=\r\n=xY5P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fbbdaff1715be513be46d4628f7aff9d8f7e27fe","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.05fb07f9f.0","@material/feature-targeting":"15.0.0-canary.05fb07f9f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.05fb07f9f.0_1669309997102_0.37358956830295953","host":"s3://npm-registry-packages"}},"15.0.0-canary.a911b386b.0":{"name":"@material/dom","version":"15.0.0-canary.a911b386b.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a911b386b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9aa431e2c41b85721188b8eedcb0439a949cdefc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a911b386b.0.tgz","fileCount":28,"integrity":"sha512-Ff6lB/yj18Q5k4o8S1npM5XQfxi9antfDCWHnQj26rSqpKVfPUhzYgH1PhJxf09bMzWwsJa174P4U+dbyN5U4g==","signatures":[{"sig":"MEUCIQCLoaiOTl5TyVYnBLIPk5lckeUhyxhYs0u/YS6DaVOWeQIgFhHkbz/QRbtinlvSDjqemYOn3hQNFCl4iJTEpVS6wp8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhOX7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlJg//RiVaaqiDy8bqHoC8eS64Nl7UTF3MhNbiBLP1Me73YrBra6xY\r\nLu6n9Ytzjy4LlzbDEFTlKIDew3BO26qRpM4SLcsdcpQWTOQ6lPovyNqMKsc5\r\nqQygKju3FIMC7Rrj5dseSvq6fKbi2rcJklJToL9mUBg4OhaieUbFMGa128qs\r\nmeJoRuwjOigIS+4LhQPH5ftVJ0D5dvMa0D/NtK6qaKSVQLVrBW9Mb/0qCXaF\r\nxU6LyaOx/c0mK51eGQdRafymfW0LvLWGcxLxwQPSuKzhLmQuFOMyjI9WM79p\r\niN5CdoLXmBDkhslqj7+FQ85nDu/v0uC+vsFf7PrkJuDI4ib5UPY092YZw5X7\r\nU6z4Waw/Bf3Nr2YRf3j5rncQC6oPeJPk+5v40gWV+GVmcZVJnpufztJX0NBq\r\nkysYHaSfdfv0CzekndZqYFZRm5FsOQVX/bBbSsagbWeAJ4h6Tz6SDXEoqrGy\r\n9nGust2poczZ3RUJZZAQCx/DXHNBd2q0mOpsyN0r9YRDZYH3hApoBp80o2do\r\nF1wCsqIcOXaHOwCvGLRG95ZLPd28ssaWhv6dXkLTSLHUxR0hSMb/VA27eH0s\r\nP/oNXnvMEN7giUUYq4JLHmMiSHRyY5zTTfVchAMvc1LJU+2XXKRlDvafAmau\r\neW4gsKi2YXgdrpdE/jQCcqmvc30PiMoI5H4=\r\n=V7jm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2487492bf1103f4c82913b328eb64ca5b71b9f5b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a911b386b.0","@material/feature-targeting":"15.0.0-canary.a911b386b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a911b386b.0_1669654011626_0.7086821944141051","host":"s3://npm-registry-packages"}},"15.0.0-canary.2aa8050b4.0":{"name":"@material/dom","version":"15.0.0-canary.2aa8050b4.0","license":"MIT","_id":"@material/dom@15.0.0-canary.2aa8050b4.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d44c86d627f0d6265d601e2f61deeafed17ae46a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.2aa8050b4.0.tgz","fileCount":28,"integrity":"sha512-FGy+lCGRTtALnf+OcG2T03f1XrsXKTr1wT3Zzhqz3hH07Pe9MwkyVv+ounWMZgde5at4WGqYjlHYjIUgcLdtng==","signatures":[{"sig":"MEQCICX/b4FcXH24CZI3MQuJB4s8fKc0AYTpeltLlK3QPrNxAiBstgG2BOB//8TPijwfREBKw3KSPJfSscFiaCzCsDMoXQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhQfJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpI8Q/+KYeG5pKln+FUHlvn1OMsGXpBUSWgdlhMn4d1Pphk5gFvVur1\r\nh7zevwxE0mWAyXhhlscgc9JHCsI1icLDx46HXOBJoXP1RTN09zV817aVxlxB\r\nirHLIm9tlCQ2K13AbVVfqjtvmKaXgeGstL6wXAMjiyGuc+z5ykodSEoizl/2\r\n311gt1aqUtyaPnZSJGEImIS6xwo/deQ5yJCqZdUYv34JbfO1NZW+RKpMSQBd\r\nUXYaMjnCw1wZF+ceZMxbUoQnewt62io3iObbVUOPNArHC/f+a/V9YopIAP6V\r\nm/gNi2b/p+h0xQlaNeiiCmD2pu3z9RzF+qT8/Kgh77XEgjXCeX9zsoglxZv9\r\nwYG+NKtIJJDJead1i+DSrsVdtwQuaspPtRg1rjbkszrYix8j1I548Oyr+w2A\r\nE5Na1QpHdB+fGcghYBm8khanllcZx3ISpRMFTR3DaDf7NqTsyjEdH1R8B7I5\r\nF3xIOpAa62C59TTii5S6VFj2wtvJexwxyqK07L1Ra3efugsCeaIE7XDmxiDK\r\n5SosBb9arxDSh+Ih1EAkYmX/qkyiW32XZCoKTZltBLJqkmsaP6mzE+w+pWEZ\r\n4JHbVCimmaYTO2nptOI1SOt6q0NmvdqciBpqKt8lqAi0tX5ruURaaC1T97aw\r\nLngngya5qtx9QpGiWwWbwCnoRCtPwHhuayU=\r\n=CO0Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7ea9b47d90d470adeb6f1cbc0c1c98b88392e56b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.2aa8050b4.0","@material/feature-targeting":"15.0.0-canary.2aa8050b4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.2aa8050b4.0_1669662665159_0.016572891122091926","host":"s3://npm-registry-packages"}},"15.0.0-canary.323904a9f.0":{"name":"@material/dom","version":"15.0.0-canary.323904a9f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.323904a9f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f91a516974a3d502836db54fe8d4c92006acddb9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.323904a9f.0.tgz","fileCount":28,"integrity":"sha512-P3EZe0PjjgHC0bwwtMbHyi5MqtMMMlEBjiq5tSn1xdbMSXL0qfyCr6q0DWDxkVKRHIoZianyMgZlVoEYS+8PHA==","signatures":[{"sig":"MEYCIQD5yQ8aAuEqgxsKiufc/zeVCEQASOEbzgH3kK6z1koKgQIhAL9U03uKlyhY4mpRiGJ7aQeSpQMlscFdQJ3BM9UMNJEo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhiZDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoF0hAAnlV5nJdEt4850cO7C0sjo6uqF/LvzWi+V4gzP4YTaOr0VgKl\r\nv18oz47OqhKbB6YSgfaj93HGw1R7cyZFkUKzHwxbHtZ30+zPOZpuaYzfejLb\r\nZPnFi7cxCMnFuYWrtQV/YA2nytCKW5/t7mETBj9UNgaS6S+kObWpVKSTvVc7\r\npl163Xw178nYIvi4aQOLTQKx/4/Lfrz2GzYKlKzyoqz2p+jBigh4wTpQ4Vl7\r\nn46JKe6sLnfi1hC89XQg7hc69CGvLHLc7ZgcWjMlLTdfUpz0KRrzNp96Na6L\r\n8cC2xrIZZuOPzOReLPCpfDfp0HR7VC0q8Kd5K2EdsgMslUyQK8Y0GJ75RMvA\r\nN2eCpLiFh/nFNb+q37nI+5A96S9QW0QTHQJ/BrWNwbI1iFR7jSXhVrJIVmbz\r\nRVxvKdfuPz428x37CSVyacnidXwAeAa1xqCYpfXXgirG7A3uaDa6Svj8iQgI\r\nouz1Fj5IIdvycPos66MGWTWmOQYyUCn7URM41u3FNYRNcXfHlwEPhCJ+hQIj\r\nOdGvU01o6M7Ubr+mMLmZIY89RN7KVBkDdIcbsBGg4uMF7dnjNPoGuqraW0LB\r\nqyxD16fZwvQ6s2q2SRfI6ya4bs86dAg0msS0o3PrM+9pc1P0G6/c9axmHlwd\r\nxogo16TA3UqKtn/f9i51K03Bv1mF1L1sV9E=\r\n=9vBG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a69fa8c7160aaa07d868f5bc365076bdb159bf99","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.323904a9f.0","@material/feature-targeting":"15.0.0-canary.323904a9f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.323904a9f.0_1669736003309_0.05868157091961157","host":"s3://npm-registry-packages"}},"15.0.0-canary.168a629a4.0":{"name":"@material/dom","version":"15.0.0-canary.168a629a4.0","license":"MIT","_id":"@material/dom@15.0.0-canary.168a629a4.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a7ae360dfa8d859d0bb1879d1584a32455cc2563","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.168a629a4.0.tgz","fileCount":28,"integrity":"sha512-MiN1y871SOO1VSFgvjmFST8f38VMAa9coJU5imaEC4s3Dk5sRNLzohvFL7MXiIL8g86P+ToT4smUnXm5cxBrGA==","signatures":[{"sig":"MEUCIFZ1Mif1PB7TMoPUAASRxc7LuD4OC0JAVEuB6T12RFL0AiEA11Ieaf8twF3BpIa2sEuXWN5EwSA5IDQMx9YgTMFo0R8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhjfTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo9zA/+Lq9A5zqfpqWt5v5zCpn32MCQXIgVLnzljUbdBkMNSiLU7eTz\r\nxcv/R+AbrfLrkc4ZPS+LyMuBkBt74vGgA+FnSj8Prioem6TF0BwJ6DndjfQH\r\nfmSNj/4yZQ8mMxjhk6BkDaGnYhuEY85p12S4g5nP1n5xLwwRHHnPAeFaHNrc\r\nU1EvdROl+3hEHXLZvZh7inkHaxnLJPWfRk25RgrTH6DyfNVKTN7QeGvXFuBp\r\n/O8vjeh0IByIOsYwtrGgdDTFb/lW1njIYrqKF2V/rcAvZSQ2pCZxsCnUSsfW\r\nq8gegsfdvgSk57C7OHbTTLtQM0p9vOL9fANuLEy2aq8scPghHw27xyMoIFkU\r\naoJkTuL2Y0LGKyjw6xV947EJ3hs+KS/xX2rBQiktNCmRC7XAWz+6OZqF5ofD\r\notz6vHV+erMtFGN6KHYcNBShVtKKdjQ+WuJm3B8CCuIr9r6XgfrMVg/Gw7RN\r\nP+vXUMKEoGnLPPVFTvAsA0P6ryeMBZOfonW+UOpTocrJYKD4eFI2Am/c35vF\r\n4m1euwHeQ/+kxSHU1y6TsBwNz2SYm9A3I63V1GGg3HdqVQRhk0cbnIDUzgXL\r\nb22D8cizb7qKaYfoR26XoxVqovZAYXoOQJYklux6rvZp3Vf8K1xBb5pwO9C4\r\ndaJ7ywti3M/sffhvZrxmqGBaRJVVCwcAU5U=\r\n=epa7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3091b344799132cce493f92839da8e544fec7c05","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.168a629a4.0","@material/feature-targeting":"15.0.0-canary.168a629a4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.168a629a4.0_1669740499334_0.8362353624941723","host":"s3://npm-registry-packages"}},"15.0.0-canary.65c411674.0":{"name":"@material/dom","version":"15.0.0-canary.65c411674.0","license":"MIT","_id":"@material/dom@15.0.0-canary.65c411674.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"694958e6f51916572944f1fec69f6201e47d6c62","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.65c411674.0.tgz","fileCount":28,"integrity":"sha512-uwubJKey4S+rYXixQ6W7swxWFIiZkbPVQV24Bu7JhgR4/eooTvCcq09spApDP1QNJGoWsaUtpEKXNx4HforLGQ==","signatures":[{"sig":"MEYCIQCcnGlgyvb0DQatcejkfQWE62lwr63p4teOy7HqQbBqVAIhAMBxpJkAaO1Laxj3EKwktb72E1DCRTpNGHasOW4WUV7E","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhkNoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqjEA//Q96rG1zcIv6KWbW2WSWhS/WQ0DXZSyyyRlj4EqQpyTUc7xpY\r\nXXYdrT3MAljCx7RoV/+u7YDoWJeXlcZrcg35BAuK9ehnPKD5M3agvjVWSS03\r\n737+uERtgtWHbOM8PxrJiMcVCl6SKNI0FZWoZAs9NvmoT/uNVa09ONAijXI8\r\n/7CNQ3o2Cmd62WsyT5jhOd9p95sDknkjOab2+AB1CS3eA6BpupucqT3/J/Vo\r\n8+YvEqLW1SIsLdTv14FPa9GVpa4QHdVjvpi9WEGfBFo0fZrbNIp/nb3HcnkA\r\nNc1iQNdTCnsbX5u3eajpSNzr1s4UPKoapFTyrelnXYvrhxDOSKoI8/ykVCbX\r\nrdJWtLuqnNNevA4q7sXb7XCZT1cQQgQK572NIclZJY7NGG58Izb+BrE8+DqY\r\nTvUzzhv8h8XY6uLqU3PvcKQ97owJ7TuaODJE2YzLWEa3b1UxQ/8eeAAxMruv\r\nyCMfP7oo2kK7SBr1iNE05fEflC4K26waMRCbyBTY0VzY57TpkshQw25ey6SQ\r\nN8rhdy34jFTWmms+n0tFrhGtv4eFNVpEFDWQUYT0yyFEmTWNXuOQhw6SoJp1\r\nM6zyOwsrGcck8ueoUcJnFkvziJdtWGSPRqrkzOXOeHs4BE4P5pcv8NT0za2Y\r\nk9FWKBY+TM307xXAo02cNQzgNy4FgqbdJ5I=\r\n=YaGE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d80879a8c467caf0f52227ec97481bf5b7f2cb16","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.65c411674.0","@material/feature-targeting":"15.0.0-canary.65c411674.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.65c411674.0_1669743464010_0.8801000447261789","host":"s3://npm-registry-packages"}},"15.0.0-canary.a86d36fd2.0":{"name":"@material/dom","version":"15.0.0-canary.a86d36fd2.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a86d36fd2.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d3e3bfacb350c76fd14d6b5dded5340d3405bb4c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a86d36fd2.0.tgz","fileCount":28,"integrity":"sha512-vnfxJmzgMD7GaCOXPQHmmU662LjASD4iBS9eUWcgBUL0TmpgxifhOZAjD58tGKN5nLnLEmgS1Lmk1auaIwQHOQ==","signatures":[{"sig":"MEUCIQDUyUzCQw0Dnddl1h8zv3R98b8Bdgq/EIk7rZuSrpehfgIgG6VGe0kVxgied7oXvLfczaFFmdNZQB8zTzggLE4YUII=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhrxVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJ7xAAl7Gogurkym3+bFkhXyv8AYmsJMhEkcUWSaL84FZ17VyzyU5A\r\nQQKtf9ZShwoN33u8Iyf79lhgq8YXqB9CZr5lvlTSi+UxOk0QpIQACB/webmG\r\n9D75UBtK372+RtMmS6WdgKcvCaeLGoCiNMiU/iByuROdE3fMtoiHyxJn0dEO\r\n2vm9hARyUU+HQp6vlat9Uo/G8oupczTt/NtB2rj8e0JGV4SUEP7s59OB01DJ\r\nnSxZiO2nHw439/GrVVk7fWZ/PaoK/hjY/E471R1urtX2XPF+SyWzTSJMIHBb\r\nOBggLg9IF4if0AxkbIpsk66CQ2Si5c0zbF/Pghw+c3XdOJQCrSgnyi+F2uj6\r\nc5h1KkA83ZKQXcfEp5g2l2jPEKr6ApYmqssmlXCG7N4I1e5j001eulWul2Qh\r\nK8MfmIQzbPDDmlkUT09eywRUC13WwGw7W8CRLmweMEPl6tEpMvLTD6VJtrwF\r\nUzDuPXNXyhbmqj2vtZ5a3ADUS4v+t5TDEM8IBpsoUczDi/4bOK6J0Qio8ltm\r\naQNqI0kk9qSKKXh1dB8bDkLPXxdEty8/e8sFRvPWpHCKHKJK6snLwFn2N6od\r\nEKHcIADO8Y4cf5zX3BHXhxjpqBgUxmzxjtCahjKBmv9hlxvnbyc8qCKl3Uyb\r\nBm1FbR/gJCm+TneV3iUm6MptZTNZ5IMitVg=\r\n=42im\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"85d3ff6d42516ecc839fe336441543c8df62326b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a86d36fd2.0","@material/feature-targeting":"15.0.0-canary.a86d36fd2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a86d36fd2.0_1669774421102_0.8012164666231356","host":"s3://npm-registry-packages"}},"15.0.0-canary.3a1f46c66.0":{"name":"@material/dom","version":"15.0.0-canary.3a1f46c66.0","license":"MIT","_id":"@material/dom@15.0.0-canary.3a1f46c66.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"485d2dc7413ce64669b0a223730fd50afcad406b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.3a1f46c66.0.tgz","fileCount":28,"integrity":"sha512-gadRTP3MimxqV7/kl2zOniyljquvjKXxfblF4qrzg/DyO/a02PsT3PvHS/wz0hcOnJGGB5NtLm/mnVZpWKKFHA==","signatures":[{"sig":"MEQCIDIj7RRCrPopQEHcnED2CZqU70d8H8GVb3EaHFC8h18zAiAusOQ5EIHTLYeh7wnzU0Sqsh6YtagmaOkUlRuhU2+cJg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjh0dFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpxA//cY9jbe74xFS481wGcngslYhsT2NyKfSyqGhQK8iGJ8g7tanj\r\nKubbGnHG198gfBzQcQumkmJi3fyGvh1UDSJFIQAove0LjPyAL0GxhEYIKGAK\r\nxIY/GGLknHc9Nxmud1FmtLoFqRZiQYJ4On0+jZmeu1SQwSAR7SMuoDPy2mWe\r\nWg5iUxMVm3ajMFixTkklH3WFAA/9RIhLbzPz8gN5E+XdhrttgdSCKRz13V2N\r\nxgNRZ/SWaS0VBuTQWLf7Ec7vhgYsPNyaKw5CiuZGyDXct+BRTrnboQVDgucy\r\nPp5YTovR7OuulmxsKVstQDN9KOVn2ab9s0Axd4zOeoO4zfPyoBIFc34/rX6a\r\nX3tp4ITGekioJzO93n1ZLt4vlkbH+u69DY8lLwV+IJaQghCSmC9fReZ+VFNo\r\nBgJhIh4WxEOeIsowJFBsu2QSyG417K4SbFiFs5ZkwKeEwAUPCZ4Ck7bsOfpQ\r\nYYQyBh6/i7FReOU7aAsL7e9VnwIP1exJAR/SfBhRwxxp1nTBSAzLhOEkTjC/\r\nhDK87hXXRagZ/vpil9Z0LKWNHKoqh2BhwByQ2jjlnrUmsOMU9zM1RXRVrng1\r\nkVakOU+mqXD883FVIH45R7NRLJGCnsfGxTfaBtjnYHU7nChF1rTxvpuMKrs/\r\n1qTLRW/fp/z3DTS3WCuyM0wWHE3BV53OQbs=\r\n=Ibtv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c3f9c47a1b8fbcf554e1fce6da44837b6d412e2f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.3a1f46c66.0","@material/feature-targeting":"15.0.0-canary.3a1f46c66.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.3a1f46c66.0_1669809989553_0.8036595452018798","host":"s3://npm-registry-packages"}},"15.0.0-canary.32d8a9648.0":{"name":"@material/dom","version":"15.0.0-canary.32d8a9648.0","license":"MIT","_id":"@material/dom@15.0.0-canary.32d8a9648.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7d1e8d69c02eb8c85832c7ed54d05c34a9b50752","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.32d8a9648.0.tgz","fileCount":28,"integrity":"sha512-bK7YPKO3z2aXMLVtMiFw55PJi++9ET0oxEg1fTEMb9Dx1MPgE4xPMneA6SJ20I9Lsun2Dda1m1v3LLj0tSbYeg==","signatures":[{"sig":"MEUCIDtjScZG69thFTUH3xsws7Et5TSFn7eVD3g3PHU5EjyKAiEA9+JcivSHp/0Xg4bTwNmESVcmUt9C0HdevyGIYKwhEuc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiORFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPFA/+IChBqLIbRij7qfhFKBc3E32VMLO4CoV+0sEg5IYInV2FG8Kc\r\nqKEel4VrerHhDAkycBWHlU7JAtSBtPAeMCl5KgIq4jrXeII6WAAU1GWy7m1b\r\nPSFTtqNjrXytOEkQ6h5aZgQN9+AeffpUDtJyocYOpWfEjcqhJ5W46F/Fp0X+\r\nTOR+ay4GPNDCCPYHNA5r9ZEh8KHmbzuPAWiEkoEZl74L/Vb15DIykP8W8g92\r\nrCv6zaq/AGsX96e7Sm3qYcWJ1z51sut6TP69IzJ/mzYd/oGoErfcU7o6YuUq\r\nm98jvtDjoC4yzPPZXa4LxhGedUEBbqeue6uGpyqiL+LSJwwrhRyCmIIVtET+\r\nkFEyF/RhPo/2ZunJrrGxLKsHGWl/9Rc8eirqoLPVRVFpjj7biIoQHBxove04\r\nsIEKhugmdTvA1qgR2f4RSXrctczNY1XaKeDILpHInjrNGCqwWXJYrXbLM5jX\r\nKN+XTR3JRUg8ANNR5fiHuraQnd+FUi1GogmyelEyihYQQnBJiS1tW/TCKckU\r\n/hsf+dlKdwgo9nrmnHGXW3+WZuJwQq5r/Fwn9LnbA8ESjdYQ9LP8jd9yVMZC\r\nkoV9BCjSkZ+HxYLtuae2jD5PffUr1RxZvA0Dkg1fW3spj+edauHRihAjElaf\r\n/2mMl6YPPDDljr3Py1GE1viDbB7uhOCgD08=\r\n=8SeZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5833a540d2f362be3d86a707323bbeb6cee2c627","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.32d8a9648.0","@material/feature-targeting":"15.0.0-canary.32d8a9648.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.32d8a9648.0_1669915716937_0.4441530517575869","host":"s3://npm-registry-packages"}},"15.0.0-canary.03618ab70.0":{"name":"@material/dom","version":"15.0.0-canary.03618ab70.0","license":"MIT","_id":"@material/dom@15.0.0-canary.03618ab70.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1a7b013c3b79574faea9f97a3b362436c596dba0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.03618ab70.0.tgz","fileCount":28,"integrity":"sha512-Vx5h0xelI1cS9XJ7Avq5e2AScCN5EIGTqfZ/01kt1SbUpQkYDx2zEDctK67fZjdxH64Rtm1JBFEine8yuOENBg==","signatures":[{"sig":"MEQCIGKeKDL8Nk2QfkBDDNLf74erKBjO+hjek1ysrNBMLglPAiAumblwbcerh1LrR8FePps6yhrtyK0qw/nH3MiwoPZk6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiRRrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrdzg/+KYjKp28GkRwqU+xuI0qQYof70o9baiLQcNA78Qc8wvvnE54Z\r\nEgVYnygDjI+8WigundXx0eMu/KLPaD+1/+DFBfjpQee/RlpFmzdqY1rVYIXi\r\nPEHrWWt2Ib0Sg11pq/uE3wW99TwUn1eyGeb1Q1a/NPaWZi0H3bztk3M/l+Nq\r\n5hIgMymz/nU0UhGa2TeJOnQofNpbZIk/VCDsfxeVH2sZ1v3IjMqGZGitj4az\r\nyvvReUFiGXYKJHjBfyZ+TctCThbBK74JT8s7VFJBMu6oSfPWd2N4BpRECPI1\r\niiR4EQ6HqPhTbMzvhme2as8fgCqDJntmatnnukbNgNPOQEqwtPmgMAYa23xJ\r\ntmpRFkhxrbEpfNL+7/3+mCMSDWVsuQswMKPIomhHpY0ZrPWBRWdwhMZ6qlBW\r\nu9pcGURVKdAizFG98u+hC+j0mBiEKcTwzaM5TfljtPM85xbfz28Zo3M9H8+Z\r\nPKKTPLS7dJYQzmod8wlRBvE2I3Hp7Fdt0I1gG37vmh0kKIPMefbcLHUI42Ia\r\nCyaJybLrMmu/yZQPSg0R/LICTE6wiAFBpxpo3zOpXb4uncn1jySsZC6tTtr2\r\nuFm2GiVncKeLaDRIxDFssOtMHZFbgVyyhJWaP1vWuRcG08nkYJA5eczHa0uL\r\npH2w0vS6hPKROHaivKRHtFhiC5FiI28IcD8=\r\n=JPOs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b7755627c14a2cf095b6ee87d1ad15c14430ebad","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.03618ab70.0","@material/feature-targeting":"15.0.0-canary.03618ab70.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.03618ab70.0_1669928043147_0.07923506334935837","host":"s3://npm-registry-packages"}},"15.0.0-canary.68aaed940.0":{"name":"@material/dom","version":"15.0.0-canary.68aaed940.0","license":"MIT","_id":"@material/dom@15.0.0-canary.68aaed940.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"17aa941a4ac463e04aea8b36921164357f83ca42","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.68aaed940.0.tgz","fileCount":28,"integrity":"sha512-gmW/ldOt0zCYbGNgeyP/ajyj9W6up6B4NTxCigpO09BmdWdAn/i+kPjOYqYfcDkri6XckRQXF58YlHPsN1oOmw==","signatures":[{"sig":"MEUCIAfH/sxA7VdfmdCj2DUit49Ga/jtquqGMWEmbK8ksHAzAiEA8738u+3hzUH+AHnfyu4YX0TpNuMg/ONLVg38sTB14Ow=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiRtbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp25Q//XASmwXRqlRBx2Bo/CT2JRp0IZiDGgCqIjItsnFQJvhnYZq8I\r\nw1OHgXkcI/BwkA8NdQW2IoI7lwOVg+vxBlu+MsfB55xrFV7gAfHMeSzpLN3m\r\n5D/Ib53tPNexiCItAnI8x8Or6ZCvtSCAWN9nHurQ7AmJksDPbhzhBAT+Pr6p\r\n0t17Fypil8BFLciAYDGcrjFLVohdG/RyO2SClGcghPfV6HMTbD4zafy7yPQW\r\nAyxZD7uFTIrikD3u6g83OzSQlrhQBz2WfMctKe4nGMbjd0deA1iGk6M8qEP1\r\n0exi05dWcOXAaZZi9uM1ZxnjJzV9THdq8UbWeJqKuyx10noytAi4fsuMDUcS\r\nDKqu7dW4OZ5Sn0jktn4esVAovGjppwM0/px5WQatTGrKRZZ5NVZ9Wibhk/xn\r\nttEHUJy4yGpi+AIZuDVLGjqxaB+r7jvgdDXcMbu1s9DmvK0XouHkO6h4v5RT\r\nI2/D56gwRU7DmhJ7FNip3YeEMvZTw//+Ra15Kv06VCaZUJx09zIfh1x2It+f\r\nfwneeDNQ/15x65OeFFr55b4qBIlR4cu//DaHxJ5UsmFKzMvZHAbPN1eJpSzg\r\nenkooJuZnmQ4AzspfFmNIN1vLwEq+yC7N0kpzwu1gWEHL2qAh4hnT8chOt12\r\nkzef+0iUZ8gP8NYHoWf20UcH7ubdO+KzkNA=\r\n=3imP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6092c4f3bcdf41ae7f55d37c6ad51793eb8f040d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.68aaed940.0","@material/feature-targeting":"15.0.0-canary.68aaed940.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.68aaed940.0_1669929819355_0.24195518057938004","host":"s3://npm-registry-packages"}},"15.0.0-canary.f0a0bbc75.0":{"name":"@material/dom","version":"15.0.0-canary.f0a0bbc75.0","license":"MIT","_id":"@material/dom@15.0.0-canary.f0a0bbc75.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cec6d4abb2118869af14d23c19f6ea361ac3a03b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.f0a0bbc75.0.tgz","fileCount":28,"integrity":"sha512-y9HyvTLXIKgYasPpE4siQFHpKvpAvBwSf4KuxRdD+tsFgOmD1pWKqnC1IrJEre3aIwjFf5qdq1irdnmDFCoIIw==","signatures":[{"sig":"MEUCIH7zBjQwoiWoHqQPsQlFo2VaaAyJH6iqeAyS7Ad2Wbr0AiEAlcZkWwtbpvOpNDCyyoLIwPT2N63oy7G4OzBVYVCiIK8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjib7dACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqfkBAAjqACfrmK4Sg7UcAVRbnuiDQlyE/QToCNjDHtHz8GRPI3pZXQ\r\nybLcQFXqQx+JqLbt/e31M6pc9ZDklwA+49gqZcVVGDpGN1P2GY/wOM8kC2ol\r\nZic5slRhZ+X4brulnUXWnkMTfQp6bDA9Wasl6R2DdSu7ZacFXdmgeV1kCQ0G\r\n/L6EZm6Lc1pjRCiWqpiQR9iLHZ07iJoXozMueXwHAEcRLzRCYT/MLikAGIwb\r\nIHB2sq+waFLyVoQy5NncvK/PSYiypIJQcKGJ3wDNVet5il9suoA3WrpXbKad\r\n+tpGOwEa9YDvbQXxH74RVOQqr+Qnb3mITiAuE0NBal7Rjv+YFkRoMzmSNdxj\r\nyAxwyGWtplvdggB/v2YJTehiTkaQGnsoNRq7YTzpT211pSzNg/2e5xrKFiHg\r\nV898z74tOebMWD1xe169SvWA2bg5g5lRKpq9YASI4oDVThYgJgVEOVoCF6bd\r\nFUZtrf5HraGYeuNlfZS3XUCKMXYN9+08MbneOlqvbLKJrCnsA0WHff76E9Ij\r\nEhxHYeWDsqDDzjy6/Ip2w7SJQ0qII3Q8G1F8dSVdlVtr52uA552JwSSDEt07\r\nmjYrNpQ+dUDmUgkN9iAvMeGokkuQmVa7tTfrA8QzRUh2Z/GRZxXQe62t2Ioq\r\n4a6fXH2aelHo8sYgK/vu6pPlwdaWyZsrFeY=\r\n=xoSc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5111125522be9e3847929d9bbaf323f31e9057c9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.f0a0bbc75.0","@material/feature-targeting":"15.0.0-canary.f0a0bbc75.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.f0a0bbc75.0_1669971677563_0.6478897527504344","host":"s3://npm-registry-packages"}},"15.0.0-canary.dd99c8764.0":{"name":"@material/dom","version":"15.0.0-canary.dd99c8764.0","license":"MIT","_id":"@material/dom@15.0.0-canary.dd99c8764.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c48bed41f5ff455eceaed2dbb8e5098aba269ec6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.dd99c8764.0.tgz","fileCount":28,"integrity":"sha512-20cEr+yHNxAikLRuTHhNgD0rRXIm7OCT6vQO9Ntnh2BUh63VDcrcaITCECyocu+IJGpq6ewTLfeSmeBlX25DSQ==","signatures":[{"sig":"MEUCIQDtp/FmdY/iaLNh9F+bkGBLsYfNrhWWaCOI59reI4NF2QIgdPjg2Y5J9V4bdtokHusfmx2AgrcUkbPyzvj1Z8/upTU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjigT+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYpw//VY+tjuyI3n6xfhePTD7XSKUm2QfwSL9V2psAGCGo0VjaA57A\r\nYJgJvHigFa+69CNSRTq5qAd74OEoB07c99hE/DWImipI5NbwFHJYdRmgnF5S\r\nxpSAuOdhGlvcMUmYykNg984gCPdSbTwz9xmdPW/OlvZdhubb0roxN3uFALON\r\nuaneiFNciSyKSgEqhdsuZCkk6MIiznGw6dIb2ZW29vW+liuExsXH1gOrJ1Kq\r\n2uyIOSIrrVQtDEUBnJf/70vUxNmWyrpQxnBhJjafbuV5Dv0GgKeJZRrvfrcc\r\nlOTmu//FCtwXTjtOMw5WplgqQv3y47RMVYCNjqvCQNHNdXQxVODUnbNkpKaI\r\n7l8A+N8JPQTP52BPEgdX+2qMLF4bR6WoA7CnlqBWGlZgN1EzgpIx2v1+l67G\r\nEfk+icVDogIterFDFk4RGfhTfkEH9azkO8Coj5UWvDVr/c8cOG26SL3A05No\r\nBv4mvStea2gR1kgXbFa3x1zwZkOd1HVYIspckNpQ8JLT4RmwI0qKXtxDN5R+\r\nfhxRVQzecba3actfpfUsqlr7jJY4b0R3yIS7IRTrNG1JNGGSTKz9rg7a2dBX\r\ni99G+FOBFgHCJOBArqrwLHcbcCyOCnN+2TQ7kgwQg2q2fgmmXK8bJKs4u2LE\r\nIsU0oTxl+cyMenk/jKX8nUgZBTcsj/OrCag=\r\n=ffFS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a9ff7973c7dab53b620d5be8d56e0c491cc5e7ed","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.dd99c8764.0","@material/feature-targeting":"15.0.0-canary.dd99c8764.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.dd99c8764.0_1669989630659_0.7816881174617183","host":"s3://npm-registry-packages"}},"15.0.0-canary.fabdcca3a.0":{"name":"@material/dom","version":"15.0.0-canary.fabdcca3a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.fabdcca3a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4a5f210f1bf02f22e6616900e6f48d1634bd47d2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.fabdcca3a.0.tgz","fileCount":28,"integrity":"sha512-8mzFRcXqX1741OndAUWPOaS5LeyNYeIlriZlK3XnGv9D06sIJORl8oS7/wkyIe+GmPtVs7FcVbiGdTLNC3Lzlw==","signatures":[{"sig":"MEUCICXkHNFiuEd16ZBUZglE5O/BLvieBlYa5Ab+7BxhEpt2AiEAhxBQ4DwaLagpWzWtyVH5YauMEajPt9yRsAuhU7K03Rs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjihRwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq4UA//UKL00RGWRd4Ytme6WppDSyMRqElzA3e2BuhbzOj7PRZ6uTDo\r\nyFt6szvbHzU0/ALQryNBH19Xb2LD0ep5DoPm/+jffh8MKhPIhSKWKD99DnXz\r\nhCBC02QHysuEbQbFX66Rf2YtuV9mWXLTBxcG8+jdUoe81XwahsvaaHRnVoBy\r\n1B6VCi/RptZ9v6yymJ7Hnql7iuZ21SMcXQ0eIrlh2KFb+jRyottm0hIEDqiS\r\nRFDVdd5Qz+fviUyhwkIhApYsPuB7HDchSVl0nKQInS+svgNq7/2dwpLO0gzr\r\nobnrmmnjlxjcWnLsHruut7tBz+6yTZFEiEVt3/q9h2F0Ur5xxu0bMK4/LPzQ\r\nicpKLrP2GsnX3cx0KsDgel4fpXdCb4pVsVesKVfOFEM+P+VaVz+dyzy3s6+5\r\n714Hta7zyZBDiWT4xh/HJx07Z67cilkXX3fmLtadpXhl0O5OZmYor4AiS0sb\r\nYlEJ6yY3iko/Nam4cxcKkC5SjcR9T9QKbmxvkX4YVnS2fN6gAa5z07VZmrTB\r\nUckRkLyvK/ajHyyk9akZd5LoE1nfeqC7QJGFG9lXc/qjnjB6Yxe0JR7LPv9+\r\nGiRR45KGCkVAHrumzGNxxDZyNFBPseKhVS8YMsV/xSOL15AbI29ye9d2N2qa\r\nIC2zSKzKniNLoRXvBg58I2UPAKu96vvAAn8=\r\n=uBZ1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"18ea36a1261419acae3218fc917dab4ca111bb9d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.fabdcca3a.0","@material/feature-targeting":"15.0.0-canary.fabdcca3a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.fabdcca3a.0_1669993584131_0.8106978906307793","host":"s3://npm-registry-packages"}},"15.0.0-canary.2d26722d2.0":{"name":"@material/dom","version":"15.0.0-canary.2d26722d2.0","license":"MIT","_id":"@material/dom@15.0.0-canary.2d26722d2.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4804498e8532400c11443f94221dce08f94e7a79","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.2d26722d2.0.tgz","fileCount":28,"integrity":"sha512-bnx3eHXoD/CdlM3XCBN76j0lzWF8saop4oGbprPYnoMABxXviN42P771/tGcNBdIE/KlVe0ZuT0vjazImBMABg==","signatures":[{"sig":"MEYCIQCAUGQOiNQxyzKbszVHb3BewzZ1T/ui6OpdHldzmR1WUwIhAPM6Zstm/Rr3PlJJAbpCZvo0vem4vNQUohmz8iOjlNzQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiicfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmothg//cEdeNZKup3DxOWfJ01FbvZF5Ikq6k39zxXeL4SMI4ihgekPc\r\nGUXZO9LspIkFgHWJZzGYU1AE8Oi1ffy2fsMgB2I6bpADMw1EfExkY2+xESlJ\r\nDbfhG1Bd5XhWbvq46sBgYhdQ5Q/EtGJviSpFbO1+wGTYodj/miuSfv9Ms924\r\nQ5a8NJJ3f9wViCz0tiswSmHQMCajl8CLiyS0ZVIg03wgY5cyRs69B46wu9Av\r\nrpmS6L8pyl6Zj7xXC/FikMhSk4mKGCgEz07WjH7Q/sA9L5ncK5j48xYjJ4ZH\r\nh1mZ/fXqgJ/OgMtU7LXOIpYnvE98jEHnWZ4arL406B1eDlb8NONvtcNsofoc\r\nfZ8MVT58Fc7iqatV4PsUtCgxmiMajg9LkUkvMG34lJ6Q0RTxxTQaZtl3V4LX\r\nmYbCtwPK607u8YyOh09y6D55Tw136OyK10UbbeJoz46Zt5+wqkLeWglwRmF5\r\nzKiwee+KOoyuNxrDdBEOlU5SEoVJZ6690pqROqd/PSJvM7kZh8yyHx3a13Zl\r\nG+EMWOCsNWLw2b9qm2cv2xv3Vd9tyQQlvVXT5SZtpVZDB8cvaocIWdR6eqiV\r\ncc3OkdyCq3VSAdAmUcbTkzgdmAMWETF2Mzyjb8XCU4WPyPRSFxMdQkAQWEEb\r\nBlGxm5mVCTV2PpSMBlWLWPtSnYpZwMF5ctU=\r\n=EM5+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"76df2659d7f71f74a86512b38245422ca356fe12","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.2d26722d2.0","@material/feature-targeting":"15.0.0-canary.2d26722d2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.2d26722d2.0_1669998367074_0.11705387636677123","host":"s3://npm-registry-packages"}},"15.0.0-canary.eaa0c3a86.0":{"name":"@material/dom","version":"15.0.0-canary.eaa0c3a86.0","license":"MIT","_id":"@material/dom@15.0.0-canary.eaa0c3a86.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e35f6ea1e24d61dced228a7b16100e703e16af0e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.eaa0c3a86.0.tgz","fileCount":28,"integrity":"sha512-nRrFfGp0GUkMLJzxVPdQFNNHnK0uRIu6YW3hLfbQsXX4Gm12B84mEMh+KvrePTCFFGyzf2dT2GCn2z46uWZ0BQ==","signatures":[{"sig":"MEUCIHz2gl+HQFSik+LuqN7jqf+JUh3FEbHhT/zLCr9W7B4VAiEAv0PEJ77h7e3XaxM+aY4ZEWPBS+baODvNwobEdLNCm/o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjijjyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmohAg//XuUdsX9WlSDPDiD/yEvpu9iDZ5AOZyal6fBSl9axcwORmJF2\r\nWNo51GA8H6a/krezi4QCp80bJ6Of33+aZ+rasj/3zM10EgYGQ72HHYbcnrAX\r\nk54vCLrebuowJQ55yUC50nDnzLw7kJas6YyP1e/A4rXOAdvxIIvY/L3n+ffp\r\n2PyFBE6jF7jSUlcDV8QFwOiayWu+luU1SD8D10ytKJzG7QA6aJl9J6T0qoUC\r\npjORJnCj4JP1Wb5rg4jRUpnUyNY2Ypb9jt6nwWZLX0QxJYbCqqtDDGtUiwCC\r\nMrCWAK7UBI/cnn6g6cduvsg0ynRn4Pqu6QjVck6IpyT5uaxY5fRKTLsH5SIO\r\nd5lhaOxXJ0WZDA5X4l/PWuCMnihC7q0+PkzbASdm9MifPWDigHuXX/eFs8vj\r\nrXXSZczwo/baH6hzXEED9PkU/jcAZ+qQ4FWmdLqZYoks/DZNGwIjU2Jk2wkp\r\nadAnw36mQ1Ji69NpNjQmqkFtZT/qK7PLP1TcQOEMVIBX04Zx1cNGjK1+Ya7J\r\njUE+AScK7YF8jooIqycwv2zArO4Y0482DbS11TI+rD6NNfxwPLdTVaqNW9qI\r\neYaRjeDk7YeMUJzZGDG3cgNECHlXZV7wMT5+2JCvKZblWWViLNm9QOCgF2mN\r\ncU3NGpPgrJS287/g/GGbWtTiEcmRECc+u4I=\r\n=JsCZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c54316c7c60bacf8254758124c9235dc48d44064","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.eaa0c3a86.0","@material/feature-targeting":"15.0.0-canary.eaa0c3a86.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.eaa0c3a86.0_1670002930026_0.677448617466224","host":"s3://npm-registry-packages"}},"15.0.0-canary.79a613bbd.0":{"name":"@material/dom","version":"15.0.0-canary.79a613bbd.0","license":"MIT","_id":"@material/dom@15.0.0-canary.79a613bbd.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7d3843c60cae051864bb536ddc755f3ae7f73d63","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.79a613bbd.0.tgz","fileCount":28,"integrity":"sha512-gdqKl8cRzLqS4gvksuPTe4ukqSlO+EpxoCkx+KjoMySgIqJ5szKHsqEUkz37KxMOzT+Bv0ZkxrB7NsApawBWbg==","signatures":[{"sig":"MEUCIQDUSIMPNN3KIbXvRWj00ASiQobzkgIfVoXSpkgVNDha9QIgbwCDIpHtXWe4Hr1S5JJLn7OHYF0QV1/81WA3lsp9yps=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjj1DHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrrLg//e6e8lPbhvQTcEYM22sqshTf4KHEFlQSxfH313az7rcIE9EvQ\r\nufT0/rE3zUT5xDB8+g3R9E2oHpmGyEdD/i1lyEGRlGl/f0riv8Anoij0HD75\r\nReuh51tbDTqmS3Ok+DWzyvTvpUoA2EAS7gxZOgCGP26XvzPsPicG6iXTXvBg\r\n0oxAQHzIVBI7JFNrWAEeLFkeL35KAettuLuy2c3laPCVMS2vrOlrPY/1iqIf\r\nvd+g/9DEwaP1af7scVZYQIadMAR8XMV85/O0ywyhvjvv2gRRTkmjfW6sR/V8\r\nHnomjDhLFHslp5ls76udn7WQeIzArwRko050PYt8erKuQwLVt6nCZtrHK1tD\r\njOhAlOp9IcyrbCTBndFiuioJzeEkQJPwrT2yfrVD7VBD72PiBj3DN+hswob/\r\nAQUMRaKUZmTgMO5YZOtuRle4RRTvInn2ufu3OGV1BIzZEmONOuc4IwdhWc8/\r\nRxXhVkaz2QG4jc0RNObBTaNs28fILOTi7x/zHRh0BKRUdzbx7DOtqv9f1SE4\r\n8X1UCltO2f7pk/GYFeiW5ClgCBswQqm0JSeWqaovOWp5SVENxB+LeprQr3bI\r\nW/8bkeuN0/ym1weH+CCq+zsryOR9RB/hS1jwmPFjGstoRkbN1jp+vb4kBp50\r\n8B1tvNcdjBlpJ4q8mejKMa8Ov37nCV8Zae8=\r\n=8gMF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"755ec1ef0b2cccdcb0c8b888d199b4748e3ba10a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.79a613bbd.0","@material/feature-targeting":"15.0.0-canary.79a613bbd.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.79a613bbd.0_1670336711180_0.7878003039988164","host":"s3://npm-registry-packages"}},"15.0.0-canary.c871fe61e.0":{"name":"@material/dom","version":"15.0.0-canary.c871fe61e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c871fe61e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fd36520b0bed417407861fd0f80669633c7be4e5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c871fe61e.0.tgz","fileCount":28,"integrity":"sha512-WduUGayXCCJkQBvi5PLiUxFQM6VU1EqroAcF5zUk966FYSaWeVeVzwoYKDqpFQ+DuPxWggAMvl6T/r2Vq0zTcg==","signatures":[{"sig":"MEUCIQDg7OM7R+ELYXoBp1tTqnZhqBq+/Vf2I7VJNUV+u1CUHwIgbw9ZeMb3XN+hO8e/LcGzbAwcdlL7QOMflweBtkCxdus=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkEYCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpdA/+NwRuS0L9nWCfYF9q5dLqUABdaGmLfQSxMoJklt4fPAV4dcuB\r\nQV9HOTwQxVsqD610sUlZMiUE1bb5rp4p2jluIXT47+J1Aw7v5Rqfx6Oi6C49\r\nAU++WqizAaw3tqH+5iYP+dT9u4IhYayf9Mkr1C3pTOLLf3Frhx/U2cXqvNoM\r\noZTx1qLyA5UA9kH6cpvBnWQZBcp44DaW51xuCBAcjViq2K5c3qmtVXf3zJFw\r\n1mUTxbA4d/URUCc/mA0TH0Bf0p68tDFdmetpbs1wWBEOWrBHlvf7G9C+wC5D\r\nu38cSoA0tVSDSVY9/4rOeByXAwtUteedXTr7CflfzM+bz7Dukat7HNK2bZFZ\r\nmf+rTolDAqFkJOH1p+S4y10wSQaUsX6k/+RCzyjgBdMwqlFwKXekXHQruxiy\r\nZQk0ZH2bDfcxPdE7sQOurc8sNKQXe9+Oz8hVAW5BUtpHE696JZE6B5yBK4Vc\r\ngPsq+aaR00NZisbhMmZYGTjl1aJ7tmjVvajJ7QDvVFPOUZJnsl5oJqo3oa0r\r\nX9/gHJVAQmu3bHWj2gQESJxK/oHcfw4Aqgb/Wkfms5j9TUq6hEzG/Asov/IP\r\nYmQA2v5ShKDO5AWx4LyZwdGi0B6z2ah6YVRoxjOkcRxmZI1MKZ+bPepZgYo9\r\n7i+zjaj3P/JICauPpM5I3M4r4OStjqYgDZg=\r\n=1CnS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e69be4936d1304c30ff7b83af8488b43c0ad5fef","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.c871fe61e.0","@material/feature-targeting":"15.0.0-canary.c871fe61e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c871fe61e.0_1670399490031_0.23895747301872428","host":"s3://npm-registry-packages"}},"15.0.0-canary.9eaee7936.0":{"name":"@material/dom","version":"15.0.0-canary.9eaee7936.0","license":"MIT","_id":"@material/dom@15.0.0-canary.9eaee7936.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"218acfc4225a957b2a21df52226ebda898a72203","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.9eaee7936.0.tgz","fileCount":28,"integrity":"sha512-C7CrrkXivaI+RHL6wVeuVD+4f9WoXQfRwYDOxApXSRUrS13j5ghMdFndsw7zcihzMhr/bXEk4wccfSQB9YVV3g==","signatures":[{"sig":"MEYCIQD77Z79wNGPmE+Vxn2VL/vgi0uEWYreaMml8gPk9bCrkQIhAJIvFa9vSTBkjLxqJknAKDKFl2dcE0Eu+tIbIyWe/oFG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkPFPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHPA/+Pf6XNbndyNKAr0//YwXB6yy6xsL0HVbvwHnMG+yf1liVOXIo\r\nZrfh5E2nUfzgeKfF3Vj6WFmDb2POR9SPRKr5m3FGkjNgYgD6frCUO14a+VVw\r\nWh/+Y2s3zRcilqcI9KD5/MZNCO2A4gOcuM/KF84cIjkwfuBvB2yAKR3s9ISM\r\nuGZ8uHo94By8j4f+/RwRm+j+zQz6BAUBrk7/Q58LMrs0T7ChBWUyKWELrIx7\r\nA9k0K7cBe0VbR+HpVvCz85kgb1JjJ8OKMLIPFN0X8Mq3dwIEZwWKzOnExK79\r\nAiQANmgVtDDYIYuZeF6BMfrP17RTSQnc5h7gQeuruw8ZuMdWkwFXZhLbJN6L\r\nlFlmEXYCBhQkj7mKClo5wPHjyQcGwQbRh7Bo0I8UtC9pJbeKwhnAsIIncfld\r\n5F0wtbNQ+JtMRc8lJZiHB8THCIHdOChjDNf03IIhwYCaogXnXmZDl8Ldhoyq\r\noGJcz4Jah/Egqlx0ZAMHJ/zHzreB3Rm7YMQjvIWH6ZIHC+4LBrYWqFaEz3OL\r\nEL2CJ0oxJJ7ZmEUklfjDahPPNqqsEDr5AsnH1W/tl/RzRGuIgTcYr0+QYj9d\r\ns9STZ3RSsIflRuEYhYIQP5Eg0MLFPPJLb2ISzl/F0XqZaKIDkz0G8SfLpqWI\r\nu6ACSYXA5fwV1F/XDvGGNoT+z7GWgSgoqyw=\r\n=KFlF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b1b576e68a716d1a80dcdbde7a572c11ca937fef","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.9eaee7936.0","@material/feature-targeting":"15.0.0-canary.9eaee7936.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.9eaee7936.0_1670443342872_0.4376524570674647","host":"s3://npm-registry-packages"}},"15.0.0-canary.1d37bf601.0":{"name":"@material/dom","version":"15.0.0-canary.1d37bf601.0","license":"MIT","_id":"@material/dom@15.0.0-canary.1d37bf601.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f0e2d2865408fc3233bebed90a8a878dde1f746b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.1d37bf601.0.tgz","fileCount":28,"integrity":"sha512-h6yCuOOnXwtSy1Er586+Pj4XjIPBLdQhryDBHghUxscFupuvFrgNwNZVyF771Hj9RBhHdlCAwPk19x2dMAjURg==","signatures":[{"sig":"MEUCIA9kg6wdbpS4cgf22SOgoJGEeL2F3pgNCv9sIZXqd6oAAiEAuYZSmBS0r/KZd13129Bdt+ZIqygP3vcYp6Aysb4Nn1s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkPpSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrFkg//UfHpzwE7YMatuCszEwLk2Qp40B8JrMYMJKSSJAjMxO+f0ubG\r\nHq5ms6T1WYzHo6Zshfpbj+zu2lfbhSF1pldBEFi9pOwkLIyohKUXdjihf9aW\r\n2i7gKmrmOHTbVAXD7RI6TtVv7ltCR279huwL5n0XLHLDuqj5nL2MqkRFlUYS\r\nZYQjeoEEmqFttYY5FtDiQiMv1igQFiSaxBYF+DJsCsdr5Teue6y5kdoYYKgz\r\nOuRKy6Av4qCblB0nr3uZKSrwHFLmxndmGQ+g+NbrzbwyIBDbV6lulPYFkIsW\r\nZxpam9M8e+QhnxSYsF5F5I7eE9szqeso7OimrviQ+Ly+4DB1QSVCvjj/nNux\r\nGEZqEv7h9YnrmvdlIXgbf2rq5OTE0vaakeLY7PtWnP5cN+Jxr/L7ALYm92VK\r\nEHvHqM0+iGD1WUjRuXIW3JpMYPH5p6agH1JbIab87A8qKE0qTfwcU1TM86qC\r\ntyxReXCiweaLrPIqk4zZ8KXf0yvOpGNPUWDlnyLsCVi/FVFdFIFDZAAcpneO\r\nQ+iqPIOlKnxtMH5FOynr/2LaOQgxRjD6cnOoQZIojSGMXMQM0AJul5cLf8q1\r\na067CiqWayppvhB0hpLuQ4amRtDv+DqFjAjHnOSZMIHEx1lMiBWx5Zm/TYMD\r\nxFHorOwxmysCdDE050oK1H2oC3/vAALlvhQ=\r\n=JMH3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"747a03f19fc88f7a2358a382989e729013e06df4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.1d37bf601.0","@material/feature-targeting":"15.0.0-canary.1d37bf601.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.1d37bf601.0_1670445649830_0.5796700937240264","host":"s3://npm-registry-packages"}},"15.0.0-canary.a5fe069d5.0":{"name":"@material/dom","version":"15.0.0-canary.a5fe069d5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a5fe069d5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6ebc57ba83ef5e69e42d704c6a159946da923a00","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a5fe069d5.0.tgz","fileCount":28,"integrity":"sha512-2s8mMxFiCk8NVTQBKr+CnCULD39K7cWDNv4o3p44N2/4VW613NlBwa5GoPSAKwSinR69IM3QoZbYjiFY9Q6+Aw==","signatures":[{"sig":"MEYCIQDEYuHgylEIr3v1ZjxZihO2TG2tL8HxQEsOXepSq7SY1wIhAPHo0I/oADkS1aXwUOLEw2Mso/8etnS9Qx+nOIMYwaWQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjk4HfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmroAg//TspiK+YxW4FtkINzNGzJ8GT+DleC6EFxhAsrEJsakUoJGL4g\r\nlpyJCOdfTrm1C1vILMiZA2f8csqUXEaPV8d1ZzGDvGGotduWc+SpDzgUi0i/\r\nvtSm8smjFv7dDyX/6Rl4Ymm273SGoUqns7/DGfhSi5XEv8QsGJ4yiVvUddCw\r\nKBe/6q/WTwCfeBB8Gd1FdIUvmqeC+/6h4QZM5k9L6QdoZG5XE9w6HpOE+1sd\r\nnLizlpzgk3Ur3oBpwLxpc6I02w1MovVgTgZUybzMzvqPAvjet5Ncx1AGDsKD\r\nQsRw4K8bE213AkXxx2xBD3kBobpvpPzBo/IQgOGsXxbc1tQ1SHAyqInbomB+\r\nxUkXmksLti9JRfEAi1S24WSdTBPFlZTTuUtdAEZUwsOqwAZYkLZV55y8rFxT\r\ng1iUghglHqVs6Cq6AHwabpyTfGDU87SJOqken4JYQSq78qRPrM7eiEPjtnUq\r\nai6V91YFne8jkgO9IVrJzLDUY5W2QGfB5KrK1qRvNCQTtaZymm4ANQLVGNrO\r\n/F+noogGi9A+8UoGL0sJQLRXIc8JQR5g7PlzMmt8LYyK3Hxa0hivltbgSRFk\r\naJt4qE67eo9ZKioE4nXvxwOtVgM0KWJcvZQfo8R1mlQ0T+JicUX1OjBZTc30\r\n/FvsNN41+aAacULaOfrOhoihwSq+6W3ihME=\r\n=hUHK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c41dbe93704a7d03ea10d8f1b4de13fb8c6e19ab","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a5fe069d5.0","@material/feature-targeting":"15.0.0-canary.a5fe069d5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a5fe069d5.0_1670611422745_0.4173757941579772","host":"s3://npm-registry-packages"}},"15.0.0-canary.ce8b5326f.0":{"name":"@material/dom","version":"15.0.0-canary.ce8b5326f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ce8b5326f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cc2ed87e0d04799ef98097216cd3f2bef7b2299e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ce8b5326f.0.tgz","fileCount":28,"integrity":"sha512-hRqtlxiXZLkuRjVrwC9c6tnweMIsYaY60hBKeG+Xajm0HxCr5of8wBPkRUW19y0G6j6BGrvOXYqhFt7FvZ1Qwg==","signatures":[{"sig":"MEUCIB4izbsCZzw2WsOVQgliVpsXIm+7juOOzz6EQjy8oHtuAiEA5hacLiMydJFC5xe5HoFQxP9JXdpr1Ily3LvvOC0BfUE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjk8UMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrrxQ//dWiv/Qdg2fOILsyxFIml1EcPxC3xPOiyrnQv4U8tTUJ3NY4C\r\nTWVmvoG4KIAy3R/Dcinkt39ove/YtoWUyWAk38MkXM5aXA/fVZXUtAx4kaxJ\r\nIVkW/xXVjNLJKyvfB8FB98OikxyVZ0tKC282OcIMPaQ8Pq1LNAMpQfg3prMj\r\nB9gEKIKaPKXEW0ZmA9H8YfceFe4tVn/N45xVwgnfduYMDhZv1BA7300dXKA5\r\nARSVzal3lTxKu7SNT1y+Cj6Po9+TrUAlIpSKO8Qu6fGwsdgSq1inYw7S2UYK\r\n6N5MdWZSD+uo4W/iMYFDDdIBsqcq3GuG94ABU6FXMJll24+dUWcWvTljYhjm\r\nnHDDjKa7ScxyYHErPnuaTlq/qFLFDoHDQEa7zZzT3XzZotsgtsIY2NbQbnOg\r\nh5G5HhrXRa7stbgSLMRe/Oadup+FXTSy0L4dyGZbXkUZVN1B76vV5LJhFst1\r\nePkBcQ5vI4VG8aj4nGEZIuTa/khb4D28WiEphvJT7vTWICFXaKi+3UsecqMn\r\n51DtPGH0DBQ8ncbS24IlklCN6Nw4EjqtTWlR04rq6Yafhose2BGiCX/+S+Of\r\nPHvakO9nkXhNkQYIOhsNevR4Ln7BrytEgd6zWZQno+QaegEkeuhmt1CSvT09\r\n6d6kh5MkF60FHpWxMu51D44cBKHpoR4vtFQ=\r\n=465R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8ff7f9974a16b8178376e943748356193d364587","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.ce8b5326f.0","@material/feature-targeting":"15.0.0-canary.ce8b5326f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ce8b5326f.0_1670628620232_0.4188515194293658","host":"s3://npm-registry-packages"}},"15.0.0-canary.43f5323bc.0":{"name":"@material/dom","version":"15.0.0-canary.43f5323bc.0","license":"MIT","_id":"@material/dom@15.0.0-canary.43f5323bc.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0b0c1cbc4b73417f322ba3eb8f5487e0a5b0951f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.43f5323bc.0.tgz","fileCount":28,"integrity":"sha512-K+FrRd9p8wXA6N5ziC15AWpbDtFvntgejuulnWg3EKDkXlUD5Aqi+RndqI4J7pLTMB8BV8/7J3fTbHOeNojdXw==","signatures":[{"sig":"MEUCIQD+TW5PNzJhX7ovG8y43BCvs6cBU+nv9s8WLmIaKnLfqgIgT2+ZiOTDeIVJz5ncQ1XPgjM7EgryCJzYjbGbC1IT69I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjl1q8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlXA/+ITqnB8p5XSYG5wRqjRC4a+thrki5mTNPiixf+viFq/sukfW8\r\nHUorI0QSAT2t0bbFOWpIHhpiec0HYVx6klJ37k35B52TpcW42Sdq+ywHdxbO\r\nHmg3YCWfFaRvgRhQ1p8VfVb6Xz2XQJSWI68120d+7k57xDKqq/CJ9bGIarVJ\r\n+q8VspEVIXxNnes7xk5ROSK8i06R6g+x7D2E/k9WhyqUDsZf7PG/4k3Zkl27\r\nyK2rOmFJtRy1NBqcSyutqSnDqj+SYk1aggXkQQLdlnJRc/wDwcYI00fazQ0H\r\ncuJ7QA7yfvvXRMkhTCCmVgo5Lt8xdMp6AVATzJAzBuADJPbpmPOvB+jyUvod\r\n5QFGPLNyE8J2fcgodoVk5k39XpwrsBht0DB2WJt/0ty9KHF9Hs1pMZuC6fFa\r\n4ufoeyzlHmIbelsxYp7Z4Bn7tmPZdKlMiEIYF99JKTjozGgNTV8Qhg6pkDpp\r\nj8OuHjw+nywUVYzEoHXjm/tu8ft3xTpyOfxzUucaEAMoAY6FMNpxJ7sFBX4r\r\nUZy3IjO8spw5Bly8O5hHW0u1Xkizebex85krjIhDeL4zJbmy0/4wINPFa4lK\r\nJW0hg1fk7EBWgkiWxn9W7IrsghmFx2mVUfVdWOqsoelI6Ubaq9DcTSfxoEL/\r\n0SVtmsTtE2DRAtUNorKTq2KQ2WiRFRwTLAA=\r\n=+ReK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"00be798d56184d5daa74ad6f53d4992db90688bc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.43f5323bc.0","@material/feature-targeting":"15.0.0-canary.43f5323bc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.43f5323bc.0_1670863548041_0.36421750685264853","host":"s3://npm-registry-packages"}},"15.0.0-canary.5490e32e7.0":{"name":"@material/dom","version":"15.0.0-canary.5490e32e7.0","license":"MIT","_id":"@material/dom@15.0.0-canary.5490e32e7.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3b9f438a3960ee58bf7dcb04be040d46b01bd753","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.5490e32e7.0.tgz","fileCount":28,"integrity":"sha512-7KIoSvPCzgXzpDHWUh72kRAaOhQRhSPd43DI4yJpJGmuDcFVXmyd+DvMoBgFHOHpKQIyuS2eOgir2vnq4MdHaA==","signatures":[{"sig":"MEUCIQCh60+tvhhj4AT4PxI7gUBC+kYU1PMGU7ZpAql+e2orJQIgQCezVqQFgSHXX+iG78oq8Xv0KnVUknyN2pt6K59MPuQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjl150ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpg8RAAkpN0tkXAAUsDxSqkwY5RQ8rI0TDKm+1hCqcuagY6cDXNDIAQ\r\nyMjlWzHIliMa0rCOQ5a6CpxGU4p3TZfHpvcYoiKkoI/zX0ogWi6rozEGuPeJ\r\n53L6WN3ek+dbR1l3qZgDVLs9WzbS34635xV9NYn/6fI4oJDgNKK5W0yTEfD0\r\nYBc1FeTJydsQoowNkx+0wprfCIlRRHx7yc6OcS2O+MysbF8x9zRT3ClqytWV\r\n/HNnNf3HVD4E7xh+s0pszyCOCEqXoDdKDIXZilEJ3xONCE1b259Yn5dGvRu1\r\nmv9YeHG3NOjSx0huSSDpJgwyv/eJO5R7RO8LJI///f0vZ+Ee5WlQ3G0iAr6q\r\nZ4GG6+Vc21uA6H7KBn08wb0eyMVl+ea539rtvaxZzrLCcB8YmVEUuWf+uchD\r\ng0fdPZOsFG/SRzy8K3rb0oJfYBcJKpeOI00cECp/kA5vEz+Y/Pmuhd5it+nH\r\n1mkowPGy/ygqxD24kC4+zuXkpAVY14ZU0pPM06PpN8RMWlpEhBWwZzvV6x+B\r\nrE3ctqtuJHNSgHNlZUUdmi/uv99OkJwD2EH3YNq/Ftdtcl1x++xvw6zQna5F\r\nS/vTNaGm8R35XdWoBfukVW29f540K/YutY2JLKgOpfQ1OxQjQB/Hle8zQMk5\r\nBM1FWXGOAxwUXuuiziOdcw5d42X/pKD1UHw=\r\n=nX3p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"968b84204c7a8626355569e2b90063abd574f7a8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.5490e32e7.0","@material/feature-targeting":"15.0.0-canary.5490e32e7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.5490e32e7.0_1670864500731_0.10886517776553384","host":"s3://npm-registry-packages"}},"15.0.0-canary.817002c29.0":{"name":"@material/dom","version":"15.0.0-canary.817002c29.0","license":"MIT","_id":"@material/dom@15.0.0-canary.817002c29.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"08aef515dc119ca849d55c38d2ff096a5b6ce7c8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.817002c29.0.tgz","fileCount":28,"integrity":"sha512-Ngtv1Ejtm+TfoNjh14aWEGyqR7uWIIUpv/t8z+ciCIQ9MjEL8egw9mAKww+/nl/NB0XruF6SKAngVjOPCqbEWg==","signatures":[{"sig":"MEUCIF34TLYxPklNROWwXPuRIWft1U+XnAEmdV80DaQApwB7AiEAwf8VfY34G6iT8VtRjoq6pcso8xv+OA3S4ML3hvlXnBA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmPRbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrllA/+JL9kRWlocVeDP2Js9ns+W3Cr4Fbp4bYDJZ2k7CufsskAxEG/\r\nu6W1/dSpZmTUYFvkLtTkdwAam1f/+N4FGyrpssMZ2HzgCw8Ae9xM8aAQyFuh\r\nBjmKvbt1XK/ZwwRHvqmfjfVMFHVF8o1ZHFOQn4zrCvvhEtZmID2XlP2WiNJC\r\n3WOGNDCaCRl8alc6ODe/vBW4Et4tyy5smWTUV2kywXaXvuXe2QKdlv778pHH\r\nkXBLese+iYH+HvzqiCkpK2ocgYi5Ov4ethjyD6UHU80GuTNEGWtCComFyk7w\r\nt16SLdWKUt3fHEKEDJUlR32EGCPCFhaLHFhYsXnJwqUxVypOD/73iLMlrNB6\r\nUrKlEgTgW6JEQoUbN5AJEnMF/bsVZzvYugIQ2NcL0qFRcJRazp/fofn2MBhJ\r\nJMXP3eQ7eOwI5NHZ3VdCqqyeSZGeINwBEC5rhSw81/pG/F/ClHVWEpz2Ru32\r\neJL5hLw1pW9oJ/ZIlXAzDui8QDNrpWhnuE1WPKorgzyFlz0wz+dKbm7v3yKp\r\nzwPppL10hhO82BLbAKATST7vlFMO6NLVv0KgszSjuvhqVeBmzhRlxO9zACXf\r\nByPZr1gh8wkWvNeOYxm2AQYygXT/i7kMS3bVtbnAPpVosRIeiA+Y5YXy9UIj\r\nArUBumIAdkLW6SiNqBqxICIpSqq+c8VsErk=\r\n=5UuN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8a85122d0f4bac7142c66fa54e2fe9a569e7c4a3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.817002c29.0","@material/feature-targeting":"15.0.0-canary.817002c29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.817002c29.0_1670968410828_0.5008466954999677","host":"s3://npm-registry-packages"}},"15.0.0-canary.313a1326a.0":{"name":"@material/dom","version":"15.0.0-canary.313a1326a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.313a1326a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7460036b109912980ffcb18f4941b7a1476fd16d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.313a1326a.0.tgz","fileCount":28,"integrity":"sha512-pWVzqQmA/keMISsGiFAj23MS9jXJ2HB4xMVRUiQZupYGG6b9YwM4TGTaqwXDPh6sGdJFKNcoHOW+444FWkvsfQ==","signatures":[{"sig":"MEUCIQDWcnpLzNyOUdtfDrx0ZY/ZnWfQf3sMxcBNeJJ44NwIMgIgdOLqTjHT4OuTIjVItPNtG/CFtz0wq9NtJoTLo89IJXg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmaVEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2VhAAoe3Whm9xefRkMLlJcdz/9d+o5OQCBr4ZwdWs11323OrbpXyB\r\nrLxI7iAqTx6Sxc9ex39cnUZ2a//s7BvklB4dLyFWPw4vUmlkzP80ARDhieeS\r\nCIgajEbCwFpyQ7A1KHoaN5TQuhsGIi2cTBp/DEdU6tdSYowvU9snHLz9Z3AT\r\nvH/d0oPzYbPDGnrDMCWpyYzzHctvIbuS1Uu5zdD6KiYB+0xs0Y3aISojty1k\r\nxrGiVzpGlbTefte+sFFhp+vkzKEDTBEpPspFL5/s1VBewdeAlo2KZ1J28IOK\r\nc1UnjfU3DrzkvRkDAFkpwvlpLWlrbaS+HMY+RALTjBLWwyiJ4cs/eeUIqJN9\r\nnj3U0oLwbkQ33GSx95fc+M22liO8UTsoQhbKQWKQjj/gFmC1UO1Oe40rKiTx\r\nWKLcj5YbEGWUXHn5a2pIDPPfcuGMq5gM0sQzadLrVQeTWZeWEdz1NHo8nXJn\r\nb2qqrWKDv/h9xYbyWTsljY9DnRK1tSUYocYegO74TsRLHBinXBnsHa4xLcFn\r\nobc2tJlsXQh6L2wPSCbV6Jjqn+NP+lJKbnbqqwCzoB5+cWfzXEL8yycXvXRJ\r\nRtgqqv/qstURqeIFNhqeMpfzDoxVXdgvJOdHosdk3r50KZIcf3FU88gqFvu3\r\nyNoF//blPnjBWVuXq/VXp3IfQIEh1HydqzU=\r\n=yyS8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"899522d523dc8a23968f530bb4de8698a5b0e78a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.313a1326a.0","@material/feature-targeting":"15.0.0-canary.313a1326a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.313a1326a.0_1671013699984_0.32210180143051814","host":"s3://npm-registry-packages"}},"15.0.0-canary.a69c14e10.0":{"name":"@material/dom","version":"15.0.0-canary.a69c14e10.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a69c14e10.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a1b58163f6874f1e3772186db659938d0cc81676","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a69c14e10.0.tgz","fileCount":28,"integrity":"sha512-GYkzllRPMXdXaCopyQbBAUElE8CpeFo1X0PoHD/A3ajDzRWoq66DdaqbgsC5Jvm5iB8xAPxodoc/7UJZTZnb2Q==","signatures":[{"sig":"MEUCIQCDrL+RnaOFT5zviawPsDMbueeaaqMUwyJMmAVCn1PcaQIgbdnavJ1DJxNXil0gqZYgjZcX8t63BVlwDIKjMmZ1zkY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmbEAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPTQ/8D3MHA4pplafPVzbjHq8hVIsAuhdA/JDjPq3geyWoB9XppDQP\r\nTVrLiS8p7IW+1v0DVlX9hpoUIT0FJ90BBm2zBPo57+5u9UndSy0zV9ktdQHJ\r\nXhVSFXS1UX2ki5WywGKVii9WheQ3G9NLvDKu1HIxeW2Ga5zetK6k+5z1Y0xo\r\nPoV+mIaPl9u3P6MedtDMb21mLW7kdX+q3e0mPeXp/SQDNKL6xhQlc0b8vAF7\r\nO6SxxWPXlmwDeTC7RWqPDA489WciX+TIX3yaZKWOZrGFTJ0j65QE7Eprt+Hy\r\n5FWYpkmEEQZbdK+2gSMFhnQekdKSEZ7QpHwxcJ6cg/bS0ZrSXYw9w5CUZxkW\r\nee+CLT3ZAzzWoeUA/SRuaicBoxD0UEyY62WBhUuFTSiuxPBuWajt/u6tHF1G\r\nH72nqXXuPLMKD8sqr/WkP0vYst8DoUqQea6yd+4PQjd+iu4ZK3UYmjebhdNN\r\n+ycrUolWVz2QR0nKG7wqcs39IAHfoaA2cXX0SBxTKSzmaZTCJJyVFjusDmQH\r\nmWs9azRJGjTwFTUmwfDsQKdzA73BL2yFOq0bemj/Gz67pvSGerk5lqjQe4Os\r\nWf7XMZomGwDUsCA3rJ2nd18jXuVDh1EUdKBda6HjszTrY7QUB6fx2OjHXGty\r\nvX1w68qc2FAiae8qfb4PFccyrFBglYI4I1A=\r\n=ctMP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"39b456415cb22d1c1b4de3d505f0e2412c1f5316","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a69c14e10.0","@material/feature-targeting":"15.0.0-canary.a69c14e10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a69c14e10.0_1671016703964_0.9599335575963261","host":"s3://npm-registry-packages"}},"15.0.0-canary.f43e0ceb5.0":{"name":"@material/dom","version":"15.0.0-canary.f43e0ceb5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.f43e0ceb5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a067c9ba7cb8e7524617495167c2906d5a964b4a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.f43e0ceb5.0.tgz","fileCount":28,"integrity":"sha512-srKjvCpWfm/I46GwmDvSB5AvuPtg2io3z89sLGibJxyy4qHRzNqYrnJy9x1wkG0vNpN/K7YDnQ9jj1mFxVHDXQ==","signatures":[{"sig":"MEQCIQDiTPgJuqtI9CQOsjRnjO8FmziFk4Nv7qHX4/eSRDITbAIfSQsij/aYNuxqQDkwkk0mhKmLf2OTL8nViXLYnsv3vg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmf1nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpbAw//UVjhKAHLFfL7xB5kNtfDYRgc0O7V05XcGi6DTrhnMA9IjueZ\r\nJRttnveWgBeDAsJbG8ednay3ZMPTLnZSEAil0mJiWUArghAZxoqT+2ixAigv\r\nCOTR5EiLf+Y2lVNfaAhFl6Pa7Bd/7mdGdMhEeVgKEmBcjTRY8W+v2YJvurxA\r\nY+Kn+iwwKL1u9sUlHNw0SPzi181HWllUx8SRUr4swVmAaXkc6DYHszBdPkAL\r\njRE26+Hcnn6T6dDylUDXO5JKuukOoEIvPC3QPBHpdEibKZrm1RStewgSrhVn\r\nK1Bhc0kdVAOcBflarWGV9NDh4Ho4SMtpwrJHM6rHdkz7Vmr8NM7QhZiPkYrJ\r\nOtNjdJ1aMCwgOlVnyyk9mAb1o4rLybQYdEd9EiwFG4NVc4DXlo43/1H1lWcr\r\n1Vbb+06ztcdxBUx/StiCGrl3JgWbaIJfN9xW4Xn1rFLIZktqI8nw6mdh8Vem\r\nFX2WUHulEaRnxEb55hMfPSO4SU/GfXt/UrrJQbVPhN4mkqUniS4DystweaHg\r\nr01TV/WMVDjUzUnk9IGNC4rT1WrUm6FPII3k+cSTRK7ORbulxuwpIUgqxfAP\r\nn2vPxkI5yXac+IOAeoFf3dOV90/cIhYmr8pzBnOOEL5ql3ZnkfTnELMZvacu\r\n+/URwHKajOSr07/6oVnv1nLpMwCXGFsUvU8=\r\n=pxDw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"35662ba23c37e102fa09f72d61e38e5ce3b10881","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.f43e0ceb5.0","@material/feature-targeting":"15.0.0-canary.f43e0ceb5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.f43e0ceb5.0_1671036263486_0.6906257247613532","host":"s3://npm-registry-packages"}},"15.0.0-canary.34767110.0":{"name":"@material/dom","version":"15.0.0-canary.34767110.0","license":"MIT","_id":"@material/dom@15.0.0-canary.34767110.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a466137c5d80b40fef3723b2ea22fcffb93af73e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.34767110.0.tgz","fileCount":28,"integrity":"sha512-oUwpuznHWxLRqnbyhr6a9DLirtP3+xDceu/D7NgjIZdHENZVC7JiY4UgCqFfN7vfG6R95ImqGSM81/qqKEtJ3A==","signatures":[{"sig":"MEUCIQCaySlM2OhiCLhvcxRyeK3ayDqByYPODxCQ2kmROQIEQgIgBtaG18ekUzZXLFRhDux6pwVHuUSiG5N2TZ1lXV6fMfA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmgXTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpwWg//Z0qZ/VwYxHYthJwjk/1yLKxovZWFd1uEeVzJ4p/Kn4pFiDF/\r\nk9h3Do/4JrNj1wzZp7nja+GrJD2IKpx1OFaT3sNFJdSNRfpUzSRSh4OwHu2l\r\n0buKeSE7/v9uPWnx8avmWJJ/B84TLycQN3Ye3S6EPUYM2O6fDe+z2CQ4qEfs\r\nfuIz88YQk2k9JXjvnHWcQclZaAPWf398es+6HZtIEFHaAJIKbIP+WukWebvg\r\nquuiufQSyZn1LeNhK/6gRvrwrHyx60fR9LTcM1rj1WgvHulvn5EgaaclkP/H\r\nDKeAt2YloSyojIt/y6CaPXj4nq3H3wqKEnSUBdGT2v9FxaLZTCwXMfWqwAtl\r\nwM+GvxUco6y+QTBdUhbUmzFdAQTEM62ZrCQ5W3XjYaHIh3iSq+k3c99HsGSv\r\nYAOP85wG54R8AIBiSCzboKd/80nT1zzk4B6vOXI9vcSnv5UMxUCGEzCZmV1z\r\ntRAPq4chW/XSQ1rgLJPmHhHSfiiAXL0nV2Mbg7xP5Q3Wm6XgAD/gj87xTxnr\r\nTsiAjB7opGlynCz3/+gxUSmSW7gzBd5J29PBEBi7yM5qAYtEGWkp0D9i0WIz\r\nmNV+Cm0KrvGVr2rQ0tLjXJZGgjoLeWiQWxoTcT10L0u6GSHPYDsuYj1MSfHE\r\nZ8Ee8x+tXBUEqfhz6Fp8ubdDWCHY/nEHZ90=\r\n=+oTd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ed8adbbccdff96503e43dbe6291e95b5d2bca2c8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.034767110.0","@material/feature-targeting":"15.0.0-canary.034767110.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.34767110.0_1671038418881_0.4092972745758292","host":"s3://npm-registry-packages"}},"15.0.0-canary.1f99f3c50.0":{"name":"@material/dom","version":"15.0.0-canary.1f99f3c50.0","license":"MIT","_id":"@material/dom@15.0.0-canary.1f99f3c50.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d7862c157d2c74800d17fc4d91caa443c6fec574","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.1f99f3c50.0.tgz","fileCount":28,"integrity":"sha512-bllDm2h5ZdP23FpmcV8mJHpGuSEccXfvuBa/YLd4QZbExcAEUrIRVvUXbVLLnr0sZkg9QY/cEBOz0TFFp6aGZQ==","signatures":[{"sig":"MEYCIQCH62JBJFbAkTJPoaUDhqwe9/PLalWbf6+HIHBmaClfmwIhAL1TeJyiduoSg4QvoIZ+sMWjk993zcSPTELt4mSVP7nl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmy5CACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpNBg/9EWRSeJi6xBD8wn2Bnm9GABZMN20UL5IqWAmAmNL2xjgxgSZd\r\nx/iCKK3LobBsxXDAyWZ7/RJFdE07Yj6y2lX48Jjkx+nCyY4T4rq+AZyeZf61\r\n7ieyDsP2ZNJ7zcMNrqzuWtgVtOOQpt6M0cP7zG0vyfVrNiOL4knfapA3A22t\r\nByEklOKQKBMRKrGt8a294FNY2bHVP4ICefjOxSMmBc2BoTAw2DwTsFXBsZJw\r\nBK0Z5qbGu8P1gZLJOvCQejU96pXKoZOXB0SFOZU1+GqJiX+P2OlwqY9TtRYs\r\ncaie7vnCIP0jMIM9qvQfrzfM5t2yfL/1ej2I6YkC/GSs1mDIkxLSJW+5Fz/F\r\nR2YXSZnX3MgQ5yCwo76HWvNEoDeujIOYHiFg9nWoan2iQjb6mpipurd7UcaW\r\nxFub7nt91iMt0gxH9bbyVy55CDFNz3AgaEw/MpLiT7+M8O7iFgnP3QWRSDRk\r\nOqM61NMICp+i3/M9h+fwV6sY6jTjj9JMPsHpfqLMqkQlPo2ubPKDhMOKcNZf\r\nZ8DqsXtTORPaavBSpvr9l/lvFb2LihG4ze8RMjRVhlkxoaIriWQUazVKWEhh\r\n4FeL8Gz6cyzb+qZhz149OC6a6Samf1dTCEGhZCvb9rIoADgwFP/lQhJQYsIK\r\n4zjw0fpemhmi6zumOvZ5tmu2WIEmi+B/4N4=\r\n=tZBV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c9094e8faca1eaab158d26f7ca8ee4b42fb54bdb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.1f99f3c50.0","@material/feature-targeting":"15.0.0-canary.1f99f3c50.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.1f99f3c50.0_1671114306076_0.3031181014602222","host":"s3://npm-registry-packages"}},"15.0.0-canary.cfd69490f.0":{"name":"@material/dom","version":"15.0.0-canary.cfd69490f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.cfd69490f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9c904058ca32694ed9f86f2737c35615a0bec72d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.cfd69490f.0.tgz","fileCount":28,"integrity":"sha512-o1tBP7EZl44sN0wPC+QJlPenQ9sTCsmcL8zxjdQ2DpSivHGauvZn+B2sFttMyRVJkc7D1PwYFTNnzmEaAkkyJQ==","signatures":[{"sig":"MEYCIQCS8r8PCXCSJxXgkhAfdM71qXLc5sNjs/7Hz9PqZLAX3AIhAMifDc5YXbe/a+QUPrsYfSnhMuKHHjOK++gfeyBzF3RQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjnNAmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXyg/+M1HwdKwpKNJrHe0yFWGwv6IwHsUt2gNlyDUIkL2jfUe6k7cg\r\ngSMwgLsJAY1Ef9XXDYShRrrsgWhZd8ig4+SUTz1ALXILCNrfV+u7ZUW7JY0s\r\n7Mg7R7mlmY2VzX7EmC+XNmlsiL6oHWMexSjCD/umS95D9crYXVW+UvgrKRPi\r\npjXyxJd42n3BdNnbvNuhM3KI30l0kyA0kiiiKwFkeIxNwwyr5cqM1WG4vvNk\r\nsGNUvRU/eFWCkMVBTK+fWG87OOV+YtxR7vJ76rsgeQ4Ui6gZVqCzJW7d+7fu\r\n0YwmF8FPLa61xBnEbE3LqdbJFYqk0jeBVs+0l4p59hR9BejX/9yiTfOTFP5K\r\nZJG+xCOWBDowuSs5vACVrldFdqvRVjslmrlugwSSDRyMOcLH3lbAicLrbOxX\r\nCk0M43IdkGLRmLoheNvPChR+ZIP1ZdU8YpHMHAbXFFSh1FgXAZmL5YG+/ux4\r\nlBorZKasgNTUezyqpkq//1qj9EB3f2LYl6gtGLrLlVV5/udcx2sbZ9X5XZ1n\r\nsvHmuXoqKWUVWbisHWes3uJO2aXOBalf0werG0+ARqNtZHFtX1QJYsNm4Mz+\r\nOa6vF60c8E+5GFdM3OeBsoRyRB8XpSHZQb3KybQB+oaRb/0JlPQHSY8LVyb9\r\nf4iL45A/ff33ctQvNKANFQ+wgitiSY8Xuvg=\r\n=I3jL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a7b9218e1ea7572b08b54629159e6f3a98970096","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.cfd69490f.0","@material/feature-targeting":"15.0.0-canary.cfd69490f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.cfd69490f.0_1671221285936_0.3164195316256484","host":"s3://npm-registry-packages"}},"15.0.0-canary.94ad8d986.0":{"name":"@material/dom","version":"15.0.0-canary.94ad8d986.0","license":"MIT","_id":"@material/dom@15.0.0-canary.94ad8d986.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e5e622deed66f52ad15c95b9e75b4364a223ed1b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.94ad8d986.0.tgz","fileCount":28,"integrity":"sha512-seI25AGnd7XlN0EIOVvOKZoDLqTIyB/2b0OiGbh0/tNUQhejrcjegmtcbsG8ysGp0z0Z/X/xR1SCJEfZITU5kA==","signatures":[{"sig":"MEQCIBqpvuVmODvNTZIQBkEKKgNFup9mNdpDIBZswxhXBjnLAiA7ch3XoFdFSVCc2E43HbM+fmeNZUr0f3FEeaIj4B4AIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjoLrwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqi6RAAhk2JKqyuY1kPQyX4MVggGnqDs7LVnsoNO3u6SQDiV6xuhIwK\r\nU9NStPg0yfrDIrY31rA8H/l7wXk9MycQmAHKRsSzgMKlbJ8m24tmmWToucKD\r\nBTwX8K5Lzq8fyG1UbBz8Jm0kJ/evzsGgIaWjgWfSiDlhkFk8NfN2yD5HUrOe\r\nswvC4ZlJRsOZNtPF0rDbe5tChl4+NpnjojhPRLKZ+4ONInu9CvmanY0OF66X\r\n4GuZSbhtjtqEvsLxLQwl+bOpfDV51TjnRMuoRsFa29BwwEtLPMncdCkHJbLD\r\nQWn7CUl7mWJ/ZVz+wk2GGxuXVe8fW7OUD6sV9ueDl4WKYbVr7VqVsBeqYkMW\r\nFA326PR3O7GhvNZhFQRQjJuP+O+Kn4OkenQFfKXlIyjGlrD1eZhPJnCQKgJm\r\ncjBaK/WnDKV++y5wA9LteeZnmng7oFglwLQ//9NHSIYup0ePi5UPmyohEDwC\r\n97hj7RtJaMQHr52pxM/kSAla901vzF/D/zCjCyjFx12NK9JmHMUy/n+Z/tUq\r\nS8QTikzu61rKlY55ZdEtYFDJBPAOD1fBMlN670VPScXT2C8Q2wuxsQ9/tUa9\r\nfq5vwimP5/UPEQmxap/5H1Z6ySYfZkL11IIGHuZo0zBJuPsBETILvQ4JZd/K\r\nLvk7E5mnnxKVSh/fcEUHH5yCnpoIzNjse3E=\r\n=NDJW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8e8a69afb313ffa8badca57ca15ad4a464b9f718","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.94ad8d986.0","@material/feature-targeting":"15.0.0-canary.94ad8d986.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.94ad8d986.0_1671478000220_0.7211775374690224","host":"s3://npm-registry-packages"}},"15.0.0-canary.604264203.0":{"name":"@material/dom","version":"15.0.0-canary.604264203.0","license":"MIT","_id":"@material/dom@15.0.0-canary.604264203.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"792f3cc2ca9f3dd8144ed9d5ef5f580e7e924025","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.604264203.0.tgz","fileCount":28,"integrity":"sha512-T22BzxfCKFvhr+y/Q7Zh0o7rhseNjevKrtQDyG6iHxHX3WfxwoGWogaIzTaOva1osKAptqJt7Cv0g1MuE5pOwQ==","signatures":[{"sig":"MEUCIQD7LQbA4UEkm0kVLE9DMYDrSOI+WyLZrwMl77fCFcQjCQIgfsffMsvbbodvMkVWvTZVbFfPImAU+7TF49JImDIuK40=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjo31LACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpadRAAgv4qVjZ9mKJ/xA+zsIWftYuvZHejvzSmLXvAIn0txkXXAabL\r\nafYfyb/xWtkKCTfgAhoRstBnslBJL/zyWyVkLO0hD1KkQqk0Kg9B5ODbIjcC\r\nR7ok45VVWiU6lwc3x7jNJNIkX/JIb3eCpTVgn3Ur05kzlYb1gT1Gz2Avlo33\r\nzyClHWxJiAGvEVFK+5qp50X4QFTMq/OOJptUn6o6Jw1IB3YvFDJYfgOiTH7U\r\nx1Jr8bGyisPDodh17lbtSy8JH7CMNHZ64HxPyAXTilIuHfMoTaAm7lbny3JL\r\nXgzQIV4JzfEfq+zimVa9cS5GJruRoYFOh2lTSXM3HJL539/k1x8JAZ201U8p\r\n0PJs+QQr/sqHr2kTFYoiRZeDYFkutmPZ4JN+8sGzBA7/IXzf9LJGH6FqbXad\r\nc9JGlI026VXa7RySZFJguVxWzYTcVfOUHlIFKw10cBI3gzlYWUwU+Q2J216q\r\n0OfspLm58KSob7iBhvCiCQ/UKIK+mYLeXGQZ8j6iQYKfcDhYRkLPSidD+hsU\r\ndy5jcJizsF88IEp1wNUXDiutDvNLADT6XN3dErrRwkaScA56Hi4nWKZdJH9K\r\n2+hizqAE2lAR5RHrS4DGL/KOo0FXAfgS7VYfsNoUT+Aihi8sxhSEMMPG/4cC\r\nFbssKK+JIXk8kThB/pgtRHxZiXwQBcD8+pw=\r\n=Tt1Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e37bb80002397246ad3ebd1bf11a465b2eb763e8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.604264203.0","@material/feature-targeting":"15.0.0-canary.604264203.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.604264203.0_1671658826873_0.6390374900144511","host":"s3://npm-registry-packages"}},"15.0.0-canary.85bcff6af.0":{"name":"@material/dom","version":"15.0.0-canary.85bcff6af.0","license":"MIT","_id":"@material/dom@15.0.0-canary.85bcff6af.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"be669f66466c2a3566f5c08c86e175319296074b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.85bcff6af.0.tgz","fileCount":28,"integrity":"sha512-aaIudcZg0yGed9hA2L/5njeBWa50MfSTili1Et3uN2+aJk3wPhQ/toLvxAANBRKdQphWUDh3NRhc1e6qNp2zZw==","signatures":[{"sig":"MEUCIQDyCU9+b8e0wZiTaJvwfsD+KYwjkJZKlaCxNL1TQYP1lgIgBVn9/kYqsekE133w5wNlst7xH1Q9+5AUS4km+8vHJDc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpDBqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoE5RAAnBHZQT5aJu6zAlWDJ0eX+2PF9fL/S7fS95kOdQynsiegOsiE\r\nKTkK/VDDKCJfrUcA1B4yhOOUjNyG66/9QMdVdxiIKIacqnGKGGytc6hUpgGg\r\n02i1CrDn8EFpIgfnb4h2rnKoPLHldfV5VIDpkMri8SiP2ocsNOgG7ZT5+xKj\r\n2wNq1J73gW2Ggm4uStQpGoo6Ly1wMjYpGI5RY3qGPe39k3iFIv5FLyRgmfOy\r\n95xCblXfLBuhCqhdpBuynftK+ALLmIwHkVIZ+/PdJtGSX8zy5ZpE8nS4+YOH\r\nyos69ikovFK4N+8JKOErtpQarDXHgJ0o/8XbYxCZhpJa+aMgnvStxwMeRy3i\r\nTwGGs3KIwdSYBFUdjq1cOmcG2BQz9mph+Ftwrq4MnsAwHSjcUkSmdxXkYUpG\r\n0nYqXuPVTnkCwQc5xYaQh3Gr3r74On0LntQGyDSP2pyua5mDoQXIe6xtN69b\r\nXu4Wl46movqj64oBHutCA9hejg/Yny60yfElIoU2sT6rGEamnWxDLm4DNWsE\r\nnAcxYDGjWTJVJaIV8UiDiCxL8nMnF7Bk6/I/xkaA7L/Z+ffio8TorFRiiQYD\r\n65EUWh2PrDHfAzm9k1ikHMskyeBGNmyFEc2EftGWStgEjgoDyo5kChVyXhym\r\n8rpRef2iX3+MNuRKQU5q8uDWmb436NC8TA0=\r\n=g7lD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ccd1f76fc7f93266cd894275969c05a833a002b0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.85bcff6af.0","@material/feature-targeting":"15.0.0-canary.85bcff6af.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.85bcff6af.0_1671704682256_0.7754099662666336","host":"s3://npm-registry-packages"}},"15.0.0-canary.ece3e8d21.0":{"name":"@material/dom","version":"15.0.0-canary.ece3e8d21.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ece3e8d21.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"allanchen@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"469db757942fbf849a8245e2cf8858df2ac5eb66","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ece3e8d21.0.tgz","fileCount":28,"integrity":"sha512-4eRUT5jdK3dtUk4c3GnSnDu9kblDoPIBMAZ3kkGkNFxlsa5fck+6ElUaas1bBHuqGO96MMZ9ZhMWBRvsLjGvyw==","signatures":[{"sig":"MEQCIHxk5Q1UsP2ZxOOG4cyW8BzCkcHBRKivPwk7gKvuVILGAiABbtKpdb5CzGRr6Te+HPiLAT1uuZ2aHnfjPLjR0xwJfQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpI/TACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+5w/+LPZMHnZIHUuIovZk5nV2rxr+9LarxYxDL6E8YrHgzMuvb9tF\r\nysqwM/jcMTKaW+HhWelplYkMRPGuiv9rHLKglw+P5RE9YqvNDlK/c2fRNt45\r\n6mSGm4IFHB6fX8Kh69IHdzGNsFA8PB+AjrX/Ksp/m2eIbq9vIUGs0Ud865uq\r\nEyyIYb67WLqVczg81DM3OMgzSRein76OEV8gH1kwitFvsYzfjdhf/aiMxFP5\r\ns2exCmPTMnJIbJYWqxguzQevMQZ+COM/AJrcWTSf/Qknk0YtMcv9d/t/NTnl\r\n48uiAooplQU5EObgfoSwKx1DSowP5sVl0p7nvp4+rh3B0YMqUiql1Iqfh1ia\r\nKdBaW88VQ8WTbY3jPLI5ypm31eSShA53kbLYYSR6pqCQO0DjmP+6B+zzk5KQ\r\nyf8+XlNHW+zNNPZSyEQConR0yqsPPWju8n9By1K0XjbE+c6dq13qChbvAD+t\r\nAbAxAxTRHuuoWQH1JOPJLK7WaDlRheYswilVT5pp0etZ/9nhHFdi9hlnvTg4\r\n3JYjB32TXK9zT3omm1Rrb2v/twgDwFafKjJtEKb8C6zt5KpGBl254HXqT/sU\r\n8Jo+yGwcCI1vbEzM9yXCIM3PPkfBShNWU5zo9UIUtvaVMIUZghEMTaaSOQMR\r\nHECCdRTYI1Bq1iBqig1v4ZMns+nPGkU/nO8=\r\n=5Jpc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1a4efd7042befb584384fcbb35f1ca445adaf1d4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.ece3e8d21.0","@material/feature-targeting":"15.0.0-canary.ece3e8d21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ece3e8d21.0_1671729107195_0.23101606909246986","host":"s3://npm-registry-packages"}},"15.0.0-canary.278ad53d1.0":{"name":"@material/dom","version":"15.0.0-canary.278ad53d1.0","license":"MIT","_id":"@material/dom@15.0.0-canary.278ad53d1.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a18dc1b42829950170edc84200fff6b5541d891a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.278ad53d1.0.tgz","fileCount":28,"integrity":"sha512-Oavr/tCYw7t+Pbw//NrRLS98iKX5uaYQWWhYpPycVo2LCSdaaPe/tELsmZj901OAx0SU+l965Ld3+6DRMu04Ig==","signatures":[{"sig":"MEUCIQDWCwKE2aaBB+SmOJRP+oRDv0HqHXpuTpRFf1AtmF4MyAIgC3nRv5HFUlEjsxIKk+zKsEaQyKVgINATblMzRCcwF/I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjqyWlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp5Yw//ZhhS1pE/tTNcQHGQThUxvy2jEFq7xNpunidDqInySikbOQRO\r\nAEwY5MJmag9ATij8qY6kZJtQcRal/lSdrVXFMFdyOzmKbB/2DRqRWEmwG9Tx\r\nWHjnnuzrW79IwXJpsvb9x+hRkHuomj73Qp+KRZldJ2+o+Hux0GANQcWnYZht\r\nkOwJvBVaK5t27bQvHIFMYmWoSarY6lDIJiERc8jtHIKGt8TqBMM9VqUjFQW+\r\nl3U04UyNlB9lz8QOMRLC8qXonIf8rlj2a+FyJCNGyt00pBGNZER9n4N6JzjV\r\nUEi60IfHxhrDgcTVWglQvRSLTnsVBKCYrQ6pxA+p30GMhsa7dnJxRCb/jl9o\r\nrRGeKW5bDKhvVPGfPeo7OdYbpXwqFauhsc1ygc+OgPN/F46gikJuYid3Ofor\r\nwc977+iKf9dpPxIUBOMA4reFnNyk0m6v1/cVPKOXriwvpaJL4QLpnH/jO1hx\r\nBDo3pSoO0PAvWo733itP3cj+DSIEaEdmh+N8XM8iPZuq2ppRI0EDB3PiTBvf\r\nIHxfOqa/0yRZ/h2X/dheQvDBScaItnyP2gbNbFYqTu9pN6bCIXl5R930wOtS\r\nk5VkoCt5tEY0s/EBjprljSRYA0ut1I3ekJ8smFze0h/xWHiXUWUGjJ7oLOLn\r\n6GBeU0Be5S3fxHzoAM+kKL+083m+NohCPIo=\r\n=DzeP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"967cf83d2b9fa8a3e6bd992aa107c66182e0c65b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.278ad53d1.0","@material/feature-targeting":"15.0.0-canary.278ad53d1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.278ad53d1.0_1672160676788_0.2634708859930919","host":"s3://npm-registry-packages"}},"15.0.0-canary.a7d8389e1.0":{"name":"@material/dom","version":"15.0.0-canary.a7d8389e1.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a7d8389e1.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e1a66f37558a3bc55cc60cf60892588a4da961d7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a7d8389e1.0.tgz","fileCount":28,"integrity":"sha512-NV0/LCIUGLG9dK34aprstQ0wHgfJaZMSbuumHDfab8X1IUZYLdE6kOMyNu7NoG79kAFwLFnZD20lIQYWEMNyJg==","signatures":[{"sig":"MEQCIFKxcIhyHbomQ5szffxo9ImMCPmq8Tvkuux8jz+Uw7kdAiA6aG2ltealieO7S+MlnK64jESq4bIxWpswClcdeUs9IQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjq0F6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpIcg//STsmmLiue1/GdtStu4cawT2KDmlYxWvlAKdbJQ4l6YRjXKvy\r\nRevS1lywJp2zbs3ahf+fZz4d4wmFnd7RwcB4VsUtHP0QTLR8zfa3//iAVWQl\r\nN4Ad4/dYokdvFQkJSH/sXOTM7Ybm0BjCM0GrdrjRt7xNJorQk15PsKJfWOAs\r\nzC7i5i8j2ZKnibx0QBMEbifBZWxdWKz7YjVwmUAhZgEZyvKSdWE9pPPY/G2d\r\nRJKyBy220bSwDT9hReC/ysDooggoeqKeLNXKphpLrSiBELrd+FusmOwOAtt5\r\nUJLVSET+e8h9jjKW4IiqufgG0zSZgXd7hSvwNSqh23tQ/DlhsXKR6ehTDeQ/\r\nrTHMBpkPl2Z4VbeiaHIXTWFrH5uyRH0erARsota9cxvGH1xIXTRuAoZb9hW0\r\nzeeWg3HQ30AGNNAe2peWgDVS8ZgQ+RWIy0wBwD8loLiVEI2Kt/QvUUbTbbsu\r\nzu4D8HA77FCUmzMByAO65M7sTVW7EkjvMc1GeO9Gm+uGOMEPCdo1ILFhM0Aw\r\n/mxVCBpYTUQA6+WmqSDLl1LPlBAYwI+UVRuoGfhoBtBQrdqt1GSbJ8mSXL4e\r\nWWDLj34haYJ2dRIcY2kw84XuAZp9nwFdLFBJYLFAauwq5tc7wpEphQUxiZfm\r\nnYh/vttWMM0XCiuAZohlOX2buNy7fmSNFrQ=\r\n=FW2T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f9b27084bc44ecd4530cd2252389b0dd8116709e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a7d8389e1.0","@material/feature-targeting":"15.0.0-canary.a7d8389e1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a7d8389e1.0_1672167802352_0.8001629085884234","host":"s3://npm-registry-packages"}},"15.0.0-canary.8175d5eff.0":{"name":"@material/dom","version":"15.0.0-canary.8175d5eff.0","license":"MIT","_id":"@material/dom@15.0.0-canary.8175d5eff.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a9543198d5561c14f0bd762d7a6dbac1cf20739d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.8175d5eff.0.tgz","fileCount":28,"integrity":"sha512-cMuxn3+QUcThFWxnmN4OWfQ2PdfqC3QuSXljYgBn8C5XafNer5l5cMzwrI0DTNonMblptlu3MYMHYkcIfv2gIA==","signatures":[{"sig":"MEQCIAjtWquxqtpPEO3WJwCA+C3ds6sgdlpLFqa9P0eywUwUAiBxpqm/dJ/1AhgBLWTZc0dqkyBySwuGSJ++nuApyK0nTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjq6EMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr5Kw//d3mEb2OeXqPlHVDRXCxvX/Igkqxd7kUgn5ZB8/zo+lzELy7W\r\nwsVzX2eepukcQB9wn0AC0TMDeem7ytUdELL2pyEHvkkQ6a6kxKYOhTYOTzrn\r\n4FaR/VV6JBn/cZVjomfGvvyU+43RRs0YVxVcwMMNBk2ggUwLe8PfA7UePAHt\r\nUf3lP9OfIIkrTlBXQJUrgBfDXDwc8z2deZufiFw89pSgscP64hchwZUR7MGA\r\nEeBlCOR2bb4pMg7JHK/yLP4lo0bq3nC8mBL5Syjit2MhgCU7TLIgFDj5gjol\r\n+wZqURiahv1dpChzAQlj3Zezfx1MI1gLzH9VylgNdjUkPRwg6g6G6zPlFewN\r\nsvViPtepmyh3tB2cxyx+/cUOdHvf+GRG7LJaBufrHR5ARBTz38l+RFMURXMc\r\nWwKujNTJAwjHIW9EIJDg61yMgbKlhFCjvmpn5LkRPk0fOHhme4fyEHNKAhjV\r\nIuWomKijju9tOhemUSM1FOvziWvG2o3Z1IWIpP2pGMZUN5XtCD1jH5fyRR3Y\r\noqhqlMWcOV8S7U8zrt2lOSLLluXGs5J+Fa+3FePmNPQNplIBfnX/xKcIgWyZ\r\nNCWD1RZbq65Qh+mK9GxZTpzp+QBfXxK4rkYk1JcRGAz7BvI5LvwMvYeMOvge\r\nKjO7IoCvDu8hjBdyAXHhIzlPBnKKvYD/6cs=\r\n=8lTw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c3bb551a6b32480853dcc8e29f7f8513d62154a2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.8175d5eff.0","@material/feature-targeting":"15.0.0-canary.8175d5eff.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.8175d5eff.0_1672192268425_0.4055807449384441","host":"s3://npm-registry-packages"}},"15.0.0-canary.16abb41ed.0":{"name":"@material/dom","version":"15.0.0-canary.16abb41ed.0","license":"MIT","_id":"@material/dom@15.0.0-canary.16abb41ed.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b9d82b66f7c517b2373dbc15e395e806b3c15944","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.16abb41ed.0.tgz","fileCount":28,"integrity":"sha512-tX+aot84Iu4vo/aqZFqAqEZ8dEll8JmKMuiJU9arWP0AMeg/yDRsu4jF8nbZkNIa61NEwMtpqv/jLNaIo4b20A==","signatures":[{"sig":"MEQCIB08qUWaqDA8EJAaAwuEUXx0KhWujiNgYZSlYY+YUxDmAiBITG6VW9ZXFJ+eLlRwfRUprPJy1cdUTFlZ1QU9Jw5QKw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrJsYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCiw//aOknmTpB0Kt42JGPJOoScwtvyquiFXk2Rf3M3y++YYEl9+hx\r\nJm0YgsPfHwV09+ZiCl6zOSPMYA2tI/pfISIYyFHRmoEMQmrjAqzH0O6DNIqJ\r\nuHmLLelqsiuSJl3vojrJr1KFngW1HFdRaOVpQGCnQ+hLCS5UmLfQzlCRQkpI\r\nDbZnGtBgJztSKFlRoSCgLp/1o4yv7pbYxVn7TFXoX+LwgYbgLVyLQGAdVKJy\r\nX/tVq2pww6BoVbJflNClEDPWhwBJP7jsziaS+9YebHTH/zWdTNDQ5TITX/Om\r\n/juIHGoXN5HJzHwxP2CkF8oh1jczdZQbKDgIYyRua4jtckTXMg856tKf6aJh\r\nQRSSQKLZLnZZBrNAoY9YzSb8nsnRvtOnx0G/ByquSVYSY/CIIAeLIeIdiMs8\r\nzp7FTVpTKh6yhiiZNy2aIBXW4jk7QQroxT0D1iT7cugr7KF7tcuO2kIANdBh\r\nWwDpucGMIslK10zZN1rla8l/5ftJPRt8AxHFyn4U00iHHvsnTavGiuhc3fRM\r\nLpW166sIjculg6BSPs6M9auj+W9CflfGxaZQ+KiqIriUuihMqwyZm3F1pwUZ\r\nWrrK0Ll3p7DWdaP7bSA3Pvrsg0L21jVBkInKRMbkTm98AkAgX8Q2vlOAwtR1\r\no95s1/w3+ODJYMEPtthCIL5KGLCe2UQtYcA=\r\n=631A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d76b7c826f30ccda72f622ff722cc7585648dc34","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.16abb41ed.0","@material/feature-targeting":"15.0.0-canary.16abb41ed.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.16abb41ed.0_1672256280129_0.5251605102164161","host":"s3://npm-registry-packages"}},"15.0.0-canary.e21dcb86d.0":{"name":"@material/dom","version":"15.0.0-canary.e21dcb86d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.e21dcb86d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"65b789102dc311c5eede41e97cf354156897698c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.e21dcb86d.0.tgz","fileCount":28,"integrity":"sha512-WxLenS+ks/Q7VlBqeFk2KGtKl2PqgwRcq2AhX3IuNxlvTCNQMvm6ZXko3BeLAzfX09nn43QqoEkgzAEto9rGjQ==","signatures":[{"sig":"MEUCIAyRyq4Xdxqaq8gTLxrQCgS0FwqD+eYuoz0AO6P6jWLFAiEApjlV+Bl3r5uJwGKIHcfmmMkkbm/6VIvMXFbLiMcQ9XY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrZ3JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo37w//dCi5V5RU3FVzU38NVw+NJnNJCzt4gijMBSUYKdE6YTEt/Cg0\r\ntG9u7c+LGRs7JzfuFJYTlsM/4xhE3XyHy1r+3kibcZHiZvOKeW7z12EeXXFY\r\n373twvNjy1hKbV46wLsNKioHztRU8LkOvKJm3X5ngZOrO7ovzwvrX2rvFztE\r\n3DMd/qgmKz4xdl5rjjGaUKyw3+bJpxTlf8hyL4ZTX/S8QwQWSyJjRMiMGOGf\r\nV/n7EgL1xgmbHnlYIPwZ+l+u3i2iQsFhQXARyVQRto49mUIblnQPJfTmo+0z\r\nU5Vnm38BAYnLjua+zX2yiFwpX84a6Sa71WYpQdXXcxwIFRmP95bPUDehA2FH\r\nUWBgz9dhYcD+Ml65HJbuPZpNe+Bh+tvabV7dnHDBq9G0kBdTT29khnCCvg3c\r\nqFJ9QhkgzGCPIkoyROw34cQHT8QHgCK0slVNjUfdEYPB80MpwPR1lsOzNL1x\r\nPBkSaR3ciOQ3dSHsmkA/IFeWDIkfvkLcRiGAyLMPyY8dAoifUzQEm+jd5e4V\r\nVMTy9BZsJTuRApYzMjvTacp/jrhFBNtD8qiva3wudYmnCSmzuVFEAV8g+LLa\r\ndFXxzdf1cnlsfJR9l/f+VybPQz2NYaJkIEu9KgQzqV1cL6ucy2fxRpYXMOZH\r\nx+95bg7VSgaK/c4WS3aEoxK4pdHw0X+1OMU=\r\n=7B+q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a32b4ac6d2bad60870533296fbc4acf050735b8f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.e21dcb86d.0","@material/feature-targeting":"15.0.0-canary.e21dcb86d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.e21dcb86d.0_1672322505738_0.6621676920345072","host":"s3://npm-registry-packages"}},"15.0.0-canary.20ab6f5a8.0":{"name":"@material/dom","version":"15.0.0-canary.20ab6f5a8.0","license":"MIT","_id":"@material/dom@15.0.0-canary.20ab6f5a8.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8059a7876ea29530aab699af9a7b87c0b71dd583","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.20ab6f5a8.0.tgz","fileCount":28,"integrity":"sha512-L6n44ojjtGmcA54mn9MKEjhT0IN1+qrQt6ca/NvYYjCmULFSNJEmpwBqwiy72LE36/kzyOzdmL1fu7BYUPyzGQ==","signatures":[{"sig":"MEYCIQC2NwwYI+i0anmdMft7Yi7G+OqdxlmpcxmreglI0ltDNQIhALnLV0Cpc9BNJ4oIjPe3ZTm94lA/kVKywwCzUuP5q2mQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjre0yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrAlw/+JAigEAsYFmfbyDWvc0rOH3SZyYS8xBOocpGyt8DmVm2XKvuW\r\nXqFEDWqEOyejDbeevRlOIJhF7I4VmJq9bFdNLMPfogg/vNIWx30A7WfS9UGb\r\niAOcWPQLfP/mHtT2/AGi4yOVaSfWaG0f1uXbJmRayDEiOa5YGmfrK6OuG73q\r\nETpuaXqm6z9hYvnnyFRnG+wUtV/UCKKyUnyAYRoPlFCncqcyV5awVbFHPdFO\r\nxFZxUwQcDaOgE7LYd79bB0lYJuFGgRKIUzi5IPiVxBHHyDjt46jtkuStlRnt\r\nUxL6S7KyQCwmS2VVzdoKBdlk05CZLEUteSWRS692j0ZIwEsiA5QLHr+zXVam\r\nnrZHd8vINUq576sJk4VsaVdiMbs30HMoWkJgI4clp7s8smPl4lpHTGZbi+dN\r\n9Wdr7Loyos3w4exVt9Q/b1B74+JiimyUhUuFR4RYybN/BwUfdTyL3Ltl0Qhy\r\n2QQsJ3usrXb0b6NR5TBv0mXqLsVovJk7jTYBJ8t+FldAvuubmp4tWOXYAget\r\n4uPLs2N7+NHZoqgz3T7+4tIbd+ol0pkgz+nRSVl8c8poliDZ5CdgF1dR/2s7\r\n38KNZaWAwFuWEgSCCvhPkZa9NmsUdbgFJjC5geDHq1xWb64K2vIL2SLX0Hkn\r\nBi4xztsQESRK/cgNLv+QQbwVSDze+aRld00=\r\n=9tds\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"abf2135af6e71ea44b6e6a4de17493e5923f7255","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.20ab6f5a8.0","@material/feature-targeting":"15.0.0-canary.20ab6f5a8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.20ab6f5a8.0_1672342834600_0.7953052238328555","host":"s3://npm-registry-packages"}},"15.0.0-canary.b9806f623.0":{"name":"@material/dom","version":"15.0.0-canary.b9806f623.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b9806f623.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6a5ca3360391d32cf98f1bd17b5d09dedc5f8855","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b9806f623.0.tgz","fileCount":28,"integrity":"sha512-+xJtM3ofLux82TcZw5Ufke56OW7EToZvYlOiAIeXDePwTDHloIZMrLnudQBjuS6ey1MNiPRD2szp/rDMuW+KGA==","signatures":[{"sig":"MEUCIQDvbf3h/0OZdc92qjWg2tjhrlz5abLnUo9vTrlNAZgHdQIgYNWAm2hSABpAHCXIJxm8vd7bQmuRF2+yE2eoAHslf5U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrh02ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmouVg/+LXbETJbo7XHrj5cw4jIDnjc6PthyeHHXuUfUeb7kKTklauOP\r\n06Seie+5YJurZyVZAt0yq/AahMhagEA7oF4uoqxX0paXJ7/bPbDYARMi7BFq\r\nNv/KeQW4WUwu5L5ND9XtJaaIErrQ/NzPlYjJEfcbIO+2nHOfD1+aLN9ewMvO\r\nNPqPIvfuEARYV7j+cko6u4zDJ4yNEZGG7yhMDaajy0SCKmB9JGG629S5Q/c9\r\nDd4H5mvKx2z3tn3dHV1+pHmwrw0wgKktu/lkKEl4DgQ2OG9Dz1t0+KaYZFV1\r\n9wW7W/q7VGSFhJOD6UKMhkbJ12K7fpjT1iXPlgXA1Yy4Aj+LQDDC0yNZxX0l\r\nuyopa9ucCdORumyKkKCJfE/4G9+5Grm0VR8QGo3cU8unV24+rhmK+2VIFKGD\r\ntdgVQ404G1LrDSLR+Shh4k9gI6QaApZHJq9eUJJRZ3y5GLQGBzXTl7rStAr1\r\nz5ioh5RquhI/N6sS9SBWM60RsbyRvTOGghaBzXf1WrKcio69hk8FVzCgVUz7\r\nDyNt7zOXQgtoPNWEKCka9pooXqSUxALvOOUVPrToAuebkergBSlcbWhUg7Mw\r\n2I8vPq4YULu1eLbBbpMp/I0ovZRcP/9pTwwiv4MTgF4a/Mn5wGKtQOCTTCMf\r\nXSweo3jKyuKK0V/Hks0TsZC8CcwkY6yJ3Xk=\r\n=nxb0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0eb4b8fcbfba4d68dffe3a2b5c7478e69e2e2eb9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b9806f623.0","@material/feature-targeting":"15.0.0-canary.b9806f623.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b9806f623.0_1672355125923_0.42974536235617466","host":"s3://npm-registry-packages"}},"15.0.0-canary.50c9f550e.0":{"name":"@material/dom","version":"15.0.0-canary.50c9f550e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.50c9f550e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"89ae4d7d12405f5502222af38aabf1675c4a4436","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.50c9f550e.0.tgz","fileCount":28,"integrity":"sha512-cDYuM5A4gxZujxWWV6pzCSt07Es1hs7dwAC6QQQfgSc3LEoKzKFe7Zb88/WEBmKj5gF02kpNfyD3zIzeaSLqJQ==","signatures":[{"sig":"MEUCIGxNVaLBaG7BjFZKSIF3pBHvDAlCSzYPtCh8YALLTdGbAiEApKJIgHpqTmwJ1Xny54PGwwjTXNVsQF0k8n2WNDM1m+c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtE4FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFHA//TpPpkOLwOeomvT5fhQkqmbWp52orYoyUa4H8E3BRFO3uoA/j\r\nkSW5mH8LqEFgZ0u5pHdkZD57XGj4mjkyTBRujww+ywAnFDkeEJz833v9Zi2Q\r\nl/sTxhV2lGsHEQpC7HOH/mJdWjQ2TVBluVeTkEsYxdeT9L5zyQXAF9e+49ag\r\nbiGrlZwyYssPqVq/Z+XfjyKCnr2hKebWisf2espshLDVTCqO2yaFN+4IYL/k\r\nQImlnKm0381Zql/DBZcZ4omgNuuZGWJDkzpl/QCgFw7G3EBpd9lhvH0BXBjB\r\n0hhmmGGqzsG55rb/VRV64Vv9WgmMi3eyfesfw1Y0rwVxrp3q+cSA9hNBrmF9\r\nyApQhgNNH888RI9qKLrvDOKJj39gkuOFoaZe3tEBdy0yYtmf98ANxdQZp/hg\r\nKdAWBAGiHRwAsxuP+AP1bITT0WbBxedf1T0oRA1iPw/m+RlqG7GEwV3Hebsf\r\n957lulbBTzz7Y/O3FGSzfsknojlWxLesKTUEREqOD/O9z4C2w75jKePfjobm\r\n/51YOPapZqyESzMUXgPFnJeGFapeBaw/YNyuMa+gY84w2xai6PNgjRt5ocGh\r\nnJy9iAYyMy+xAQYrR/cWNolyEFBRurF7p3N12583sl4nqvBTsgBs4uza/zN7\r\nkqrJrE6+y9uqjzSVG6gFH4w8If9zM/4sgtw=\r\n=q7k3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d020b19d0ab5525ccca1f803a00e184efafb15e3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.50c9f550e.0","@material/feature-targeting":"15.0.0-canary.50c9f550e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.50c9f550e.0_1672760837711_0.8220339438267967","host":"s3://npm-registry-packages"}},"15.0.0-canary.af490a848.0":{"name":"@material/dom","version":"15.0.0-canary.af490a848.0","license":"MIT","_id":"@material/dom@15.0.0-canary.af490a848.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3f36d40017a48616d0c41813696523632ed3c453","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.af490a848.0.tgz","fileCount":28,"integrity":"sha512-pdyGCg27n4A8Z2T/Hvm79K9hctHBZo/I7Gn4vF3+qERBOhXeAbI7/+vrLMVRav4/CXxmhZG989XSVuAylWaY2A==","signatures":[{"sig":"MEYCIQC/VOjmyvnQg3YX+QkM37mc/BSlUzAAlOh+DkrT1Er9OAIhANIg0CGB6eAxfF3yfXyRCnoG89LQZ9xMS02HO4xmDU66","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtFAxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpTKw//Y4TwnukS93pNTsmLN/jv7wjDvQ0Vzx8uKb8X/ReFAlm4CaEw\r\nDuYXzv4X9Zl7SnL0tFf89Knov3LZ66gEYjYDlAUbzphDvcLigcqJuQIuENz6\r\nJGryGVkael+0jZj4H031ngqxg1OazpU5IA1wX2duriS1hUXV/zSzkCpzbqOr\r\nt9z6i3aZ0kKzBERu4L/Wect7sOQVWJ6H/AJ4OywZ/DllDrbSyszPp/n6AOIV\r\ntTEEG9j84hnEnok3NSz11eYRMOZHbKukd8g3/ef4yQzUYYzEVuwMIzw7Ij+3\r\nvHOKFxAx3U8SDU7GMgIM4N4kLXaesGMvjFjYQzI509mfQEmel+PVjr5cWKQM\r\nMpeK89YDYhN1m64X+2VqGiRe8PhBvdVeKGKjnFHm4eR50PNOWwjiNw5917Qa\r\nRawY/JuXe6key2aXdSve9FmCo839iSaUqSggMObB0KclMnO7tWtPjrBpHEEW\r\nTzeaE4rVkIaUZPyWrAD7B8wKxhtJEROarUlpHk8TPFqxNzSGwpTFQsEOa+Vb\r\n1dkJu9V74W0f+2cynb1BT0ZfiS/9M8Q0z2hBHKrVLI8opgIJiUomyaMIujSh\r\nTHj44HyJzyNDpnC+iH4ae+PwFzNW6POKjp6xvvWE4IJV9PpgwDannvw23NZs\r\ny4QpCb1cgiJn3hsGx9RFWahm7r+fMlmx0Mw=\r\n=g5l8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"95f5499a3dea1763e53574fb3b884e8e45cc974e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.af490a848.0","@material/feature-targeting":"15.0.0-canary.af490a848.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.af490a848.0_1672761393138_0.47852611838437076","host":"s3://npm-registry-packages"}},"15.0.0-canary.7cf487c98.0":{"name":"@material/dom","version":"15.0.0-canary.7cf487c98.0","license":"MIT","_id":"@material/dom@15.0.0-canary.7cf487c98.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a1d2b964962a8ebb17c66562c4903a0603f7cb2b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.7cf487c98.0.tgz","fileCount":28,"integrity":"sha512-LUn9hckMsz1MTckFTi+zUuNlGci5384jNc2L/1JxUCepyhtOsJbYiHW2SmxTg0m8QCEB7vSokmmC7CfbipZkaw==","signatures":[{"sig":"MEUCIQDq1OZa9gHPhaPimVjntsSMFA+EN374tVzPGDofAI+DEAIgCxxqkd6aBijg/K8xW4cc8bhbNRTj6XbuYJn3rOI1GT0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtGgNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpf1g/9E6tWAcJhcM1eQp+NSNc54WCdatkyq/Gp5F9FkHsD5+t+iy2U\r\nLop711Mh5RO7jEBK9WaK59BtlpVPU+zC/t7MjwbS3YHo6YvTmbBwd2DScCOO\r\nSJLaeh3NHVP1/B/K/wsoEfRL/hiHpNs8fdOCrdGFl5oXbTRlscha0dDp9Krn\r\nsHVUX/CMSkKNoY3xzkhDuSaa3n30Oem4l4f58x97R3oIyZZyfrjKydNSdaTz\r\nTg4+4Aa1llqRQU3TpjekKKNpcpZ2xZp5ouz6r9TRlL+FKVKpZFIs3gukbH7L\r\nt3CU1D8FueO2FwSalCUQG5qNfp+NFeao6fl4L3CitYhYDyu0BcZH1kvZzEpP\r\n79MdNt60sfROx9Hw4ypwt5lHXUguBB0sKwRvUz9Cf8aLEbUUXJw/jzku1e4a\r\nWVbphzoB+evlo+KFrMTuYsGn39zxg8uxPo3U3bxI3BRnTxF6rZ0O93HwbvnQ\r\nhNAqY0jPUqAMcXX0mKH9aHdzrWxes4zh4fRdXGi+z873kMfE7Shxpgl3IRgv\r\nWoDR77tpv6igVJ+g9rNztRne4nlOS2XDUQoxQvxxMqleoPrKQInDMMAqdmJB\r\nMlUimD50CwhOUV9gtvoo0d+9n3gLUfJkBhpeHxN0tub2tXzpU/XEwV33mn2b\r\n0aoCU8j4e+TWqtMn8u2AbExIouBxKitQdBA=\r\n=vNe+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8d246270c785ca072651213aa63882309c7cd5ae","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.7cf487c98.0","@material/feature-targeting":"15.0.0-canary.7cf487c98.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.7cf487c98.0_1672767501179_0.4443760786976483","host":"s3://npm-registry-packages"}},"15.0.0-canary.a52be2d5e.0":{"name":"@material/dom","version":"15.0.0-canary.a52be2d5e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a52be2d5e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1c67435b33456e99d96d57e43b6f34fb3b4dd483","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a52be2d5e.0.tgz","fileCount":28,"integrity":"sha512-YK97Pew3apIuahYOvVyGP40yRNRBuhNMGKA5ZfU1akE8gP/gOkKE0eznUWnv2HYoIE16W8uPf/Ltyh/DMWH8fA==","signatures":[{"sig":"MEUCIGqjGFDtAHeWqUCGp6G5BxVxzAWskUnXFGI5YneOT6tzAiEAhLUxmxWP0nBhXrrLR+LYY0g23HO+VSJKV5+zoN49f4M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtH4vACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQZA//SckEfqxb2XDEKlSF4fbX3PZXP+OeuxUAx/MqIje0kPNGJhcL\r\nwiDvbIxG02WyzoUWsWjgsedJSAqaUbuGW0vLwW0pO7MRIH1sHT2dnUEk8JJK\r\nlx4KuKyDQljkK7ZtRWmvU0Y1oSudSv3TAsge8v2BTvV+RM119KIeMdx4xr7+\r\nVBenBC35L2F6n0waGtSucrXbxMvoKDLU6Sq+FD6nowxrnpuVLdhLRG6kSdOD\r\nBoQ9c2my0uwhDwniC6SQO2j+E2JP3HqdURw6bgj7Jsk5VzryzI8nNAOc/IuO\r\nmvVcQMWKR2LuxN5RSa+6H/JnUEF0N+Zo8vajrO58PquIdV0Ca6PZqYeNpDAw\r\n6jhE9iIPdodV5svBQdfPkBxUvbj/EfauebwO0kef3HRQVffm14W5C3Gkwmia\r\nIwtMgDvX7hBi0i3T86JkgfXA2lxYE1G5KWoUZR96tyKGSHSrItKo6uX0YLqS\r\nNyYEWSDjilmSddySyxyEXzqbjmRCoyS1Vc+9tIF0G9LAKqZfqYT958twgFeo\r\n4VW78V0cVyxcBCJWCfx0Grr2uotbJwd/4kl7w5f9DWicVrXpYHhEJZrsJ2YV\r\nCRl/pfqc8zVLIGs6FUPWjsVMkbLjXwKgnukei4/HrPK0DCa1xCAHFRCSPZMd\r\nJgW9OeZBdccg7lCEiPoB3PGfGMRQ70yUQr4=\r\n=U1eM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6c2c2b2b16d0188fcfc620c5bd95622d34ab600e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a52be2d5e.0","@material/feature-targeting":"15.0.0-canary.a52be2d5e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a52be2d5e.0_1672773167202_0.30196535317133266","host":"s3://npm-registry-packages"}},"15.0.0-canary.e38ba17c5.0":{"name":"@material/dom","version":"15.0.0-canary.e38ba17c5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.e38ba17c5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"921ca087f745970bb86828472a5ee78f0b0b9329","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.e38ba17c5.0.tgz","fileCount":28,"integrity":"sha512-NE73Uo6rGuFLcy+LGADMwbzKDB/3+VHeduxTt7LFKRfgvNXgNMvvhdE9b15U/Q4J8HJCarWc5+pVk+UoiQnlvQ==","signatures":[{"sig":"MEYCIQDOsJUyPBHoeR258eclngm5aapfXPepCmC0AhexFVChygIhAOdPHxH0+ZTOxqklxqKrJ8coxGnQWGdV2yMYaY7R4BBS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtKzkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqcJg//b2bllPc1JPpS0G648cuSCXG6TggulTBd40yVjNXivPTsHmx5\r\nkF58OWTsBw8TT6JIefhEkpdJK6cbnwUjCwZM92O63zE0zl6i0391Kh2NTW+8\r\nEkob0ebVPXKl5ELSQmKi1D2D/Uho7JE9a4yOFHbuMDpA8bR/uqlLIHUlCQ7m\r\nk2m/MgqQljR/ndH+9G7s1S2SVIDcdIkuCLZ6J05VHyvrLC+OFdlDBWPLOpJG\r\n+TVeVfzoKEgx3zXDbbLJiySqdVxbe6bBcDW4J3g3zH/hRS6XCtGMJ3erxfrb\r\nd9P+S2BFCwvxsyZFHocXe12Gco7GlLCU4RPuyy5EKg8lempFJhqb0StFO8EI\r\n8V9gUJXejp0noArmaOfUs3NiOhM39F9s6A4QUZw+mZSa78bDgGBgr9bZ+I/n\r\n0cdCK7OJ5NjS4xH1xY0442G8VZ5Jnea4Yq8NelYl4R5iqy92WRrzio6VZK/z\r\ndeFIX/9x7BEN3p6XZmWoaBr5cAIGYEoodM/RXJV73avQlgKVNDzY2hjP2WKb\r\nLRfi0F6udR1F2bSgOzoemXUXwCA0eK8IuX6ZsqhkFOTLmyuqwSuJQIKymJlh\r\nz0OjWGuSe5Xad7HMsFHoTuBAwCjDIWlpl09rVsaYqqnP6Nx9wd3hZcQpWMbp\r\nU6C/fY8xeQ6aFlI2Sv31HoWLinpNAeEH1ag=\r\n=2K4N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d44100693c450240b468ed28efc3841fdde62da4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.e38ba17c5.0","@material/feature-targeting":"15.0.0-canary.e38ba17c5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.e38ba17c5.0_1672785124079_0.6148040272859641","host":"s3://npm-registry-packages"}},"15.0.0-canary.49041a6c3.0":{"name":"@material/dom","version":"15.0.0-canary.49041a6c3.0","license":"MIT","_id":"@material/dom@15.0.0-canary.49041a6c3.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c437fa6a585935c435bd670ffaa4c651ec0727bc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.49041a6c3.0.tgz","fileCount":28,"integrity":"sha512-eRaAov376UAsFtZ0XPG1HMTp6+H598jmW2T76vA1pNJtoglpGv851/0+zkb5T6GzIwqhF2SmgnRqZhaSurSqcg==","signatures":[{"sig":"MEQCIFFSALFQV1n/mTai5xiItPZKC7JtUP4b4iZYZPvpq+/tAiBvxX5/eMVZPeATTGTieg1fnIpDJH9h9Kb6Y1kQjrALUw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtZh8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoM6RAAh/Nf0ecjxCX0OcQyiZpqodRLfDG185B8YzUFIltyKtAGBZGc\r\nQM/vJVZq7QnfnSf4fkXnow3aNt09BfEE5j2V5Llm+82DirGtYpjsBlhxngoR\r\nzGoNEpryW885/jnyQMzA9XMLyPG5aiH73f3NY3HHeEqyyAKRSla5/k7Sneph\r\ndUH7XFyXVCRswttCpCQ3+tNozUjsCLCd2XGrgxwbt1iGI9zk0r743RykNyk9\r\nL+67YxFJjMju3kUDRRs70ulXfpvWEePL2rBf7Idl15AsXQBUW+1TETFDhRKo\r\nUhem50ofUnffVhnq3VbFeAa34cmV4Xr4gPP5O5kuE/AeylB3gtdTJtDVBS52\r\nSADZTBiB2liW3StnSmBvM7CjK9cqRqDRisUVI4tlEKNNvrkFOfbgx0AO0dl8\r\naoxE4W319MJkW72rauf3GlHHhdGpcsMhcrfwVEJOF/GMfi1UjX53ZEhA7oFc\r\n2W8jO3QdkH2TPbTJTzmssLtPooV/BAP4rGiANoOIsZ37RoWn85QhpGv481lP\r\nUGi5foHKsGn0By/2Y3Tnx/4qy6whlLCaV1FHRA2kdSfvO571U5JaILHiLIlV\r\nwgcxnGEVA9eDE/ahmgKuCgdGt/sIZIm7RAaBc6ChX53nc8UsLqwyvdd4VAHF\r\nhRQBoAGFfUZLpqW3qNgpK2p1UzbizVPCl0E=\r\n=O0nA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f012497ba1285ac3de691b5e25afe7a21ff62bdf","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.49041a6c3.0","@material/feature-targeting":"15.0.0-canary.49041a6c3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.49041a6c3.0_1672845436554_0.9026515111887963","host":"s3://npm-registry-packages"}},"15.0.0-canary.c492898c2.0":{"name":"@material/dom","version":"15.0.0-canary.c492898c2.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c492898c2.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"394a141d51deee42430bcbcd74ce0d47ac470a8f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c492898c2.0.tgz","fileCount":28,"integrity":"sha512-nOSJFA71bLM9xyYuT5EM6fAx8uO0aCc7fdLP7ASpkxi2WhbjkUhk5lrLgn5fWbFoSCuAljXvaBLOwjtyWoGQ3g==","signatures":[{"sig":"MEYCIQDK26hd+sgWwTM9tk1/Be+RW/AKJhN23lurQtIaM94g9AIhAN7moDjb3hR21wIHh62wCY2JmZGzr663SGTqzQqDZV3T","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtbknACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrN8w/9EfdIEO9R61E0yPjaKs6uXP/ReDlDvU6A9lQxYsJuBELzDuIL\r\n2/vsEqi2MMLUW+CJ4E1SyfVNVWHEJZ7csQOe2GUgXC0HvqzDEc06b1zxr1K8\r\n+fO8iszkK8VbkpgRGSy/DmXycx7f+BiZW74LfvYsC4wD7SPB/3kMyJ8XrhYF\r\nciQebhCNb8B1RA/QIo3ud0KlFrFYcJ1i5LdGpRN2pJd1zWASEBwh6Ufk9rif\r\nm4I7gI3osbnNk2gy9IfdrIuGb1YqqP6wVURQg0m3zPx+P1EUi6IhEFfsE+3P\r\ntNA/+kpYe9eD+29Uu92nXPSakszCAg1KUcRXtZt3VddYtM5UPC9NIyv8u/o4\r\nLz1wGJt05r0WTYVb4/Hg7cpOxJrCuo0d98I1Cn+GVtrLKUu9eKqeAbWkUblZ\r\n/b58vtDVjePU0P1Quvxk8UkeQLVhpLVyPfHwHfAnptZ3sfZCbSRyB6+EIsT5\r\ndaEYF513Fzq7T2TkS763mU4ZR7C+TZK3wtjz38MStKLMep/RIhKxc09FJY/P\r\nMdC8jij61kuFIuR1kgV/qPKQz6tUvyfVCjohY0vz8zE+19Xdt0NBVDwVrIBh\r\nexcT7O5X7xY0L742vKF2sPmYcNudQAaBwt1YPrU5JOumOCKa5bYN8ztzSUXo\r\n4kxj4OZMPclLFpx3MI2n69uh7kwRd3kArr0=\r\n=VnZE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8f57d41cc546a15258de2fac7e4ddca48b2987ee","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.c492898c2.0","@material/feature-targeting":"15.0.0-canary.c492898c2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c492898c2.0_1672853799218_0.6345742967909076","host":"s3://npm-registry-packages"}},"15.0.0-canary.d7a2277de.0":{"name":"@material/dom","version":"15.0.0-canary.d7a2277de.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d7a2277de.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b157ae9891e3e638c3b74a91faff98af036bee23","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d7a2277de.0.tgz","fileCount":28,"integrity":"sha512-W0/kcHcxOlHGdptMSw2yTspYHzPzDzkZPdKYt2BgtlmycTylqXGPU13NEpkc6l76NHdBlTX1og3eQz0/CRa3xQ==","signatures":[{"sig":"MEUCIHpjPR9Jkkqtbq//RcM6TYyrwiiTIjt8Hx0Ls+SBpmRsAiEA1HydAKsZQ3cgmbyIBoAB+b3j7fbdnTn9YCEZScwxd1c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtfETACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpE2Q/+OT0O5ZQ0HIFirxZfeLvm1JCUmC6/5DTng1/9JIMGtK+8LXrU\r\nZrtpsK5U9DYGvGCmE0vh3M0ag61ZpB9/bWBh106D/Bokz77dVLeiicoCuD88\r\ndtKsm84sji2hgNoTPba5pOIzPyk7XFXmVdTGgpSgbEiQ7mBz+qMWILc6+0sv\r\nKdV1BV2xJpNDCcQKeUqhHVnW3U8LK6UV+HQhKmhOh9Lvd+8LVOmrcX97Ueet\r\nk9DhlCzGVIKSadsDSGif13jE/+mZd4hy6c4sm+J4NazY/avA4cf/zHBBNgfM\r\nUWSupV/VE30HxMJTzXoVud0REsE1QvnL9gqFiR4h5rvwDF2yQYmDeVaks6AE\r\nhwuV8GrTbFf9YSJfXCetbJs5htDRW+lTDcNMFGuO2esmrOdNHEvV76tAU7yh\r\n31v0FsE7Ui6UEW57HFwh1/e7U+FCH/iZBOt5kMKWqy1GCs50UOFAtRqSNqAy\r\ndoM/E66b4jJviXaUTbjC6GzsSVzgQ5sSai42ddRO/cPRApuhEuBDGw2PdaEO\r\nJgtkLkSV05pAAMXgQ/DmZecyLdBOkEGJcWEaCgOy+u2wUohdal+eeagUIUvc\r\ne17Z2dNQxpBmDIP1CDNV/VpAxDjPEzT0shXZc/xb5A5dXGNKDT7XC+QvYK1h\r\ngzkgCGTZXLYGoaueuZkAL9/yIO2PiUe05g0=\r\n=zR0p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f9c71e947019fdd0ca8837669de0401f3752d1f3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.d7a2277de.0","@material/feature-targeting":"15.0.0-canary.d7a2277de.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d7a2277de.0_1672868115736_0.8884010756736913","host":"s3://npm-registry-packages"}},"15.0.0-canary.fd95ca7ef.0":{"name":"@material/dom","version":"15.0.0-canary.fd95ca7ef.0","license":"MIT","_id":"@material/dom@15.0.0-canary.fd95ca7ef.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"443a73780d4b2eeb6f3f9406fc98fe0f49974dc8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.fd95ca7ef.0.tgz","fileCount":28,"integrity":"sha512-+JjOY81x3d3TlwCztSr4BRxUeEHcg5kwtlbT9Zy/UgdqNStrlTCMeTzRyLNifFnztFzoaWIc6MtF3rLelA/k6Q==","signatures":[{"sig":"MEUCIHXia+wjZBEYi9Z5kyiueB6BOYWzL4hmlsNQiRNOc6JwAiEAqb3SjYkMaI4hrJl40L9O77UfW0l3PgvJA5yL6UhwM34=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtiGhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq81A//VYOKIoJULaqlhPU4ugXG/qnq6ydHpjdnxZrek7mr1ERNR8ES\r\nA1A6pH0ME8BvXsZ52n0Wr+V6b1hueH4wU6XGySdmSVqLT2gbGkXnafumMo8s\r\n0Y+wBgIDRoLbMDqg631bsuAU3TfVtuKkBJc8D64Q19vZRbYlRgSVNg/OULn/\r\n01O56X/nPoFbfxaTx97V1Bsg9MhA92/h1mhnKtERlEY2NxiXC3zCawiPdFO1\r\nyvH8Hh+dvmR/NZggIRNbcmaiz8WiUIWukPuxV7H2T03mk4ZuXj2vaWgM3fhe\r\nYqLXZV2vxJCU9jG8CLqOy8XYGHfqhP08PO+tDiKQxRm7PGGSxr1H+s+iFSKd\r\n5PpEEF5b/tfP5SFXXa+kohk3ZgKX0UsAsQ6eVFdr9A7Ky3iJ85xx4yMiVH95\r\nbBQTTdBO5oUE3xuGONP2dCGB4/Ig2UZelJICzvm4UtvyCNcQKamKz9QnCPLy\r\nXPnlpKYkMyijTHJwwT/X7o1yb5u/GHEQRKgqUXjoHOXRqMOifcEWzMRtg0NA\r\n7LpEAnzyMVfxG+12bVEXsNFI6hxosXm2FDIOwgN2UZ4kzevnHXPKxonOJs8g\r\nmSj6cyu8mmfq6Cy1sFgehrtEPSsJDbtDP3TBKmp8Leq4QdbF1+a8FQZSBoII\r\ne0e9tk74u5fks3zpUbXkmCsW4N270DPBfc0=\r\n=oqnN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b0d2fa371ec4a3d0a8a11e19d9753b1af5d2d62c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.fd95ca7ef.0","@material/feature-targeting":"15.0.0-canary.fd95ca7ef.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.fd95ca7ef.0_1672880545455_0.120912944329848","host":"s3://npm-registry-packages"}},"15.0.0-canary.1eb44faf9.0":{"name":"@material/dom","version":"15.0.0-canary.1eb44faf9.0","license":"MIT","_id":"@material/dom@15.0.0-canary.1eb44faf9.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1b2a5d51d22c20435b1186fcb0daf1c567b22cd8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.1eb44faf9.0.tgz","fileCount":28,"integrity":"sha512-/8A6ocmSbuk3tJzrT5+p6DAbTVKc2CXHcHGtIVkmzVcQE6icpq752hjc77bHc7hgR1k0PNOWZ1Uef3oyIaLMUQ==","signatures":[{"sig":"MEYCIQC2wJSlT7BTUZRAI0GnB031P209ohctzUN503CqUIEbwgIhAIuprMEiGlrkvfKB6vLIGBUy/eeZzEBoKV9XHIWcAOsJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtpOqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZnhAAgaAVK7A8mWKqrmBYoPfqO+Y9VcUIxyZI1j3NHHfxR5pETsfW\r\naVcpAZlGOvyljp9WvK0bJH1E5nxsY4zxbWitmf4nhGAZb5gPRmFKNYgJb7mr\r\nG8XATDPvQMSuMBch8hFXcueRTzVcCXkjJU9tVZUhMBl5taj6nTeNT9eAsjV5\r\ngLzyHnb2SfnqKhojKrjXR8VNIjoBb1RQCu14RXd1URuHtJFIfbhSnW+VGdzB\r\ncjlSlNmArhWoEGmK4gdz7VBrKaN5lRvy0wu46vlz4f/URgvskK2VzuGvhG6R\r\nK2WbeF+ntrB5eQdqHs6fU6DiLbDbs38RAikTux+0yRUior6n7zFSZ0q3371q\r\n04oqKzk5RQRwTDf87R3r64NYaxeDMqSepsd91H8n1tq2c1HT6Wfu6OIr7zlx\r\nCL8i4/UjnOzBr/3f0P2IzABhGHz1stQwnkjJQ7tHRdZBKoNyziITmbEPuyMG\r\nUpDf0BqgfIo+Ov/WF17Kh9raNkqSYB9dwWBMRnY1dtAlzJr7E7GR6FqH9MRS\r\nkcWTZJGpQeQGciXfIBHpEDeS1TajqWZrwjJQMGQ/cgRro9qzuJB2aNXoYHUZ\r\nIOyk+jKq+8ojyLfcUa7Vkhgm+DZW+3PAaPFJdFqWm7HvgzmSsKIa0vht2+Cf\r\nWCSaGsC0Mh74bSj1m5zUYIKI6AfeqRrdM9U=\r\n=OlAG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e0eeb94598a14217ebc97ec3e249d126a29a13a5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.1eb44faf9.0","@material/feature-targeting":"15.0.0-canary.1eb44faf9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.1eb44faf9.0_1672909737832_0.6610930307011262","host":"s3://npm-registry-packages"}},"15.0.0-canary.adcdb7db9.0":{"name":"@material/dom","version":"15.0.0-canary.adcdb7db9.0","license":"MIT","_id":"@material/dom@15.0.0-canary.adcdb7db9.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9632e3621bd5f38ebbf3902ee8cd1e1436e14eeb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.adcdb7db9.0.tgz","fileCount":28,"integrity":"sha512-Gckd8EXtKWVFLwnpsJgGB85f2MUMqHn7P/1poqGEoYSzfIX9URheyeXUG8H0IYJprC7Po1EAm1S2mPkh7e0Erg==","signatures":[{"sig":"MEUCIQD5F/sboPwjOqv4BWskYcHEG+imlHScR+x68Ojeq8YdAgIgMNM/x46nNOyuiJdXRhJAZtMOzLHi+m5M+IXrebUzrxI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtvj2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpdvQ//ZKKCX3Swn2LokHkOF/STXNRD8WpOsmGdEV9mDNWI1LHBG7kK\r\nenxsJdjX09QjHK4+9u+sltqoKDB8I947LKxB9kZBnOEbJLBf4yUL7leZjo54\r\na9ncY053xZgYJ8OgTFxi0pPGN6Zk3p5HbyLcyuUp8rlQTcl0BpUPqtWXJCc6\r\niFqitc2FiaO/g70QsQ19HeYPXFE9jYwn+jUVEJiAv8qiw7dJwWImEkg+RWl1\r\nK8PvYlIjzPGUr7afg5PvXL7DZHd2/vZXvSwJaZxHB9dPYCId0DkSFUe/zuUe\r\nkZ4vFROUDMtnovHhIlV9f6l9CVv1u04C5+GTIAR8Si8TUbwDE9JLbnhE4bYK\r\nVIoNXo43m1T+Fpz+jlChrKiqbJCKaaGGB5+5x+0awC4GfROaZ08M7xNWR/aK\r\no7z3oFZt01x3YMgUl8lDJO9WtZD7VhVMeeQy5kJBBG/stxRaecL+09XjYVAl\r\nnohtOlJ2fJqA9HYibdfiwB3c6Nl5T81WEVT2GtOgLbqWddcKcPuq2YpD/98W\r\niWZqKplM2lAnw5mn2EctDftNi/nM4ioVPAVcaaNxs8KRXdUBRyUtZkIDUPrO\r\n18jD5S9Roc4V80JkoVAtE/EN74gMIyqRhWIR2TlOJF0RiiVxU5tA3sGA1G3J\r\nhqHNYV5eGwn1agbLDpoY09P3leJrvx7RiSU=\r\n=cQ1l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2bb419da8b7b393c085616b6c5f28a3eebf832f6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.adcdb7db9.0","@material/feature-targeting":"15.0.0-canary.adcdb7db9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.adcdb7db9.0_1672935670541_0.1456209826305872","host":"s3://npm-registry-packages"}},"15.0.0-canary.067af7eff.0":{"name":"@material/dom","version":"15.0.0-canary.067af7eff.0","license":"MIT","_id":"@material/dom@15.0.0-canary.067af7eff.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9a653c845e3f4eb17fdd80c021e5101c01b86ba5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.067af7eff.0.tgz","fileCount":28,"integrity":"sha512-Vl0u/JA0qe/oXvtdArYccjWf3fQV91U+DHDIWHlPFEXjd+PgGnEtmY6aMMSlxik/uRffCDKpitIeBfM/0zcJGQ==","signatures":[{"sig":"MEUCIQCl+pSYctVCgFqerTh+S/wpm/Ntvrw7LQg5826K0A/3MwIgI0to+POQmVhgRB9NpLaHC8HdIl227moEgVKzQsXCSko=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjuKugACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpIBw//b+0jciqdphf9RZtJuAHuIfy3ViopMAaoGOm6WHpKFcAIasrS\r\nuBntQsqxNwNkxiIXfeZe8Alt0IYjTRG8tDwUYWR57KHrdvdcjXAuBcHjZCy3\r\nTzr2p0p25/8bdUfecXG8XY0uO0uDSU6HkQ1dXkQQMYnp3Uw2OOFt/czfRxmg\r\nBDIxo/aVblCefsCkcUBNnj9RaLsPuBhL8yoH2w6nXxi6ELYRBT5LWgNptVoA\r\np68+1EkVnAmP+Xiu0ocBb6sBGq8Kqikp8jY/uXwu6qZyjSdxWlPA5qvB1J6c\r\nGEEjJjW+HcKiLpSlIhUgIv0J82SnTx2jFSeuuDkD72XLuCoN5OE1yXXZocjW\r\nEv+eUmwBTDAKXDHI8rd3CowtmVUJ13xvofPpKHkZ9oDkDHbhVqXknXfMjsGy\r\nYVdykas/pa57J0aro9g3KElqI5ZugE/mD7tRhHQGhcnqA5rU283AiK+zBEZU\r\n23jPfKNlxJ+tWjgNOUE8doQsI2Fb2GVZaONI23rhvJE1mAfWRks10CYiME9L\r\nKFt2m8+9oS9q30+HV+67aQJ8dxG51vlJK3Nvm0xlriWKZH63MqEuVEnu+BZL\r\ntfjPB05RNHVF53LUtXhDEFw+99h4Nlp4Ro0irWnbljoLpym6bOW5/UBmoCZu\r\niEbNjcZ7AYH9aBqjrhdeG7fdtmfWpk9+yTw=\r\n=63q9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1fae2c792ff8ce557995a8d5d858676b4355c7ae","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.067af7eff.0","@material/feature-targeting":"15.0.0-canary.067af7eff.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.067af7eff.0_1673046944508_0.7726120665939593","host":"s3://npm-registry-packages"}},"15.0.0-canary.21d1196a7.0":{"name":"@material/dom","version":"15.0.0-canary.21d1196a7.0","license":"MIT","_id":"@material/dom@15.0.0-canary.21d1196a7.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fe14aa22171676a8afffe3f3c4544772d229140b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.21d1196a7.0.tgz","fileCount":28,"integrity":"sha512-/DtzfbHaYgit7Y0fNMnkTHhaTe6d4VZ54NXugzW5Ol40Knetv+MzLxzW+cJlmeOBYPCGDxAJW0X6tgXNKDCp+g==","signatures":[{"sig":"MEUCIB6trSwB7I9Otz/L2+v83CMqgucVVWtkuDGJ6vYLMI/PAiEAtlM7TYdkOas9+L4k9eYAJdzR35GCDml6cgLcpxF0D1c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJju++aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpbeg/+KLe2FhQ19r18khQVQSuDyu5DLzhZEvCD3BC14VPjmBYDaClY\r\nIGzY+SOmdTHPfeXh70xSoI9ISQniFJ1nf3Ot57M4jKkS5NhwB/NZJMZBNY9z\r\ngKAPi4eQpuDxT5WwaY7aiDwVmLImZ7Xach2jwGAanM3ktoUFQ3CFre9agi2D\r\nS/9TYSiLFAOPL8qKASMxxZsFcDdh2Ib8ZAIETNW4f/xGR7NykXzMVSZuFtMW\r\nuEg399BR83ZW6u1z2D18lEirdJgWqkBxiWzZBqWTp6HScedhcFIdetUocaw8\r\ncwARLNoNJQ4Z3Gz+DEj343/7B8UXDGaNi7HmrOTXkSZy6Gef7X/SYQH8TGVB\r\njuyns7wiJUSuLxesc1S8VNSCf9b7Vkr0SRn7O9sb36YFN0t5yQ6umI01iipM\r\nA6b/UggGWGN+785l/1/h1R5o4Z+DX840I0BF/wBu+T11jZXw4rJVU60ff+Au\r\nJ8XjwovtmO/vfHDxwDZX1IPIXF1JkpXGk2KEfi/Q43AwZqYLFHge8iLRF2g0\r\n8E5tAgtPU49PLk9MR8IlwnzuD+2Zk+IzUYs3pFEkoX8Kwrvapc1wdBZjscf+\r\nZaSXRNizwwJMrUR1owoX6KnCDiLrD7WAy9i93uarFDDNlJ0bAGqI16Z4lGLG\r\nav4zr5LSakQl24iniLCLQovJhqnr+6TzRgA=\r\n=aOvY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"361e536c54e276112f021b419f666618a20599f6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.21d1196a7.0","@material/feature-targeting":"15.0.0-canary.21d1196a7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.21d1196a7.0_1673260954468_0.3266447937097563","host":"s3://npm-registry-packages"}},"15.0.0-canary.8d2d8d3c4.0":{"name":"@material/dom","version":"15.0.0-canary.8d2d8d3c4.0","license":"MIT","_id":"@material/dom@15.0.0-canary.8d2d8d3c4.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c1445512daaf6054d837df5edbcb1caa83a5a98f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.8d2d8d3c4.0.tgz","fileCount":28,"integrity":"sha512-dppABEA051GWD6ZNZ2Tw/ascdQITpwkuhBEQNj5KHf1KiuaiEpn77t2BLVkgL+WJ1ZEI6Rc2PgL/+22DKN9xGQ==","signatures":[{"sig":"MEUCIH2OA1XI67kz5MAEDNxn/mQu1Wd2ZgvBqIAwByikpB6HAiEA3s2A1gsvhqvd8nQdtRRBNDhDOS0evF+LP08Rg+AhzJw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvJPkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpeEw/9FVqOflaVAu7vI9BYaMywn+F0X6X28z/zlkX5QITcAONy9rGd\r\ngor07PvO2IWwvIaznyPXmJQ8qHLhtCIdvxZaDT1ypDL7XV4Tjze0p8WsUgWv\r\nedoGGB/SgNnExn5opj9RSWPCmp5A79a1XHPQaOKo6CySXpSsn5t1+Us4sIuS\r\njXx2JRCkufjWKwaBkGcQQT4kdQSILxiUqOMqSN3xexryeLsl7zPFI3gTmjs5\r\nI7PHtedXBCDYq/2sc4F4YPbQYBOxUhGzQGon6v1cmPosSsqrL7cDDQxaisQK\r\n3ywvgQHIE/miv5Z4RFfX1Vb5E91WBhbawwuezamcxcSiroeuBGn8sDRovwVb\r\njPA4qvAyvBYaPVyCqflbCWxvILuNK82d+LE0RkBhTo1mZYWUa382xGPjFfp0\r\nkCzqRSTove3+J8Tqw0JeNQ8RSPegtDVYVsiHa6oPSW4bltzOqUMS6kB0p+ya\r\nsg066cnA8R3+eTtR9+EgvpRS6HYN0vfdlt/ELotnE/f95Yc7PQyNlzqdVSy3\r\ncWaxMX68E+1N/d5NUSJQTUqr+1VstNlxlT0XYO32QepgSLnM6v7teatiqqWj\r\nqkQjb/lmb7FvpLQFWwkQM+ZHayeAtsR89cXq0mDRUFVvSsIoQJ0UCrHBsnXi\r\ncAVNKVzR4YlG4QTYz5kn3s+jiEpLL9bLB0U=\r\n=lIDN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c2df4624468d99280d9dcb0894d04d839fc8673f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.8d2d8d3c4.0","@material/feature-targeting":"15.0.0-canary.8d2d8d3c4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.8d2d8d3c4.0_1673303012282_0.35278620506329483","host":"s3://npm-registry-packages"}},"15.0.0-canary.f476fdece.0":{"name":"@material/dom","version":"15.0.0-canary.f476fdece.0","license":"MIT","_id":"@material/dom@15.0.0-canary.f476fdece.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e82b70edc3aba9f4c53d55e4a0591c287e54c837","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.f476fdece.0.tgz","fileCount":28,"integrity":"sha512-sU7xBKy57+exL5JQgw5Vb6NtLBU4ACBQirlUeZZhlh1RZVKtiE/5ExX+rMPgGy3qmmyDhuOaAQ+kw1noO1yFuw==","signatures":[{"sig":"MEUCIQCGa1LzHuphczybqkPpTyqZQIJzfDFWamUscfPt1qo5KAIgZtMk57mNBjNnxiKjnuMIvfD/eVajvQuDfsXUJlfrdnI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvY7SACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp/Tw/+KjJTHE4aA1ee00zvWAyD4iYC0LsWccO3deEihNhr3kW7o36R\r\n25/SZSKSoKtl/gp5fVbDAF/1ApCQDK/XBfcKQYiALXE4jcN0oduZ/wwOag9V\r\nUiLRQWBOeBI7jFvMRd/kF/ViqaZU8tTXUkIervusdUjDDdyk5xW+SBbQvw/N\r\nIE1Cka6a27Ce9lENy6b9aDJ9NOUoPLf4p9SwduWLY+a6SzCKN8Q/VbGKovbE\r\nH3jjNLmbJdLtcjLrRk3w7mA2A4elsNFjTmUYRmm40epUso4imZSOUg0cVF64\r\nY7PtFQjBQPHLHCw/kzvN8XJNPATj5teojO8lr4mzw15maHaSXVatYL4ona84\r\n5Mhcqb+79QmzP8ttLs1VIpmDv57xf95FkIaCVbDhwAfUyYxUBLrfzqN2Oyjv\r\n0K/+ru5cSfFjQwZPfBRiEnWjevupl2hyiuAyXiY4EBuKKVzNBNHwey84AUIB\r\n8oYLAjQKM0AsAmf9UBAAYlXn3X+OYagpCfVtRzoQJJkBWEu1OX+5tLPrFvnr\r\n34sMWN9Tye5WuYtiAipd/mq5tr5iHNPoUudeK+AVNewGosulsRrrXyLHdDDF\r\nsWkkA6a/VynChf6JW9qzWsbHLumtrjHER2N9q4QPTbEksCR5NUxziHBOyhKv\r\nA66QcKoaYNF3mlyXK/LLhZ64Ot9D10zrfic=\r\n=eTG5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"672d5b55da7c88d57180edf75e7ce65ca2fefe0f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.f476fdece.0","@material/feature-targeting":"15.0.0-canary.f476fdece.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.f476fdece.0_1673367249918_0.6158718461965922","host":"s3://npm-registry-packages"}},"15.0.0-canary.fc6ee6c32.0":{"name":"@material/dom","version":"15.0.0-canary.fc6ee6c32.0","license":"MIT","_id":"@material/dom@15.0.0-canary.fc6ee6c32.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c44eab5aadf8a109683e78da1458d0d426fd8887","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.fc6ee6c32.0.tgz","fileCount":28,"integrity":"sha512-rqWBWfN3eeL2Q4csvoH7885DsPHmvjNF4OVWmTpdYZy7oXA3b3KXtjBo+kRcByHnmyx8krhFqQiKlca7LskhoQ==","signatures":[{"sig":"MEUCIFgz9eDANfox+uq1dHwKh+TJR97MCtsseLJX/8++SLBrAiEAkxPGUvyRu5x9FavOAru4U+UrMRoBNFvfDh2edkDjboQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvZH1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoCRg/+P9xpCb+JFtO/7F2zQLLfo+7w0fIaVpftvt4uIgDhZcJQqc20\r\nQe06Com29zv1WVs+/MAU9wIDYiyNjFrxlV/4xQadiyTT8S76ynCKNrhiJneC\r\nJIk0eYcW7Rd9eW1o800JyZpG4TbWiMNLahCJlCCP5Jw3JbCo6e9jYU7Uzcg8\r\nvOkZF22X+4dMHi7V4rKgAv2A9JsDru3pyWkYClpTWYnOOAH1nYrtxC/c4g6s\r\nRvW1Y7ETYxW3MSL5b8DRyLpBEykopqKA9PSxifVojak1qnXkeABSxHkj5asN\r\ngCVvX/QE0H4sY635TROhNaLzWmYmF+IhS2xZzeYcazz0GeE/ZcSqdT/hKieK\r\nDztW/YB99ij4nivynK51oU5TTvvw4Z/xGpNMmDEUQ7uieohCGY16TDVC02a0\r\nmkL9OFhbJlRZK/kciQiSQJbuBr6vc6rAAgomTAX/K3BxHioUAG5gBRQpJZEh\r\nIBWYVC4y5j4p36uDBf9FoQ6XBeVujLfa8dNscGAYJPOHe8DwEVsINzHRJpLw\r\nWsumdfeDCjKH/or53Y7TvXH4u/onK5spbASh7GFy3xxC4Vhp13ZonQ3Oisbb\r\nSyt66P1A6ya47aKLFOOR6Vq7iXpKfiHJpXYafR8Mdm/PCce1fyseIx1mhMF8\r\npOqPaNBHkdWjazZsUjWafz1ZAJhnl/URaCY=\r\n=WL+i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"225aabdf74bdefc3d2f70f268ddd04c501a821ba","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.fc6ee6c32.0","@material/feature-targeting":"15.0.0-canary.fc6ee6c32.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.fc6ee6c32.0_1673368053400_0.4665642391085991","host":"s3://npm-registry-packages"}},"15.0.0-canary.73537ab0f.0":{"name":"@material/dom","version":"15.0.0-canary.73537ab0f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.73537ab0f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"525331256148a4f6df413316323a2b6681eef11d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.73537ab0f.0.tgz","fileCount":28,"integrity":"sha512-zSOMGi5z+jmRnNKQ56kvEzCpXhHKEefU9EVBgBlOIPqZXzhsLzhUyvOeE0xcS/7y57JnbPaS/OsHajpqg0pkbg==","signatures":[{"sig":"MEQCIDvKjaGwcN9Kt/Fz7ehDWYkoY/QLB4+jUAs3a9fU2mSLAiAKmDp543CTOObS2z2qaJmvOIns9cnkCtz8tl8OP3n6ow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvao8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrcnQ//UTbhT8jqh3hmUqUHNW3PE6fO29/QkBNJ/oPK9ZgBFM4I+1/+\r\nAjyfFJ7ZaaoOztfnC2ANAMGJ5mUcLuTd331v2GT0URWwxgtykquQeXwaPP5x\r\nHarY66VT7kW/u8kJAf95C69U/09V3uF31lnu/xsLQdgRGXbeTJj2pI7wSLOc\r\noQQPdfOah0qg2K3Iu0g1m/kM7jR4zZBmbe0gUspEhYBmOfJ3LNUNr/HqmA8r\r\ntXCoV7KxKZGTRc+A2BzwhMaNiJ7hs/hbSh73y0/5LkvFQ8tl4c37VCGYWfXV\r\nwlLPnOVZTWCySvTC5h7HLMw0x79gISBo3gFZJ5XILDfekQiVeRNhYj2pPmtm\r\nVIWfKT8dlU6aj6Y589B6vQ5aKuRkSzT+9e2asoZKmguPtijMAdF7xO8HzrfK\r\nTm8VbLQpEc1Z0sPwoU2ltclx8SRd4or87KeBYVBAFXXVnNzDPB6ej4RnRBez\r\nn2YtNP4lvnP3t4LCqzMe9/VHvOf2UkzlsY6UXN/etFT0RQP2mxBRI7iWoVQM\r\n/1NGzI4gYK3N1UovAUzEWt8T2DYHLmOKZhvKru3l05+NEw18ZKw3G6tQtNNi\r\npbMo+ufflx6eSRVQEiZzgMviY0eeGGhmfVcJKyorSN7Su0g4Lt6Bq5je6yAo\r\ngB83EkZmr5lZ3tAtvdkSplNxZs0YlV2pQRk=\r\n=AvGL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cb3a480e7be3c8c7bc8f8ee0acf1ee8145f266b3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.73537ab0f.0","@material/feature-targeting":"15.0.0-canary.73537ab0f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.73537ab0f.0_1673374268172_0.8954491474460928","host":"s3://npm-registry-packages"}},"15.0.0-canary.684e33d25.0":{"name":"@material/dom","version":"15.0.0-canary.684e33d25.0","license":"MIT","_id":"@material/dom@15.0.0-canary.684e33d25.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1487f4a0187aa8fb12819533537218888c2594eb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.684e33d25.0.tgz","fileCount":28,"integrity":"sha512-7pEJLYov+tGgfuD8mZxoVU6rWtPI8ppjTAhz+F27Hz9FG0JETMWTKpDPBXLnKvX7vhIxL83GvZ9geNHCe8Hfog==","signatures":[{"sig":"MEQCIFWKEUcdGVwuSOxxD5RP2c1Vs/lugOpdH8y+8qvGn+HdAiAfOfrvIE+7lbi/iWKa2Aj6I3qCGCExDmssEoI9s8n+Lw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvbnwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpvSQ/+IgugVhZML0abqROLbxqczeikfs3kNFtMHrw3CvTtU9ZR3fgq\r\nDvWO0CcKSUGQ/Eudc7vYEzEj3y5deh9ft8zOAFP0punsimyZTZyhbuqw+cOb\r\na3wvdqWt337Y19TNIDP/k0yBqbuPjD1pwuID50NA06PRcaD5c/SWWeGCudtR\r\nF9dtdi+mFFNGKVaseQ0uRfB9xrIpLx6921VokOA4mUZQSCsY3rn4nBKZzGok\r\nZbn6MConlyXxjsjjkaOew1HRQZHX0H+YJWojZKGf1RkiKPTBxsEfPzmwkrbj\r\n18EFPcVC4ycwIcqZkv/i/eOnTDgCqB/edsm/wtc3CrQ6wLfH9Eup6U5VWnW9\r\n/RleDrZyFgTtX9VCvsP0onDO2nDf/G+gpJRlfnSYqr+cKpjX46+gdDKvI1lz\r\nNGtI0RRJScu9jzXeRuoyvbK49H4UzrF3Y7IcbkbPw/xgs4orCZYe4j6SL5d8\r\npAzB2FEn4ZfE3LEmh7Y8+1hZOmh7SXalMFbeFOdKYM9f5dcAcntPFMSZ5g0t\r\nxGgVERDoD9101eJzKTEAUKf7V7P1RVncNMPTj+QDIdLYB8SjbDj+TwoQIw0y\r\no8OfsIow9lpkCbZwMwAhHrN0W8nNY+rwA2CoDZBmFHanNFznrDRqGK1r861g\r\noZtSldHj5nkHuZXaupP+JgzqV2audLzCkZI=\r\n=qsHk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"518d26a1e091925c1b3a87f4d4f4dc828580a863","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.684e33d25.0","@material/feature-targeting":"15.0.0-canary.684e33d25.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.684e33d25.0_1673378288147_0.37437466230391836","host":"s3://npm-registry-packages"}},"15.0.0-canary.0e89aab6b.0":{"name":"@material/dom","version":"15.0.0-canary.0e89aab6b.0","license":"MIT","_id":"@material/dom@15.0.0-canary.0e89aab6b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"528ff5ed999429c28704e16a1b45defceeabbcef","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.0e89aab6b.0.tgz","fileCount":28,"integrity":"sha512-Dr5IqoWI6YlRL+s9hMBAIgJ9J6YWTl+sXSh+Bb4MHGIhM8gjgnlkL2PsFN28NFkpj7HQ6rebRQG0Pk9pFAz5Pg==","signatures":[{"sig":"MEUCIQDMvDmXQa8Eps5XLQ9XF4GAIvlg0Q8beH7z1vdeQEPgYgIgLKibbTwcLJG3GYfipSE6j/56zvamdBPctDX4N4QajxE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvuD6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqLJA//UyNcAmjt0Ux5XzHgCAVWwx9YTBIA5UwUEZy5OAYnmajZv0Tc\r\n7BlAUJXbJTBUobDkocHlJ9i9RMCzdHdcp+RCMtrr1vYPbeCEPsmeDOwxF8CS\r\nTGPtWMFB4vUGQVkOVRaog953vXsGz18K84ibGMo0AyPED58sniV3lWY7mdn3\r\ne6aBrS2FkmF/15cCxkcvlz0fGzxwiFrvEWgXa2NH3a5H0gwUMAJmwpzOXp5d\r\nrKCaAGDXGQ7u6J6FRjG/LyQ/jg0Ms1L9SDR21U4nu7cfztfGbWhddBoxI6cS\r\nRqotbBnIkHcmwfJKsPvI+GnkeB/ABbr9AJyxGRIrApOBKkBJeHDmKtAYIL/r\r\nFGIEZcWP/IpnNX2sNE4NjPpnUrqmWg509d8Oe/cVa6Z030uSqk/JUGJvJI0G\r\nL0dzE8VER2BR11cEtoQEzXwUq6GVjFKg7woawknkUJd9QctIXaudFX3lCUi2\r\nawZ0gX1TKQA0tafj2Io3lZ5BA1wmL1PdbdH0JzmaRtwQkIIBDsbozPn94hlg\r\n2H6QEySo7jpEQ8ArEIugqzIjcACS1vQ3uAIK3ynHVZE2IDgjgbs1phaPcPR5\r\n2+Il6S4hESSqqRifGDvn9zzHPfknOPUervJYpYGbPiAHbKZ7g4JyNOFlLg7A\r\n+nGCkZwxkVqW3xjP99G9cLTuT1RAvaHBun0=\r\n=KZv6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e4a9f0d636d7f4d6c0fbbf49a7016627715eb3b6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.0e89aab6b.0","@material/feature-targeting":"15.0.0-canary.0e89aab6b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.0e89aab6b.0_1673453818499_0.02066827644364988","host":"s3://npm-registry-packages"}},"15.0.0-canary.b0103d10a.0":{"name":"@material/dom","version":"15.0.0-canary.b0103d10a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b0103d10a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cf4b148fa49b06c5710097ac25be8e10797ba25d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b0103d10a.0.tgz","fileCount":28,"integrity":"sha512-B5tyxQypHpAKH6663a5j9nhcl2VINQ8dzqtdhe101lI5YUyXLV1Ykak97wGyddTtUuX24c/MXmNJRbZRKYcOyQ==","signatures":[{"sig":"MEUCIQDMpblGPqXxtrpk4/CTnyrVSrRAF4hx9wkYi84Y974CAQIgAbjkxhPFr81aG0qjL8o33nsSBlES0C/7rkr/qxWG0vo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvwoCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoCmRAAn0W+fpS0HFnjvlGz9Tmd2k/eRzlydNJ0PjP7eCf1JZsOO49Y\r\nObZocJJaC9Kbje9KHhA9H6H5p0FYBJpELvbUC/wXfr0fHTepDtQBGdBuAxTq\r\nfmtFIPn9M47e5yeiSoxgsWHJ0i1EZOz4AjQHQNxOt0+7KP6QfZD/a9ClErmh\r\n3lbJcFIJeOkSJhPVMHaJZRhvCeX6nkofWGsOvtlWYNl3ddMxS21ruhfc4+CO\r\nO6Nbq8813yeAMs8XBbZ8WPTbn5Zga6NYKQb4zlL3wDIT5/RO3+CL92wNvE8A\r\nO3a2KejPcNNdnc+EUlzz/EzKSv2TAB25HRT7IciBl0a3dWJTBe0zZDfiarOF\r\nFxNyGd31YeXSEc0iQuOJ46Lx19UkG/DzCKV8dv8NJso9DCJF9YyNtbihCxoc\r\nRMAkRtH8L93lbiMxrorC5cb23gkFyDIgqxainOhkGfiSVEBHPRNlzrnbNsRd\r\nm0l0HiwJHyYZss2K0mxuSgM7Tb3iAS0FTl2k57zmExTS+AD1Pz5Uvbt1J3Cn\r\nKw8Tm/f8ucS9m0efUPWn5AuYTMccWwaIIvSNV8TbGhdyrrmUl7zA37Y4gMpa\r\nQaXipTtE4vAZ9/HcP9ZMbIiS+XC7IvKTqYq0Z5+gMVIpK7QMYxk3SIhltZhh\r\n42ZJaDndJJTKRGpSGq4qmfktWiPT537a3cc=\r\n=xQ9s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0e133b89a4afcc8020dbafdd4d22c734080d2d17","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b0103d10a.0","@material/feature-targeting":"15.0.0-canary.b0103d10a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b0103d10a.0_1673464321990_0.4283666505471009","host":"s3://npm-registry-packages"}},"15.0.0-canary.50e7a5312.0":{"name":"@material/dom","version":"15.0.0-canary.50e7a5312.0","license":"MIT","_id":"@material/dom@15.0.0-canary.50e7a5312.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"467e5274a65f5b76237faa355722696313c72bbf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.50e7a5312.0.tgz","fileCount":28,"integrity":"sha512-m6jAk1kIUTyddySdTpJwZZJsekOYEeEbkX4eKBXF6NtknyEtDCWNRxSIU6xs5QgisZ2qOKbpFRGhBy2Ubag2SQ==","signatures":[{"sig":"MEQCICX9RsqeK4+qE3VcwS4F3vWM9sDdHGO5PXQjscRDimYpAiB0z437Hj84BpR4K45cKp9JyyYZQCMRDFN7+wyee7W+6g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvyHVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqB8BAAi66UUhRdsPtALrPPx+T9TehFlTcwGdA9AQPPzCggTm/6/Zjg\r\n5ywuMDDgh9TTN0tNX9P3iatjjztdLlwaSVe0Aihs0Hps1M5RCWq+2Sbc56nU\r\nR8Do/eZ0FjIF/1q5FdKsofvcKc6SZsJpYxHD23hQu5DBkLJgHZ0MnyL6JHPF\r\ny38SNg2mwDSILbSdM5u2BiV6+S0UcGHIq+GvRgrRLIoTM0KGgoNBxYdbcHxM\r\n9cocMzRtpRaSbcvOA4Jw3vtSbxeinsy0VnID5YJG3ZPlpyq6ROlZu9SVckqy\r\ngztv6V6q3tilK5okCsEzDNQiB6wfvgyQUSx7ugVRe6Ky2b5LVKMonP6iLKFB\r\nWq6Vflu3rMFQ24rN0qHjkgFO6jB7IIlRN11Huwx21TU6jpkLdoP/VLv3J4z9\r\nooLqitvjtjZuwCqpWSFafvvUCGGPohppZ/OP+BSlLOQDDFu/8DGOojEtw4i+\r\nnpWwze1xdYz4AzqLRagzOX3h4ycVAsRzG6kMyqFKxM8dCnjQ2dgFWrGvJ2m4\r\ng+R3LVREOw+n9vy50wHyuxVmNLzBJgXLgU483f4XHf0HP1U3DI+nNr9Dl5Cz\r\n6kBzONJiG1p/yu0oSUuDIav0iI5OZCQm+9ZgX9hCyjwGjg3Ppmwt3tm4wFA5\r\ndUR6dvOE1HQo3O5LgHzFlolABWWzjdsG0CI=\r\n=DnWB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2d4b8df3edcb9b5e9fd8d8b6645dc9519d92f376","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.50e7a5312.0","@material/feature-targeting":"15.0.0-canary.50e7a5312.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.50e7a5312.0_1673470421518_0.439140640394291","host":"s3://npm-registry-packages"}},"15.0.0-canary.202823f54.0":{"name":"@material/dom","version":"15.0.0-canary.202823f54.0","license":"MIT","_id":"@material/dom@15.0.0-canary.202823f54.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"33caae5817da57662ee35ebea19b4a82541fd31f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.202823f54.0.tgz","fileCount":28,"integrity":"sha512-KDSjX7nUSbPSmeZVlnrwlaW6i0WykfnBwMDs5Qza/NwfFK06gWHJ9v9kE3WiX4PIUjOCL98lXTjuFRpUBPjNmg==","signatures":[{"sig":"MEYCIQDFjzLYXXoXDS8gsqP2HdnyW5Qfn2gihS1ssSEbN//V0wIhANdG8RTKLagOlh9vvWTr3JT2l7XRd5b59ekJ7Ct79XRD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvyuWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpbiA//RdLFEP0KBK+dMIC+mw7spv58KxOHRn4VDFEMmj/T5e8nUk5c\r\nNBtXyVodSvLbtsVFQ3qkXNgnvjMejL9O4MsV+GPs+l1uLEPe1baA3mhpIucu\r\nWcnT67kark6642betVQjMSuniLLXU7EbJDbIk9fPkba738+C5AuwyAp6ndAG\r\n1PrhJxWGpktRPXhG3sB7/CdbbZG7ONvsTuQh6AnxqfajumZxF4ld3BbCGChn\r\niktLR3BRev8R7gkZNNRS34Xac2Y7Ve9ui3TQflIPgqNsjb9Ea+ovkSK+vBc3\r\nwHj9KR0JIOee8mo9mhC7VniCWsBCBnCf+a9cJoer155ZX7ulUBIrg8xd3GKu\r\nw1lMWw0r9OhjFaX2rTMFJkbDGiX7QeW21Ze0z5Jx2mAgo4J2tKjgnxOUO3RW\r\nWS3TSaanklrzrGjDd49i43m2vTOPwZI6Ptq/EiOWphFq/FH+n87+t0nDARpA\r\nh9JPMN62O9KotJ+NIiTcu4z8lwH4IvWjbp9+hqusyItmVbaVLMwj6hC2QCTO\r\nFe16MCmNiiQWGFG5QQmq3a5ObVws/W0ZpIiXkQkJd9S17Vo06FD58mfUSGC2\r\n6iIHE9hxD0iW9L454GNYqklgz+3XhXxK6pyaJ/TjRpqNnlFZrv66CmcDgXD3\r\nVotC5mPa1Dy+GAp8APutQgwIa+I8LS1ivi8=\r\n=8rUX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6a4dbcb0b4c7d96a85ebe59a5ff66d2469e177a0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.202823f54.0","@material/feature-targeting":"15.0.0-canary.202823f54.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.202823f54.0_1673472918355_0.3362181208371333","host":"s3://npm-registry-packages"}},"15.0.0-canary.199fe2a2a.0":{"name":"@material/dom","version":"15.0.0-canary.199fe2a2a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.199fe2a2a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"346c879db64037d59ac55a45b293d18c5ef8bb47","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.199fe2a2a.0.tgz","fileCount":28,"integrity":"sha512-NUZas2Dbfl24sDuk31yGo63LNzrxpjkzR4pLwP4EykwMfGYPapsiUt7r7HyQjog82K76qRY1ggl3W2eJIyfcVw==","signatures":[{"sig":"MEUCIQDpJ9u5h4kVJZ1PG1/SsztQGFABfwqx38slaE0tW5cogQIgRv6j0xFs19XpQ2p7k9tuYCjDSSWUDzM9umkibMX39sM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvzBBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqn8Q//ZlURbTMXaXR6n0aQDJnCf46yrcmwxr8P5IDfNbfgHjCxffLI\r\nYu+dBb1yqi2Vu73nNdDmdx35yfHf9lK2iyH/AhZFgjeajNAyEwPog5UMsoY/\r\n47jvQRi0UQrrI1Wt5QnkFHYStXlqyuMFVgdJhwoUnyrjZwykbkA7Oiqec7MY\r\nQEqlNCs79mBpqt40MemoclrRfUqxGCwPkMZ3MmzqN07Z53SpdH6DzuB2U5ja\r\nYVbBRev4w64J4nFTA5fi9W85WXlQuxyA1DfL61bZjqooZcOWl2H4cvbNEqYt\r\npZrzrfwJhJyrjnY73/g62tDp7z4qnuKxkgyXWXqhnDsiTd3f6jhhmr5wtBmL\r\nSD/JeIWiHFFuy/eQoiRQU9+snF+r1dWpfap6xYd/yg/62MkdL8h0OWw6M2ZX\r\nshFrKojEkuLM6i/FBFF+CigDqizjPqXkO4NKdFTPV25737sUJqys1CY3Stip\r\nVfZCzbLTOAse+strAtLZSX82alheD4+s9wso63zC9PwEI8XfJozIQPF/qDxJ\r\nx6CM4R0KgdyZQKfcgtkoxWaIyURVo4M286hqCg7vGkogASF6PtAdg0bwy1+/\r\ncHaJZEbuMz/D+EuUzcREo87qT/TRg2jFD8PUxf5f8qAlPY2dXarIYLFlEXmL\r\n8rMu2hTbdoWXYbtdLSsieaxilwDEt0PZDXA=\r\n=mm0v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"eb39fefbc3ca102a52db83ad19b42f1a2b52ecd1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.1+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.1","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.199fe2a2a.0","@material/feature-targeting":"15.0.0-canary.199fe2a2a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.199fe2a2a.0_1673474112855_0.8620184391465759","host":"s3://npm-registry-packages"}},"15.0.0-canary.8c0786d6f.0":{"name":"@material/dom","version":"15.0.0-canary.8c0786d6f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.8c0786d6f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ea1043c7082d0553dad7783b78dee11d3309559d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.8c0786d6f.0.tgz","fileCount":28,"integrity":"sha512-16s6Gyk89aP/Gz5bZVIHx8sc6M8rbhh4+FGwlAtlv4CXIi6mPGMHYUAZqSRBYHDWW6PWV46fkhUoMSyaWNB39Q==","signatures":[{"sig":"MEQCIATStKqb+7jyikWO/hVoqPD2mQzEHkBg2GQuaV8xSURIAiBAI57UvZieJT6RCcxzE3e8K5S28kQ9lxrGM4pRr+ikQQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwBrEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoCBxAAibG11ImRnoolqw8wNnADrZ73jmgaZzEA7njiIvAbAyZE2Ly2\r\nmGLhoUvfRav27NOU1tzS0rGXK7avIe9yngSzNcGR7NkLVePr/3jQzHrJxwG9\r\nsDZowq4PrEp5ezssE+gT9yV5L9VpQXJVsU+6UHxbAgh0HzbTX0Cb1PH8ZjRj\r\n0wWZFsb9NkzTqta1jxZurzGDg6devknZwuggiMbK57MDAv5lSeWkRIKAK8K/\r\ns2XluGEkjVrxNOtKELCBlmNk2mMZG/qshVczUlCX8Hm2/zy6V7iHSriZfIUF\r\nl0jvHUc3e0ka+6d4IHQcM3/h6dlcztJZAvFH/b9cnwpW4K1xgfu7y+Xjq1vo\r\nnEda+jXvQrJoPhNTmkW6Cv2Eb80clP2I68umnpNZdhWWdCscAvJ1Jb+QNDgR\r\nWcpO4TSbq4ZboONq4SB75Kj4a64jB7JQDY8b7InJyrPHLdeHqLCxNtz+Qc7g\r\n+cMNft/Jut0+M+GIx8QI4VuaSISL+Sd34iMwGKePMHSP5Bai7INmByI3MLTZ\r\nSp4/3qvbj7kcqewx4Ab/s1OScNntDhiNTl83w/NG4D/dkhkkj0xE4/nshKde\r\nvtN3wUECqIZaygdMNEaJVBFuysnqpxNrB+gh/kn1WjzQyQGAeLucb3mf0Ks1\r\ntatrVAyHeu3ZUBSMECaKhOl9Nj58izlixvk=\r\n=YFC8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9016794346c3c3cab2cf31154ef6a35eb5598994","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.8c0786d6f.0","@material/feature-targeting":"15.0.0-canary.8c0786d6f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.8c0786d6f.0_1673534147816_0.43791343204376476","host":"s3://npm-registry-packages"}},"15.0.0-canary.8a74f7c6d.0":{"name":"@material/dom","version":"15.0.0-canary.8a74f7c6d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.8a74f7c6d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cba62c58a0f17808832b470d6e8a2f49c114a0f4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.8a74f7c6d.0.tgz","fileCount":28,"integrity":"sha512-Nsbj0PkxX5kiZU0dRrnGX0TMQhSSLg12f9ohevqGNaJpgoGReqWYOrru15EyiTVDWMhnfr4C4IPygFSMlODKMA==","signatures":[{"sig":"MEUCIQDYaiyVncqpSwz58KEbUhcJA906OrkTjx1jquKrBQGVVQIgDXA1NM+kYQvmZgSjKT+ViiVl5SBHoPk15YRVI7MCZsM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxvXWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo+Bg//ftgeYdnEWBQyL6h4IUsOuaA2klqAQbTiXw4y7RSuVHDbF9+9\r\nJMdJoGLOdkSycoJnkZ8CNZZtaIDbsP12lNECBnm9f3+I4E8lbIwwTWuYPvfZ\r\nAI2djbcR8DOwKi29CWvH+t/qnhxBpPbcPxtjz4gVsWuXbF5XtRYVwsyk/RxX\r\nmfnzaPC+aBugItZlHR273LRH/u+gIGLKnNLJ8FrnhZZNpI4d4OH+x5zW1/AW\r\n/nj2urDj3P9sC61hl6mZ9dRqfYyl7Tz2hieIwUZ74WOawY4ZLfLiZRChEUf/\r\nUsCbHkXYkUtPbl+3kUsppLonLm+a17ARQctdAZSJpL7L+EkrowKrMJZf3eqU\r\n+Ojfd5xhq1SUGR5F+xF9iQ0TfIm53w9Nd5Hy9T/sO5i3+MppNb57KbftpyAK\r\n5WD5yNAGqA1jM+eRnN3ct6Eyi7bLhkCRqwRJr46BXdUrH2spVjTjpxnSU1fk\r\nynro+Ts5PA8HKvBIJePV1GjEKfjQjfmCm/AtnWA/bOSwQNqwStev0WrdTPn1\r\nibTM8tjxujfrI4OK6TIZOK4hlJexM51umhKSLozJdhuonWk6vZ5Mwy1GyRFC\r\nwh70iKD4Qz2R9kbvKhcfcDDqVdXnjQX+SfJ0pvxDhbk6tdfcJJK2TGIbbQXF\r\n31Cp/k2kXVyzt33/RK7MQbQ3sRwY65DxMK0=\r\n=geGx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9c676a1e4329c32508a9e7110198a336dc704f58","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.8a74f7c6d.0","@material/feature-targeting":"15.0.0-canary.8a74f7c6d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.8a74f7c6d.0_1673983446361_0.8667996095726826","host":"s3://npm-registry-packages"}},"15.0.0-canary.b4687fdc1.0":{"name":"@material/dom","version":"15.0.0-canary.b4687fdc1.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b4687fdc1.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dccfa6deb7f938cf6251c673be920723660552e6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b4687fdc1.0.tgz","fileCount":28,"integrity":"sha512-WAq7lSlRs63Ckdc6zo2RdJe8MLswyLfZCTDVjBCxOlhcC8bQakXEtNictlhfh+AK848x2zpf3TYdWCzT4452pw==","signatures":[{"sig":"MEQCIHNywJtlCrh+N+AigsRUrHcv4wSb3rztFqrADc8dYb9zAiAGHw1LyXooKBMr9XwjgUjCpLLq/GqG6W4VxOBEfdxHGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyZ6jACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGrg//QnX88Assp2e/xtTOO3pVPIHZZPzyL+D7rB1Iypt+KgfbOZcR\r\nm50VpwPsD5520xUMAZNIOSxP/hZsY/TrRClx9sPKR9nZWU70Xx4Gc8s1DSRD\r\nOnoVJQR1xH5ELBaA9qlV7UDi0H37qB7fCtU6hbeaFi5tbJeePRDMkakMznAe\r\nUL3VgROtHe4qcCM2F6jlbvibuPIaa+VGONOWoEmMiE1UVt9htsxn6m23E7cU\r\nI9bfMpFjCS475y8jp6y+iaVOcHowRN5WzsMCfcTDQGvNiX6OEIjyT1x/XdLK\r\nrp8RsgOkZD4JwEtFCASwy8Rb2lqmLr13eCulBOEmjVz97ibfiDk79aZRwoqc\r\n4pXeWY6EXc8OlVfhFFl19ycXu2Zwi+znii7gPaKgCNpFL6ziwiGRCMRhzLAU\r\nRIExWBojQtyoPEmu55wwVGiVk062rEH6KtBJZZTLHDwLYPaVeAZQu4AtsNKY\r\nZXMYOCe7BcM35JrcOWnC4ca706LCoPAlKokhkqAY39J1hT7U8XeOAPnIkKt5\r\nAtkcePgjNAXyZzKZwIgLzwpxVW329jgEkcorYSW2z8q/docS6Oi3OnewA1Ha\r\ni6SCSpuep1DdgREyTA3rnMAxZ/MFqzNwZlbdsbcUG0Q5BfKJKlk7sY3k0KJX\r\nPITsYZE+dB4GMXynC18yKCtNcZZ+6F1hQSM=\r\n=JYCT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c9ec43c7d66a73ecf591f982a42a582e639a50b3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b4687fdc1.0","@material/feature-targeting":"15.0.0-canary.b4687fdc1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b4687fdc1.0_1674157731667_0.6912181473263657","host":"s3://npm-registry-packages"}},"15.0.0-canary.b836b9892.0":{"name":"@material/dom","version":"15.0.0-canary.b836b9892.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b836b9892.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"46c8199ae0281bf402d73e76353efdcf13a38bf4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b836b9892.0.tgz","fileCount":28,"integrity":"sha512-zp4wDLc8Ai5LPCTxl2n4IUoSbDdnRothg9yqXmjxwvlBqrE887Cng3uQjvSjF6wGfLNht+mvPy67zlrRXn+0eQ==","signatures":[{"sig":"MEQCID5RCX8dAfXAkWWKGY0pktW3QKaz9ins3NxnFoUPuOjeAiB+cV2rG5qo61dEAehX4WL9ERu33fUsDoklGXQxlkfOag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0F32ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpECg//Vh7QkcrKuy9FdZT5xSULwZdGR9/+1dMR+mBk+ZVICBy4W/c+\r\nuL5px371+G1Hw1aUVsT6Z3M5mLYPR6B3NWfNZ3Ue8AepRG0+w8VS4FfKsGLZ\r\nsjaklKcOi7bVR4izcCPWfDyzfFw1g4whA7uB+dsDflJuifq22Vnb9b71V+jh\r\nFTZCuedaSjClkPNTRIMdoD1nktXdOEsJNc/8D0viA1M8++gLhOpTRa96gq2A\r\nYp1K+zKB88G4iAhRXELyfBpnT2S3G2YVomRoZZpLfZnAdsiES/F4bJ7P4CDh\r\nSJfD0U7G3UWQUjNiJuR3b5d53bOUhgm/0tRq4O45sYUMqOvNHUlGnEU3fjRc\r\n6TIDn9JKauRg+/VC53j/4UA5UmiasGGp8XuKiR7DQPNJ7ypkgyC+wcXryMJW\r\n+0ph/h9FDa1D388BOrbm1hfJoY2ASIQP9jWc5RffKwHMeeigUN7iH9NJrYb5\r\n6r2O+BMzOTtBnO+0DA+7eS/vYdeW7IGBp2yf4lOZN2Z2/qfEDy5mbcj3Qr7o\r\nP+aaLqOj+/oGO1wVIymvUIVcdxjzvgDR4ymFwJr3iU5LuGkGfKofIsCqEFn9\r\n6T46vTW01DqtgDJ2QoWSiHUvCbANAdw0Mg3r6zUmylVArepU2hUCuzO8JO7/\r\ndR7+S+wNGb23IVcRduRnROLpopWRpAXCptw=\r\n=dpbk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3a9a0b2e64227ef1f8979cd5b82be3767b100551","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b836b9892.0","@material/feature-targeting":"15.0.0-canary.b836b9892.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b836b9892.0_1674599925800_0.4080979822456223","host":"s3://npm-registry-packages"}},"15.0.0-canary.e8912fd37.0":{"name":"@material/dom","version":"15.0.0-canary.e8912fd37.0","license":"MIT","_id":"@material/dom@15.0.0-canary.e8912fd37.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f10213798a373f1a4859f71c8fac7e6ce685b834","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.e8912fd37.0.tgz","fileCount":28,"integrity":"sha512-E1hXASasOvD24VC+fbc610K+9a1T6nq9KQV1Y2EDY8caLXKEyeBxD2kRBHOZkiDRu7z62S8Y2i+fn+DvyTJfmg==","signatures":[{"sig":"MEQCIB8btRJ5z4NufJr/eerS69IDR40XaFlFoOw0N4WEo5bcAiAmkH602ycoxjKfFevItZ7OfTH4UoZftPa0m/B7d0A/Fg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0sZ+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp7CQ//WN3pPEffChjj9Na0NUM5m1figaqd3ygR4JUPb0bj4f/GznUq\r\nElexB/9XU7Mv+RZY95X7xGRKkKxfheA1mFpIZU9dhalc18Fw7MnoxHUNKMTG\r\nBn7/f+adG6Oq8Km1BSNQYxIlb9Nq+1n2bm0fF9SlIeeap8iPk0Fc4Prap/sw\r\nroXOXv+Np1BJKdIVtAs3MFOdvuwU9JFylsqjSA09MGYpD9w5WiC2cdKQgIea\r\nI+pAuSlEV2cI0PshnAte47LtOUC8qD76wvzLp7djLMmV2TPDlDhvW185Qrpy\r\nKGFzBW+6dTBlxyQFRwbsJcqoi+egXBWvxDxqQ+6G9geeJoeYBVh9HqbCC4N+\r\nCr4lGW2O7Mr3hU+RMAOhAUSKYFikJgpXYqy5aU+WKH1l+Ta3KdqSJAWEJwaP\r\nDptn4nYExOtl+pwaowEwdKC2GnaiD92qussB7G9RE9Ze07dLDzwkkJneouGZ\r\npk04A+2t7Eg8ojr0u6GSjve9aI+bAlKTP6jH+5kQ92xWErnrMjs8uHt1bdK1\r\n9N+ae4uGzpSCKXlHp40+XhF2QtuA/99PHDuiB41e8C2s/QSpL7IrmuXM0O/4\r\nG14Ekat/DmeGn6RBXHyIAo0vVSxw9mVU0hcU1FQXn/KuaWdRnLuIaGiJClyz\r\nPu+RhN+h5w3xYrgXCzeH14e5dfUGkiUwRBM=\r\n=mmgF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"72b44fe55689bb591aeaddf242920ba73a6e5bb6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.e8912fd37.0","@material/feature-targeting":"15.0.0-canary.e8912fd37.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.e8912fd37.0_1674757758487_0.17064543723622827","host":"s3://npm-registry-packages"}},"15.0.0-canary.16fbd30ff.0":{"name":"@material/dom","version":"15.0.0-canary.16fbd30ff.0","license":"MIT","_id":"@material/dom@15.0.0-canary.16fbd30ff.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6c96a6eb3192f27ada2c884bc587a4f79852fe45","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.16fbd30ff.0.tgz","fileCount":28,"integrity":"sha512-uSOflqxDCEygCb8nPbVtVa4hnIK4lP+QjkBL9QcVUAHI8HSBcBJrAbW3B7+1qtX5Cqtv58SECI5n41TVUV7b2Q==","signatures":[{"sig":"MEQCIGkLN0XUcf7UOajQjY9CVheBtjesP47MGgHQk7T9tlkuAiAU1sB1wpcIQZSNrVLJz3OlNqDLUAAOEf6dATri8SB6sA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0sexACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqScg//ewOaqoOWaYap7s8fhg0ArpBALMDC+nuAZjWJLUeiG/FX+4aJ\r\n+BbKWDDgDIOUuzHEDmvVz4XQD+zWNvX/QeylNJZnMKSrEVvbj9bQvqL4mXX3\r\nR4mCv1HwN1jJq0jP8wE1A/fxAZbCx7SVvD9iL9Bt28GmycgNFkCxAKX03SDK\r\nbckoN5efUQ7wch55QfkagS8DP6Jq649h8nnZfj1JSN4oxWVDIXj0ulZXvYv4\r\n8uDEXgbP01GIM4+gbhFqc1Xg/mVYw83426sYpW03zBmLHJI/KZzuIkGNSfe9\r\n3OTEafZvCIfqfsvVOfi8b7xKnAbwdpMuZdpJvDJwK8KOM2oKRzo6WzRC3BL/\r\nRJuDU5PLVnMd53JKg8uHiisemt+PJ2brVWUXXY/4Faav7bI/UgnnYXcMf0Az\r\n6PNxQ3EuoibJj7NHzUHdz7GsYSuuiP7XABD1CLWVlqrl7Fx99YfBEN+JI3Lr\r\nwIxfQ3uejbcrZFk08Ff1y3NKIlZBRbego9xrj7T3QXElpIK7dueM4JEdkivE\r\nxf2fd8jDgv/bQqpuQwmEPEtO9PN/sK7hpTafrQndWTIencIXUAsjRBuOFUbX\r\n8R58OE8V8k6OWHhi08Ig5RAz3ra9mG680YbUDt8e8sy8XqUrxZNv8YokAu29\r\nWZTkddirtmq4a7PSVgogbFKxJxgvw0RSOBc=\r\n=zzMR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f4c39ff05bbd1045563670b4ea50b0be51a91d01","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.16fbd30ff.0","@material/feature-targeting":"15.0.0-canary.16fbd30ff.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.16fbd30ff.0_1674758064978_0.9524456438510425","host":"s3://npm-registry-packages"}},"15.0.0-canary.033ae083a.0":{"name":"@material/dom","version":"15.0.0-canary.033ae083a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.033ae083a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"60565d8720d5d723da70466bc6c7c7b138bdaccc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.033ae083a.0.tgz","fileCount":28,"integrity":"sha512-J4t9SOf14oufnXYVjm4XBTW61xF4I+C6NI9LabTEI4iq5bEYuLuVRGjCiIFZ5IvAGZBfAa1EOXry0BI/3CK0MQ==","signatures":[{"sig":"MEUCIQDxiy6O3cpLvKAasMzkAgYn1Dx4kf2zE3lhwKL7F4PuhwIgTMTmGQxOx3xH0w5e4Ye2ceHfZ7jjqA+r92Dgme/74K4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0tPgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoksQ/8CjBlSWkZRAr58gmqwiCVn0Fj+Tj85qM7r0BxXyJCd9rOJnYn\r\ng6oXCqG5Okfxx+kpZurjln2FGYIrkbwSTSVGGGw0WOT+trp+bi+HqAiB6E0P\r\n2yGbNp3liw8fs3xwYDZUg825Lsl9ErFxEeS4mkH2I5CfiDfFZJwe7ge88Sys\r\nxy2YWCtAO574qdwPRXUMQ6bPWqHPRNlPyKRVg+HjsXqqH8J6W/l7WlskWT1A\r\nbSNZDnOXPUqoaqWLYIBle0sAJ+wMqZBp7vhkwhKrptL3c8WYCrtAZjMRkNtN\r\n2+CqUT7tCxzMSoV8CVkvC5T4bET/JLT56wzShrw9fjKhEoRRw5tBscgvbQGa\r\nUuI/j6Jh8HJqPJeRoCJnbKGOM/eYgXe3o0fk/ZgPJkOVnWgd6nVP3Oz43Pet\r\negybJR7InNhICL0PdfN4BaHxysPkSFg9W5IKFm9Sblyugzamao6fwSaBSvp2\r\n6WXZd+ywDj4XenrlxqZh+0UPtowa74FAt4um25ad71JVuepyh4sqsWYjN8pH\r\nmqUrwj/W0LWuivN8LbDr6YFa14WUAMzoWi04w6vnQd07YDB6gEMyTO1RfI3e\r\nBrDIUuuHTS/yq7soQdZIjGYAE29PJ1yl3OJU9klv8PXn9CNFeUzCy46HQCnd\r\nyg0yGjsqB3XuJePfdFHSUV656pgnO5MrqbM=\r\n=srxH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"89ca938c110806d9150a3889a7d25689661c2fdc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.033ae083a.0","@material/feature-targeting":"15.0.0-canary.033ae083a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.033ae083a.0_1674761183982_0.5416617224323059","host":"s3://npm-registry-packages"}},"15.0.0-canary.3a705fa1d.0":{"name":"@material/dom","version":"15.0.0-canary.3a705fa1d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.3a705fa1d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ad53b5fac86bde83f1b7dd989dc677aaa997d0ef","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.3a705fa1d.0.tgz","fileCount":28,"integrity":"sha512-oJ17JjeeAI7prbEsDMLI78WYvt7GpYJahXnGv5pdsSka8S2Trc5d9iBoU9OUDgPDX9PvOWsdIa/dA9HawTp9+A==","signatures":[{"sig":"MEUCIQCM9+J5mAO9j5jMgZ8qdrUVU9Vpf+2/lIhWnGTObcNi/wIgHV9Vhy67rZNSXBzfq/j0kYRRXAsUdhFRqcj/wu0250s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj1FN/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmomIBAAlaRlIfVtQAQKyYygFijQ5mpYtgqFwlPgiMRZwSxm2svD8bUF\r\nJAvYyu5D9fAw3h/h/9aXfxpQFahxTXSoWjr8MaecVfb/3KuAbGxqZ4HJnOI0\r\n2GfOl5KgZt8iLv3BXWHWL+zFNc9hOqenTqG2uvzfThrJKl6Mx3vf7wWa7Tfk\r\nXCcvrI/JKTa1EIRgEqUIs+bF1iNLQUI+jZ7fAD39liyq6EW8NS41YMSZoZir\r\nB9JFCNmoikfuuvMpMJRvi6z6uI6ivlfUJdHy2NWVoyzkqVsvOPitNxburVOw\r\nZJQJvE3XSSk0W6gd2BvjbFqSWypBIeY+C24MG+5EtzgnlMsvHgx4jpIe2Fty\r\nPWpkWlzLzYACnBVzijgpLa/Oo24ZEAffWqN3/IA4ldgBb2TdtL0yLLze42V6\r\n+NMeOIDwENVEpEFsKqIR0fHCjFz6drRLn2T3fVlEiWFQZIPUMtBCi/R36jXB\r\nWKcSxXfJazFOLuDZMrXcI4++7Gtjv4b4aN2yc0NkrFonbXGVIUNvdd6EgkhM\r\nyEIl5oCehaDx+MsnXg5Hsjo20tq1XEB95d/J7sO7gVLgvxaWcMPEm2stARUZ\r\nyVTTFUOdhsuA0da1GJ6/af8nbtxfYxbiv0A7s0JtFLbPRKUE7DO8zyb+UcS0\r\nDZJEDSuOt1AuQEE3PSTd9ZpyuTt7HFA6Z/I=\r\n=yqyu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7e0f3737f51c1319f66762d8021d6aea33391733","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.3a705fa1d.0","@material/feature-targeting":"15.0.0-canary.3a705fa1d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.3a705fa1d.0_1674859391083_0.5245253946273816","host":"s3://npm-registry-packages"}},"15.0.0-canary.d6bea2ff2.0":{"name":"@material/dom","version":"15.0.0-canary.d6bea2ff2.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d6bea2ff2.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"828311793c65294bd6fba33fa38ae1f417c3d522","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d6bea2ff2.0.tgz","fileCount":28,"integrity":"sha512-iiR4BcXz01zqO8nPWtTI2EuOpfXKeF1fZhTTpSzE1s1Al0AAhwNfA3mFifXasoR5Ah3l+YNWd14gzepnAP3wUQ==","signatures":[{"sig":"MEUCICw7rLk7vYQ3nbj4vwoU7cBjhKZgUJyDOZ+02ayYwY1bAiEA4sMO4QaggD14NOGil3AtOurutQHZaksH5tcTOjSVmbg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2TPdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq25hAAgBEjcD6Lmnhn3aAEEvBGeAhbPYn3DXwpcyw1AwsX61BlpYkq\r\nDUq2MydG2MJYalxfy9lGRtDMSoheBy2ElCYYvpfYG62FugD1V6S5GXO2r7qM\r\nkAWOnk7GJRFkrFZ0ZwaQQN7FqM/7EcUry5VPxw0ks+SVdUqclpsKO+/vZ9Ps\r\ndV8rRdRdhER7l7QXTg1GOsYwsdxixRTTDbpqRW94ni7WYBX2QFUvi/Agxger\r\n1qu10ZBfpjP25RZeuyWuksA9NP8rv4/uV0suAmSSlXcWDFgKGucAFVI6EPFV\r\nM5LmZs9zie2J+a2CkC1jVHusUqPEWmdfxi8m0pilEezx9liyv/KQURB4GcMM\r\nvxTsQO2qvt6XZtsWev3aX5rfJHIcKAeylp4664jdbQ39svr8+Vu/n50D22/w\r\nwF81tu0iEIM05xlEuH2mLJleULvexq4m85AEjk247C6Qs2gGBvgyrFGrDkCK\r\nP9GZ/gwI83+9viT3zT5SyrZbcWLZIX1XKKjWJvsuXqhsU57iZouzqpn5AFzN\r\nYdh4X5AWiqaXN+kYUT8XNc7hi8UkaaDUxIjE104tSjPHrRH1JuPDhFz46IgD\r\nb2oDyM8xpmH7mg+wKtMWW1XFMAw7X25b+D8k6WyvExkLOSbXzYxfT1qOnonb\r\nKWsZdEy5KSTu5XrQy3/I6Hs665hHXDtnH0Q=\r\n=Xv3H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e4210a9f21a7e6ee007d475d5bd7e229dd7bbc00","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.d6bea2ff2.0","@material/feature-targeting":"15.0.0-canary.d6bea2ff2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d6bea2ff2.0_1675178973032_0.7564909692461608","host":"s3://npm-registry-packages"}},"15.0.0-canary.0c94182c8.0":{"name":"@material/dom","version":"15.0.0-canary.0c94182c8.0","license":"MIT","_id":"@material/dom@15.0.0-canary.0c94182c8.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f38ba91719abc80c0c7ac91e1a57b9d316b2e59f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.0c94182c8.0.tgz","fileCount":28,"integrity":"sha512-kOFkqjaGoojsXKQKlA6CKbF5p6sSFBp6Lt2x760Ja07egNge9ITxRLHnCEPgxSCUkNlHBA3NUoP3QzpPyzGIAQ==","signatures":[{"sig":"MEUCIFZy/z6ewaUrPSuINy4CsrXHJi89oZA7U9sW1c9AyWs1AiEAyfs0vA7xUx5jmSn8ieKqI3HlqOS8vsjuC1LI1OWER1o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2qTMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/8Q//a0esEjUJ6zJdILKDnes8fyRZlSd4zpJ2M6Znx0bMCmIwtR5X\r\ne7s2n0ZO0bMWB0q5j7qS5ojhoS33JR+uJmN70HjVSA/FVG2KCeizsx4VKOHh\r\ncosjSNJWkPZvawslpAMo5WOViZrmsd6o/kzadXREtIA4ElSphoFOk9E1f0Wr\r\nbxeIXAEm8XyczDHkrxN6EErad9m7GWF52X8fKsWV5QhGFMuprqQW8Qqaa7yx\r\nWww+dydLwXARXJgFWV1opnl3ajj7zUgsdZKsJMJzqJqzM0bLSujPX4OjEeoV\r\nZLCfupBQB1f6KP+hcVqHOdkLCsaOcGXvvdSGad1XTnuAhFz48+R9AzHILbF4\r\nu0hojiyqHNYnTANjdMcvfilOTipBR1iDzHXeZRjr7PiTYotaqCqO8DQCXdAp\r\n4Ay/cv8i4QdvwXtrkj+VOKfpjiaW6QhHtzSixAnItcMl+I3fdDu0YK/uJyVp\r\n+6W+2R6fJAswkeCQizBtxz6+ebEXuHDFIZm5xOYbnG+mejGxuDpOS7dwjGDm\r\nvU4tJ+rlRaNXnSVQdaauTeQr1YyjgWYXmAkzCLGypn7I5yigONeO2ncGfuhZ\r\n3o+iV/XaXBALq1tj0Eo6GTgP60ZSIEGx4B/z5sBlxwcx9yvxU0n4TkrNo/V6\r\n7+4yV96dri9VxEq5Hi/haaExiaDDgEJhrpY=\r\n=T+9e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9e58d1edf6370fb6c26f762d83ca31f928149e41","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.0c94182c8.0","@material/feature-targeting":"15.0.0-canary.0c94182c8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.0c94182c8.0_1675273419940_0.3191634618547372","host":"s3://npm-registry-packages"}},"15.0.0-canary.15b221540.0":{"name":"@material/dom","version":"15.0.0-canary.15b221540.0","license":"MIT","_id":"@material/dom@15.0.0-canary.15b221540.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e0473e74475b048de03d2f4df0fc0637af994194","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.15b221540.0.tgz","fileCount":28,"integrity":"sha512-06fcViaJiyMrTRb4aQWBpRB2KQKhBqlcf7q4AYalXxbflXinJWYL2RTvxez4ZrHMOFjY8T4Pth59OZ/9F9Ah5g==","signatures":[{"sig":"MEUCIDevjzHKhCYqtU0u9aflLZdewz3sjn593x136NLylY4UAiEA/HRMelrAqYBXKykqHFwXs0mzw0/QH5QnmhaSqoeSW4E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2qa+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrbcQ//TnyxSIJ4q8NUKZR1GoN9Zh9OrtIXrbfqBtwTF4e4OO9nafNL\r\ngIpRwe9gideDRmnjX5Z8f/lanf/Y32BVCEwKfnlNdnSN6L5HuviATLcbnE7e\r\nf3ldcMZsObLIXNkC4mPZ4+kHBKoBoEz/7oSx13YWNCiSfpqYVELbUalOqxKF\r\nMzRLkA3Mxfw7205wfKxvsajWDKK4x6T68L+eaVkHLCFfBua4YRiBqfCEXFnz\r\npE9AY3UHvGHcd4bN6fauYeE2dIK48SqG1vq/4crEu/T4mubLENIljshTmrTt\r\n88IhKs8P6koAQJLr9Y3LVioCBAGPSnQoTmbh0FRPpdP59rtt7WjPlRUy0mD/\r\nYztZSNuOIq5togRWT97DIt2gtlzmLrffSpvwNe5ZiErVxDBjm/9oEdRdPF1i\r\nHHRp0FMofD8wmNVluGib9mHPii5cErOxyrrQM0qjPprc/HErcoFGMo6+4Gi8\r\nLuIib75DKZvb2NdK5e1tk+nU/z/W7d/6pD6RzuX0VkuvQQQFE1wgOwoBUNbe\r\nfubbyNIP7RWLPZKICZ4KUo392oL7DN7tSBekM9xhCSa9XD4ASsydABZGwR/I\r\nR4NmHGAJ6o51mtAULJWWqtDCc3Yz6vPGx0CSEQObnZbI0fKjvPBOQplARPfG\r\nWYjTFi7OsvgnNLu6tCVasLQdlTEIIQsR2IY=\r\n=QQiB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a4bc6d32435d33a7b99197f32b85eb0b730acd30","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.15b221540.0","@material/feature-targeting":"15.0.0-canary.15b221540.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.15b221540.0_1675273917913_0.5032947085930526","host":"s3://npm-registry-packages"}},"15.0.0-canary.eeebb8bba.0":{"name":"@material/dom","version":"15.0.0-canary.eeebb8bba.0","license":"MIT","_id":"@material/dom@15.0.0-canary.eeebb8bba.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"592e408b520b2d9174b50591f06293530c3256cc","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.eeebb8bba.0.tgz","fileCount":28,"integrity":"sha512-WzxcZE9qMjtcXaNxjbrGvPA7XaTMVP8MWjMgpsq9NPAZaStt/ncVl/JgQLn8i/V21k3DIGrpfFVPrwclJRFEtg==","signatures":[{"sig":"MEUCIQDQ5glTmbru5AdAJke8Pq3w5Ehr6vlCoGvrSi9/dLdiNgIgf2TZd9YL0Wgyc9dwdZL+9FqCHwD8oAzgQv5fmXWzFQs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2q25ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmplIg//TTpToNFlT4kkvxL5YYcicmxffgOwSZsO1ra0coXnMbU2cYY/\r\nY4UeqsEuLGSlUEOqbE5ARN67KnsieDulFSlKwlqoIY6JiZFvuceCwGgdyBPh\r\npj4xus1tHfkWXmwfzl7DhORVL62U2kb3Zx2FBOTX+2hC2p6knO6TczjW5XzY\r\nyDZanzv/gVg0Mk36etIdY9O9SPPjGPDblGUnP9fg8wNgJDqZ/fkDVUUbgQOr\r\nD7QlW1QK9fY5UZGjhrTZzKdo2dxQQCWUeFlEceipUgoUWeNUgd0MHbyo0Vdk\r\np25Of9I8G504onGYswe3mp+OqpduPlX047Kf6/8BzoeOKy8zG0gcRn+4nI1R\r\nReWNs4Lx5exCLkqjVvPRk/nLMyy/w2ePE8Y/TOngiLINGAY4H/2vdeVpjSLa\r\n5JXpT/pc5BnqZGozE8Ji+Wae9W3ZZBulde4aH3WX98VKCG5HxkR5ZwT5uhnj\r\nJUGnUQqBDCCWUZefuF4/TNaF2KPnJ2lsCuTxHqZv+d8kHdwQTXtlu1vqfooi\r\nSS6GMBDHGx7S4TB1F9ZiIQ2xaTXlcrvcq1j7kFOL+m811oGecidqTZ1j3QlC\r\nBtTUUDWFQBUWa96rB7z719gIXSeWOnjOrHM0TCoJAGdPCxtQUlC9HteSYMAm\r\nQrupX81NcwPUj1gpkIrof4BGYCTmLpDWc18=\r\n=WYbv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5c8d0d2ef793b8bd564888fdde6b97e8a2502cdd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.eeebb8bba.0","@material/feature-targeting":"15.0.0-canary.eeebb8bba.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.eeebb8bba.0_1675275705487_0.5780130853501628","host":"s3://npm-registry-packages"}},"15.0.0-canary.6a4b3f834.0":{"name":"@material/dom","version":"15.0.0-canary.6a4b3f834.0","license":"MIT","_id":"@material/dom@15.0.0-canary.6a4b3f834.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2204a5c21f9d57b2aa9ac51a34f10afd5597d0bb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.6a4b3f834.0.tgz","fileCount":28,"integrity":"sha512-FOt6YHxUuqPIsQG1615cVxHidf+oQyIMUzXbvvtTvZJiBn+ACafBZSiiQypOouxhxEPFGjjC4r6e6S3oTcRf9w==","signatures":[{"sig":"MEQCIGTRhKkGSjHkoHZxjcptOB4RZpERoJ7FEe1muGTeRhlmAiB//rtJA6FuFCVq2oludHbh9GEqa4z3tQPnrQezitQk/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2rYrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoF9g/6A2Er+nzoLUHgS9JqaQQLkH6fSv/IGbF25zh1aWGdzatxEyng\r\nTRmv8LdVBAZwZLy8HgbYP7UAxQr+Dc/Kvbw37SS2QfzChdwXjr36k5SOp/Pu\r\n3+s8gPgJygvqFJHBl5oOB6gKv17BvFfksQwXJ+0aO/WfydoxAXyQmmLLLBtE\r\nagypWlHDzFdMvXZ8XrfoR517iSVesdVIL+m3uWevQwViVgIrz6In9lH3krk/\r\njBzowS1zy9Ki5TZMvromiyGutcXO58HzwASwNgxgrzyh6hhUMpFxfnzddPWu\r\nkKdvOD0oQouAaLzzuxroTakfbC/k94JTK/1Stkc+QNfUDvGdjEBEQ6BtnjvB\r\nXXbPoTGcTN+8UJhBWFxnCc3R+bGHV+MmMGxErCf6+v74Wa+cCSGW2OSqfJtR\r\nqzrPnb79IBi3bZPZk3VjUuqtKDkB0U63NMn1n/joDJLPxbrVRl7tEA5gY4aK\r\nrhWLNwtTQzVUvj3E4CN9uQRgz62nV7HJE+sW+o0XWeX7MCsluoSjJ9C+L9Yl\r\nIA6j54HyauIJszuIPNIJNPqKm+q7CEl/hNKZb+mzvc3GO8/BSoUNbDR9Wlxq\r\ncc5VtmGVSBurEpBy9ibHkszp+ruzogkyagGjS7Z8tohmMqZ+WZLu26ZgpccI\r\npoDTR/CLztsCc4zrbFjd7hnS//J6dpQb6ag=\r\n=4kGE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b1f2d06637869496d98898f4cdf709ebbd279ed4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.6a4b3f834.0","@material/feature-targeting":"15.0.0-canary.6a4b3f834.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.6a4b3f834.0_1675277867736_0.4795719184133189","host":"s3://npm-registry-packages"}},"15.0.0-canary.b177b40e2.0":{"name":"@material/dom","version":"15.0.0-canary.b177b40e2.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b177b40e2.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ab955bc9b152e9b14a04d7881a56542a98915535","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b177b40e2.0.tgz","fileCount":28,"integrity":"sha512-Qf0kRXU+Er9w2BMP/q+OzP42rNKbP9gHXCJcewF4u5R8imYV2ujEvjiihxt9Mz3u69VzaMbgiCrv2b6oWeqyuQ==","signatures":[{"sig":"MEUCIEcbiQT979kkouxrwZYRY3QrZ0Rjn3eSW5uAQmj0iRivAiEAn+emwkE/UB7aaMsTIoG11sgTG3gSXcGNyQ2r3M66lwU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2y8LACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKlA/9HbPjy+rTOdz0vteFphvqTGWdoJbcHXcriuJnVjECE2f1K8ur\r\nxPfjWj55MqprZ48JnE8bxN4IV/f9bIcQHuzx/orVQXJTcnU3uTwZCeMwFRwl\r\npZh88ujQncHraFcjNGeWKHnotznF44eOjCoDimgOPyya6l5NxdWJm4ICdeiF\r\nxiqAU9arJZJzEC/+x5UCZ0x4MzY0WODWzS0P1jSEzWIiwIy6KxUsRKPVEOEh\r\n2DA+eTMFBVI/WHx8uGgior6cA51XlD7fdUM2/vmL5zcJyKEJ0Lq04/PgpJXg\r\nVBrhGQ3o2z5oeGhtNeaAwitSxvXbeMRT4QyQQVTz6AnHxWkFxmK1TI33UNg5\r\nFZLHIfldGTKr0OtVxtj6k1sZnKcL1wAXp7dmG1KPBbouLCTLiyru7fCZsdu5\r\nsaO+TAj0wJNEdpsCF+nxW3d9lA0yEoJ2lKY3lRuYV9CL11pVW4tnFDy1WUrZ\r\na4DrtZwXIe11KeOyWUZRx585Fxl0YVx0mVitu2rZu+fdGmW5t0Zf6iDMsTb+\r\neD8+2QkTq4KhJgzD5z84lAAAR2mX+qGuD/mV4/HtkZODYS7C6uQqqzgz13Av\r\nbCTbMEiqJWYUKfThROS9wSvjFPjS9F45LIvkMMhOJ5yEBXyU8/m253F8AQl7\r\nftVjJRGtsq1bVDh7wE4oy4Np5Au/jvvOLic=\r\n=XQHH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e3b49a7dc72f9c88710ba68c63d4ddce56a58fe7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b177b40e2.0","@material/feature-targeting":"15.0.0-canary.b177b40e2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b177b40e2.0_1675308811322_0.7216388847056765","host":"s3://npm-registry-packages"}},"15.0.0-canary.d9f821042.0":{"name":"@material/dom","version":"15.0.0-canary.d9f821042.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d9f821042.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3db13bc8fa2d7b879908c9fe73a6d1ee850cc62d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d9f821042.0.tgz","fileCount":28,"integrity":"sha512-3F3T3V7mSnpzk7gwTPGiOyWXTrElQfNEKg9s8S+nS9ewkaQ4Qx4mRqK/5hA+66zPmVhGSufIqHUT2ThHzoNmTA==","signatures":[{"sig":"MEQCIHeq6kSMR5u19HHOVTfMz83K+lUx4ut06swlG/mdkvBLAiB83KMBYDdRL6XtNurM7XrFP483TIQ4zISXakJ4V+1opA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2/TGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqnPQ/5ACsXoYolUipBVLDSjNtOXOwyLD81bi2LOgEy/poIp/RlAm/Z\r\n8R1hFAaJmoGtYtCWrsfDOpdvHLUUqQJQd/PRptgXpV3LvQXyValaHa9JsoN2\r\nF+0j12z4UR8osBTO2LIIrQ1EExlSTU/tv+unuNdMyPeYcO0pYgPxZ/DNzDVA\r\nGyYofTVTBEALkVRoDzk6w1BPi54JNqf/rtI8B7yOOfKsj9zRDUqSkV7jx+Ss\r\ndWEobTNzTiqsnWQq1sv91aV46zgAgt//S/6ViVZLUy8ysompIJBVWk13jEBP\r\nUE0Xv2mMid0g/zpdv1IhCjM5yjSOFzY421emh8niQatFv0u8noY5PXjfUdOp\r\nZQCqHtBTTboMzeCbn83YJQT0Up2iWdiNiSTyRjKdS3xnX8G+/zS87HSVLEO4\r\n4V9KXvOQHgj+JSRVodW8OpcrC4rBvdPU6ASI0ZZKFogyWOp6sVoveIYhsn+B\r\nJXnm5/g3KvIw7+cLH+bY0WCh+koqg3vN723IvV8T/nWL194AvePO7fM7ZfyW\r\nQtqb3EGWaVtmWDKA0PbIjMO9jwZX6YsvMR/qbSQrP25E5Waa8PkYD4mrX0p0\r\nnlylEWdPrz7KuGddyQ8jBQ61h5qdc6l/Ciw3Ryv02xNZr2fjKnmKjt1Pul1P\r\nvMZEDpKg717G/i6XSP00PEI9kvB8l7e5ACU=\r\n=7IDk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9748fa2e1dd5886715f422f644830717544192ec","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.d9f821042.0","@material/feature-targeting":"15.0.0-canary.d9f821042.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d9f821042.0_1675359430618_0.7482552867152494","host":"s3://npm-registry-packages"}},"15.0.0-canary.47c7deb19.0":{"name":"@material/dom","version":"15.0.0-canary.47c7deb19.0","license":"MIT","_id":"@material/dom@15.0.0-canary.47c7deb19.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"02b100c1ea7b625374925af72ba7415b0a8b6f18","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.47c7deb19.0.tgz","fileCount":28,"integrity":"sha512-yH67gMAUg+fcMAQaQR2hZC9cGJQkAUgExBjg6G7e/v6Kvk6rR3U9Rx+Shjor2fKjEgV0zL03rCf+yDEDx9OXxg==","signatures":[{"sig":"MEUCIQC1WDFWgCQQrtFJ7E6e36GDWKCFBN5dTagypaio29Z1OAIgWmDpTv6plmbv9q6TU6V2mYcgcoV1RSlIGr59ZJjeUzo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3M8LACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr0WQ//bGLnSraGy/ol9qHVQb+BDlz5uyIHGe0imHvFda7xEWxpKH8f\r\nH4dNzmaaD00+9dhBd9xb1PBEhdpWTQgfU2Li7YGuKmGZh3KWxYxxyci2Vgob\r\nnbUphrqWcJhJACOIOzlvEKUl5NaI6BnFWRtjDKMUTMuOCTIn9DOb956CA0yH\r\n3COPs2K+/erCapLmgMk5iqvzydFhbfHwCptAi1tdLc39XLPy29zDuhbiDdZl\r\n9giEq637QxfgSTSZYXwy/7GuB2/KVgm5F9X9bj0uKPuO6S+oEEfrUOshORew\r\nmkv7/GoOdEt58m0HUIokSnzOfBcYLXSZcseizq2p29r0jFgNNXYbpgO6jVYf\r\niIIfQj1syQQJmpZKdFxGAm3mO/k8n+M8so7/0WMqUxRAo43ACOsKdSW3tmyL\r\ng5vgfLvEqu3nN8MdLTMh2NKNWqHRy8nSqSRK3GOivE11Vp/11Vy4ZGfbqOH4\r\nR/Q0C7CQr/OWTsuT9TwAfeUrg6bmpiNBAohQpe8THhpFmZfxVOOZyN+XzRm+\r\nvm3X8C/0L+LlY3F82jiDbTiN8xI1D271Nvw+QACktX8HRMMzFVJ3RnFOs8HG\r\nm0H5BS9T4R8tKxlt125yC08tjI8AvpqIDRJnv/Uc3s/IFtyzBDkWYVYWwwHl\r\nlvYufN6cMrfUy5MI1wZFNOIHABjQclaMCM4=\r\n=tHps\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d5a6886a0dce343fed87311107975111f62309bb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.47c7deb19.0","@material/feature-targeting":"15.0.0-canary.47c7deb19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.47c7deb19.0_1675415307112_0.7906879801137618","host":"s3://npm-registry-packages"}},"15.0.0-canary.a16dbd1a6.0":{"name":"@material/dom","version":"15.0.0-canary.a16dbd1a6.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a16dbd1a6.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"494523d45a077f708166a0968a8b77c65efc3985","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a16dbd1a6.0.tgz","fileCount":28,"integrity":"sha512-k/RD2WBtdp9kP0fa8PRC5jr7asJ81RmRpWFZyZmYyH4rUHM93yZAq8PqSAG1ksUwSdDGikKBXnZ3qJKTxQWo7Q==","signatures":[{"sig":"MEUCIQDeVZUDid+uqZoZ9bZQi0frBf0wOrm9nCgXjbfmTfOkhwIgfnDE0gw/Wb6AtsggtRoVHVfAW9aYVwGB413ygIY+Zqc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3ferACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEgA//fCJBnPbhKgDbW1dNp+vq2GQ98aquf+lgBM+ZVgvgZuEZrvB/\r\n/aQzO7IC1xsUFJa0xpnLBtcsrD3PnbAXD+TQncZqRRoN1kkPUzJVY6/8HAoO\r\nqn6yxmO9P/pfLbTC6sEmC4Pv8pz5zhNaTie6nXEM7/PwnMu9XKt9a15bpv2H\r\nvBDYbbSN6eI5KI/ZzF22haicDeTjkpGDb+597KZZGJ2cIO7BIjB/AWWeJzOR\r\nVll6qMAy88ap6bec3b7okEItQq7soSUKY3LTECoq79KGKXLCLwbfNPjLHW+D\r\npHp2wg4uF9KxfY9nwJ6BfU4ZqUX/T+VKnrswdye7LNml3PEs/nt/K0tSgF5s\r\nGZQ3iD8gC8t8uc1FKlLx84n1Qw79PiIIPAwAAaVQ7IPhOVVlgeXwtjnv75Zb\r\n8P4o7pJCC0wDWVtgdSosRQD/9nR+GNHrmw1UfcjP0jZRe3ZXzINxliqFWaEA\r\nm6wuhYPhODM6I+LhL9wP5p+q0jhO5rSO8jPiWTbuGmk54fx0Hi6lypjbfsvq\r\nkuKPULQf9c2MTN3Fxv00TDgf4pSizARS0+GazkLQssNG2bTTuSf2b2Qqhi7V\r\nizg9fkoZ75wptB2lUD7OtRMc2Bwmqtb0jcyPY002XfVaTS+XA4PqQYr9MYQA\r\nYExZ1SZ21eV5ORkpQzaFb/3tBVqFfYmPFH8=\r\n=tP96\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6b1923aa24f460ae50c61296787e46f524bcf15c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a16dbd1a6.0","@material/feature-targeting":"15.0.0-canary.a16dbd1a6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a16dbd1a6.0_1675491243632_0.07282651189644174","host":"s3://npm-registry-packages"}},"15.0.0-canary.93416f87a.0":{"name":"@material/dom","version":"15.0.0-canary.93416f87a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.93416f87a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"abb347ad47102f441a4ecfbd66d360bbb1f59f73","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.93416f87a.0.tgz","fileCount":28,"integrity":"sha512-Pfqzoui8gHii+pL311uS8e41zn1iHqCpjkrecwMM/ELMZifHLkL63fE/y5zCZlCbuIxlO/JTzxFtRGiqidA8JA==","signatures":[{"sig":"MEUCIHjLY62ORmtJXc7e9IHIYa2qh4k5wsv9Osph1Fll22X+AiEA/zSPZnJMcS/Lo4Vgnbjd/HpXvzBsDOsETdgr3AiAzjc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4lDSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpIWw/5AOVzk9cem357GGphdbw5yx6hGUjB3DySTqv2EXEnJZ1Sprg9\r\nU1aI9j0zihiP1LpemUmt9hbLPMporWSs6qByNiWUjQhFLUs3Hg2smNLnkvEb\r\nguNQK9Tin8sSSnhzWp+hQ+CWM8UMy5OOfav2PWTF6Bhseh+blEW4q7At8nxX\r\noVg+EHQ71vtKL/MuXonvljcDj0IZXl7pjH/hg+4htVbTI6tRNKbaDr4Yvb19\r\n7gM7BhXN1+GSWn9JPUOi/FNr/Tf+yTbt6D9RnAEzCu2C0r/Hd/w2LtOXht9P\r\nqz8Kc9ElzcsVT0Mkj7yU0HR3AEuRyO11jBafGoX9eeG8i4aU/GTL7/jU/XRs\r\nJrSmR2xwfXPoKT3mahzUtb5F17aMyT+Nhdsc0blQhLPsLwMsjLILuuw6fRW1\r\n8Il+6aF/3Uz40tVhpdWIT2uPGzBRJWuHWuEj1J1elM3V4zkauH/IPejAdj80\r\nO4t7WfzN7asHMWpJEeZsVNSoOVfsYu/X1PJL72wlQUr/beNARb9KAzRrFWGE\r\nQHyv4dU5C4JR/KrHWcfUcYeTZNO5s559hoSCjcPgzlZht+PbRHwa/9V/+kRX\r\nUCqs36puVN6uGL5B1gLUydyBO9cMMiCdVd+PkVA0SkArnXsw4NXNSB5DdOf7\r\nwbU4ZUPlnSWX/LAvvn8h3uySe0C8tF8SEis=\r\n=B22W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b9f82375a462288f01ce4e4efe6047a3fdd9f9a9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.93416f87a.0","@material/feature-targeting":"15.0.0-canary.93416f87a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.93416f87a.0_1675776210071_0.738745187284098","host":"s3://npm-registry-packages"}},"15.0.0-canary.49b8e7442.0":{"name":"@material/dom","version":"15.0.0-canary.49b8e7442.0","license":"MIT","_id":"@material/dom@15.0.0-canary.49b8e7442.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8e9a935036d7f38aa8c61b3f24e52334aa2a7228","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.49b8e7442.0.tgz","fileCount":28,"integrity":"sha512-u0nwGcgSfRa1l7+TrkX2XqGC0r5I50/9fxFtFqO2UKuGv517OmdMxSCdCHev8gFWiD8+TGx/DrL8NYs3Fd3yyw==","signatures":[{"sig":"MEQCIEUdP8vKOQdCRu9gZENAyzgryZmvAUdSn/DUjwIWvG8+AiBxbuI2HT10Pv4CZ14aCojXh8B51jZc2j9KGHBEiXPWmw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4toHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpuug//SZC7REs10FtIdpCxgSyoar8GbLDNxuStFdtJ5ieC9LeIUoxo\r\n+rgeQr0EWGt78F/A8CHpXIiOe/LC1tIbJFeHfXWG8u7vDc6toJXw/sBQSitB\r\nffQ6wA4G5EIOALfLSAUHOC/jdjSLYis6Cirimymbn1HWWBn3549/TjoVeLeh\r\nRWGHpY1GFAkhT4VMOB6TzuKcVId/2EOyfLtyXOaabioEfFAatL0eNWNIoMc+\r\nzC/KloXpMShJ5VQo0vSKkyeLKTguwCHrek2hBQ4WOfFOuonn8QHlH/vq1WyX\r\nBtDEb/plMmm2vlDbbf4l8klOCvC4cdZRjr7rj+4QeNOPQwGL+eBw0YWCr28q\r\nXO+eHwV+DdDE1ctML62tSDS5ZvSr9DBqNCwI7PvSQmwEhl4kTJZ2Awx5zHU3\r\njurFZdBJd3WOHWMiD6ORG2PdzxmyIso0RRytiZNW8l/prJTjJthqYw24Hmex\r\nfmHEjpezr1/Dt1//rpf/NPklxygmm8hup/ThOFadePliAl5pz4dI/U1D9V1c\r\nVTVOyqpj34GKC3uxX7A2+bqzY3wwN3z+F5IXV468KucFjSkbzzsqYZFaGyXW\r\njkzvHO79We3+wpuWgsXqMymYb7zm4yYJneUEERl/Jh3Vm7f0JrMxvRijl/xd\r\nd1befO7vSxzRY23MfdkG9RJOoReaonQQHEo=\r\n=pJiZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0ab5eaa3ea130a4b79ba5511e4e46e1f99b9e662","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.49b8e7442.0","@material/feature-targeting":"15.0.0-canary.49b8e7442.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.49b8e7442.0_1675811335701_0.05828768378484295","host":"s3://npm-registry-packages"}},"15.0.0-canary.de38de758.0":{"name":"@material/dom","version":"15.0.0-canary.de38de758.0","license":"MIT","_id":"@material/dom@15.0.0-canary.de38de758.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e67c7e80023dfd000b44b7ec319f5f9fc5f54c15","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.de38de758.0.tgz","fileCount":28,"integrity":"sha512-U0BwHb+LEXcFSS750A//q5XO/PglE5JjkVXnRO9TFRLhS6XdsAE3LlMwwDdec+WLRTIbb+2yxlnCnwcU4neibA==","signatures":[{"sig":"MEQCIFCM6k5TR2M0sPvc2K3YrN0qjTYHF5wV1OimBC/IHyCsAiAXBCnsvZaMkWFIE+HXz5aDCMoYACJGcQiJxB3Bdf8DUQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5RQ7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXdg/+IpeOEr9hLEGC19Gaa1GOfLWqB6uInqaANf049Ds0MfgO3qx4\r\nbSkyQ78urjqT90hHe21lQCI/PwHwemvue6lo8Xyv0ZXWjeo1hAT9g8QnpvMF\r\n8M3Scj8ARw1IeWTAzh3K8WlC6J+aWsMJS0ajtciEWPzrfzJCS2GSQ7d5WQZa\r\nlwuzEnDA2AsVZavvEiGldSAhBfNIutOIb74BqMgEL9MLizIls0i5UaLrND+F\r\nt1fkPSHVk0kf28I3/AI3y74ioG2pwyEffdBam3ZStNrFdXVlhm9n0jKGmHpS\r\n/gTJshXlUiwZ3J5fhVEjvezDGcDSkcNpZ/M8KRsl76aIfQPRTS1S3abcn4YB\r\nlgMWrhCct4C7Y6qyJrfS+wjdD7HKD8P8OBSUjoznma3o61szJq2T6QWwbZiG\r\nJqxR4Vv9n2ucvPQ+oFZ/N14hfYqVC9VnmuvAmyP9qc8ilhNj8watxWTiwTQX\r\nYYAK1ML2HnmWh7OLHBnXarNA1AhdM82pBXnpdHXIo/c98TtHJ8N1zmxu4P7u\r\nLwag6h2Gi/0JZ1lNt6m6cyuiAXXytsXkL72GAtm7t2G3Crhq079h4Azf5NSy\r\na/ckqz5jmrvNRU+gBEIMPOzkllbpdahCTD2Bk5RwmTEiNnzB+S7W89Fyh9mu\r\nCaOUdpySeAV4P2dqoajPBR9rIt2CmJyLUuc=\r\n=9/T7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"72df173af8eee38e00bf9af0ca5a77d5b780763e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.de38de758.0","@material/feature-targeting":"15.0.0-canary.de38de758.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.de38de758.0_1675957307135_0.6879068918471098","host":"s3://npm-registry-packages"}},"15.0.0-canary.4d62de70c.0":{"name":"@material/dom","version":"15.0.0-canary.4d62de70c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.4d62de70c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"823956feff0910d2e12d4bc38adcb57e2fa854ab","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.4d62de70c.0.tgz","fileCount":28,"integrity":"sha512-B/nLdD4obfFB1/lu3u5GkfMilA6CSbC7dJBIm/hrcRPJIy+H9JuvSqjf2Zgrqfcm61BnjQaxR8VteE82Wwf8+w==","signatures":[{"sig":"MEYCIQDEmHpNs+M87WQ0h+DL/gC5xRVRj6FvZQBo/BM+G295cAIhAILbDbUK0z3H09TCUyTQ2AYJ7PB63vkV2P+Q8a5BTfc2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5W11ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGCQ//QMc96IxkyLGbW9iddrrDJhe5pujxUn9eK9mzGkaV8TU13tYd\r\nZ8BbMpbmSYlAxwJWsaWLD/DMZ/6powbkbF71gmXkZNFc0X+oz8VK6WDE9EIX\r\ntl4eb+gFvd1EXXUIFmEh2LH44V+WQOMzkrVMFxfK2sxGYSxJRCpMNSWgxPBc\r\nuA81MiAT5OINhmWVOSad4byecQf52vjxt8ceoB2IJaGn7pmzWBpHLnGRBKRz\r\nSyE82p5maQ9idWvqtw8JT+NumcX4xK64nsXXPNB7Loh3NN/LZyqCSF8bi1Qs\r\nP5nWUdVQ90ajukqT9oJQIv+nBZ9+k77U4g64McYv4N/UHddwZD4kLlBlgZs1\r\nHDoONPRwOKwu5fjBxJG8bNGuTUGGbNZKoKnW7mtaSsNyDNpnPk+lU1U3RN1A\r\n7Reh7MjMuxBSmMxR9tKlQ2ll7fZLKMhUruarwDhQRZKtkgVZx5ZIms/7rX2y\r\ngBLOPcwwTA0kAA82BtAlEbpoymbnFqL6F2qw/FnHlOsGnNcCtN5bSQmiYfkt\r\n3TQNpAL47Vtpjoo7PbfrNbBcyLGNF3ZaSQadCO2mlfjOG+8C0YBO4hq3j2uM\r\nn/TG1rdJeXSNpt8MNX89lZ3CTI1vH9Kbej5cyponhmRVr0xmEP8mCHAuYUte\r\nhBvx2JO7PtlzMEGPa8YYU12UZIptW6TluAg=\r\n=aW/z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d2081b5045fc9871ff56b0d31ddacd235e2316d5","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.4d62de70c.0","@material/feature-targeting":"15.0.0-canary.4d62de70c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.4d62de70c.0_1675980149696_0.1434981247527365","host":"s3://npm-registry-packages"}},"15.0.0-canary.6fcd8d418.0":{"name":"@material/dom","version":"15.0.0-canary.6fcd8d418.0","license":"MIT","_id":"@material/dom@15.0.0-canary.6fcd8d418.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"43587a2b158016b0b7faf04f572762722eb03a21","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.6fcd8d418.0.tgz","fileCount":28,"integrity":"sha512-wwywNYHwxJBizYhxvyp0XsJhRTasDCXg5y2TEKopnLdD/OyPelRXV58K08f1uigwbo9yWjHe3OTABehc8JfQyg==","signatures":[{"sig":"MEUCIQDMt8zai+icA/ERcL54+fX90UTC5C7AbYxRacM6gcCa/AIgENF+YmEDqGX7vub+3SuWnzmVZckkxYJeKu5i+/t0jRc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6iPDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpIw//X8eV3VQq5gP8a1XHxBwNonk+Eno278FOJ/QRjr06DMMizX3Z\r\niA0F5q+dh3RzP8sLyvfrcBcLvry/LddkHJ4K567Sk84e2Z+zs6YsbADa0qp1\r\ncjHbJXl7IWkx2lBvg544JYwyYYTB/UW/mAbBCwf06ssQkLypff+p3gNCRHeW\r\n1kFQSZZk69WA6yxZVF5M5+UZfjtn4mnW+dhGmXliKD5H2H1KmZJUebJ/Plab\r\nOI8Ue0O5cHbiW3xcgtQXswG1HF5ueIrc/L2ugmNz+IaSsxOi0b/WRyUjdT3v\r\niACADcR+yti2X3JtS7N0lenZSoHp+8VwX9Z1l3W+JV51EjF+OdAz/q4VAofh\r\nDPq7XKXKSp+d8aP7+McKyzt0BH6C+uqkF4/lyMP4I0UCrjDIUtnIi+SVdhb6\r\n6Y8fpkyGcov33uesvZC3z4nyzzsf8IXX6Y56XAs4G9pq5kkb0GvA99Y89yTJ\r\nrN0ZwSFTkOqCeMPoQg/pNV3kjIpLUOPUsmfx3Z2/mMgyCCKq7uDBueLR+g4q\r\nVrR7ssFek4tWaIWscfbZIa3bDEte8glU3sHAvFIGMfR4/gM3RukW8Bs6cDBr\r\nTObdn/mqQhEkMuoBm3IuS+5p41Tv4/PWTiQhFyMHDGDvbNHewbYyJOkzN7F+\r\n63HMreAh7pJMMcU7PM+8AIkWjUjbyfbVEwQ=\r\n=I4kX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"39b4fd2a38e7ab9611f614a59dd1694de0b94cb9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.6fcd8d418.0","@material/feature-targeting":"15.0.0-canary.6fcd8d418.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.6fcd8d418.0_1676288963326_0.8844381674709212","host":"s3://npm-registry-packages"}},"15.0.0-canary.066d9439b.0":{"name":"@material/dom","version":"15.0.0-canary.066d9439b.0","license":"MIT","_id":"@material/dom@15.0.0-canary.066d9439b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"91555f704d78c4f190721a8905704d7c79fa85cb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.066d9439b.0.tgz","fileCount":28,"integrity":"sha512-+M7frJbQl5O2A6L0S8N67nNndGJDpDZxpw86sT4WyKykbR9h9F1qt+M/nyCm9ZiQ2bCB3el5b1J+GFjoKonL6A==","signatures":[{"sig":"MEYCIQCxY8vfHfnIGxGA5I/qJFrBm73syECgTu9LENMBWWKSjgIhAL9Cf1xiCL68Sazl9sjadWgZN1vxV8jEjd90LIq7PcCA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7TkVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqgSQ/9E4AEg2ZXwVwOaqgB7BJ/ss8HpiTWgGOWvabr1Xt0I/+HGfTk\r\n4Q8cmCxlsHFfcIESDTxXhqLVnb4+ea2/nez7GHHA5UqH8F/0sZgSbREh2GBU\r\nu44WIca/8UAjXclp+1KKftccIHPExotnnKj67Lye2wbi5UxRJi5/cyMj/4PX\r\nfNTp4voVE0r9uctcjLzH3K4woKO3KaJCCfKp1aLaDG31i/x6IU9+C/1f8jvW\r\nxYkem/xohzvC3SFPdC++4UP5NrvRjkWbTNawHuNx1qKF2ktnFtf61j3xh2qg\r\n63wdWfViPOOyUtpRVxSr5Nxsz5ueTPM7z2c8kLOVadGurQtjdZHztaRigdgD\r\nHdZNjuZYNeBH/N5TzfV2gugMcaesf2r1badL6vjNcYyw8hCrQD9tQo+7Wj7Q\r\n9SSI/xrIVjfAmOQYwWgA+0GB9mt+UH5wm76JsqiceatukuDhTPHRKkQ8iicw\r\n/IVpohQ9gQRJtCTr9nBQ/Q5S4iuUuz9cY8CAac0Qznx8UKjObM2Gi2Ogc/rP\r\nNoTTLNclQE3z73ZnP7y4YlACSawwWBuDSz6fy7H5wYOLZbNlYJwoxn8lqcG7\r\nltlPVLUPgisf64sQ8kuNGLq67DgUOR1EBO1emiiYZSS1qpwI1YnHsJ9XZA4Q\r\nmWnoaMOFRHDoEB74CvUyjtc97o2TxZfpKTQ=\r\n=sd5P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cfeee3e63b3e6330deff033d8054adb710498810","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.066d9439b.0","@material/feature-targeting":"15.0.0-canary.066d9439b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.066d9439b.0_1676491028858_0.9257506796464268","host":"s3://npm-registry-packages"}},"15.0.0-canary.7ab32468c.0":{"name":"@material/dom","version":"15.0.0-canary.7ab32468c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.7ab32468c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a0d8c626985649214643768b304417b68e2623ec","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.7ab32468c.0.tgz","fileCount":28,"integrity":"sha512-hmAts0XaPLTjAXOykZsCmvCZv0WdCThsuHqdea2pdAB7x86cEOEtmxMEvvXthGWnTrLr/ycbaDNN6qFdQN3+4A==","signatures":[{"sig":"MEUCIQD4LyngDeBmOZSkhO1r6bQWtu1Ab1Aqru856Nzac4h/9QIgFTl3J47Hjl0k2JkOZqM3LjIy/ad/vvczKXC7hZ+RtJo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9Q5zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoL9A/9GV6eCLatMKBis6u1JsjZlRnSwB3vjAtiUZCjro1tqhIOVZGz\r\n30YsgZDKTGHcWr+v0GqH2ZlBMso7gTgx/KsmDPCZ+BGYhB2RT9BWT1NrFezQ\r\nf71YnVQkrHbxkDIbWn3JXHnzH4Di6llVh9ftI311cjPafckaTHLCfk1ZDE9y\r\nHsHOFHx+lDvjE5PS4wymtPnylI7WnqyiEbOFb2+vj40OFA5/j4MIiYt0Cq40\r\nos15iSYLJr9kofxkaNoKXRc3VqswFjV5nIJhVrS1j5SRRySbaSWa6yCljZje\r\nheVVppg64/6IekuxPM+ImjglKojmnoHHFbcYY/j99mAywf32MqGCaHxIXtq+\r\nqtJon7ieShGOxdRsr+KVgI+eTJ8ERUiBqaSulMzh9SqjpSLTa2dBUT0GRwvk\r\nrkOqZ4AlpvxrJx2nLiZqXGtMCbA6AEAS3K9r73i9LcJcB4UlStXAlf+avxgG\r\nVBtY6QoWJloda3WZZu7We8hrdpZn+CPpbkX/2CiJ5bdOZ3TWtaJ39ZeoCqr8\r\nrwvCU7hQh10KBHJST3dEUGUTmVVTvjY+kqcFzQQ+Ub3eLLLZ8RVJpX5RA3s4\r\nCpK3PsU5co9z4+k4KGEg855a+2fnHCj8S46/4f33d948Gt309n9odpm9fmw6\r\n9K+hBO3O4opOLt9Yz0KL33Hg+KJZVubRx28=\r\n=9qd1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"08b12f363223d69b2eae5d2719e9ff0da773381a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.2+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.2","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.7ab32468c.0","@material/feature-targeting":"15.0.0-canary.7ab32468c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.7ab32468c.0_1677004403688_0.15658872720724482","host":"s3://npm-registry-packages"}},"15.0.0-canary.fa27ba61d.0":{"name":"@material/dom","version":"15.0.0-canary.fa27ba61d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.fa27ba61d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2346bb1e5e49435ea2ded60b6fe4c442d297e32d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.fa27ba61d.0.tgz","fileCount":28,"integrity":"sha512-oEs7JKB2yu7B3Vb4TC2QzhFAeujRMaPoTRd2CT/L7GImGMkS5BDVWsJpDwISwa9oH5poaIF6yWY6BEHTr3CJGg==","signatures":[{"sig":"MEYCIQDiPjXP6OJ5zng2yFaP51jF/k/S6qvIpYm3GTKYf8VFnQIhAOlw9Knr/6yiUGvFLjanUpRPonEgGgJgl1d/nVaZo1yN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/NfnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp3TQ/8DfuMPgMCpAnZUWj5U1CQ0EuSFMr8JL8iMfTACXlrsPuvBl41\r\nUHTqull84y1xypJ6RnEwReU4jC/XiXn/RGWDftu4K/D1oVb3b3PqpHQCFcu/\r\nvxlFIhmDzUSKSmLnFV9nA7EAZx23/r5eEJNFoKVWdalNOzf9Ivvjp4Gn4PS+\r\n6xlh7UrGJSf2UMoWZncGu/516SCKEu4XGZHKWtc5jpVropAhV2Lov8+dIRjG\r\nsma4kTdqxRqzoQ0uiSmHAbkfTqvtbnLWRjNtYJYQkguSzDgvwhQ+V1a5VabS\r\nCbsbuw9aXMTLAV4jW/KrV5NoialoBDFa5JXGIXJDpiPRZ1usMCjZrShn0W2i\r\nRnXKUXLRUaJPJRA9J0f0lAO94d8VZPsJY6AJGCkNgR60ejW3S2mHTsWI8PIO\r\nbo8mYy8a44T5mTLL68PCC+1RO37g8YPYBnzFKZVG3VMtTKpMyCTcIywkDPAe\r\nIyzP5bfcYQHjqynZQ3KFBGnZ8HYRFP1Yjcg+otVVpTkyX0ksDD5NZiw036wg\r\nVR9nEIKntXSu8cnj9inTP+ODmzarGFfrANOHtQaZmu2+yi2UCSmEPhVt4sOS\r\nha7DnSOnkT2NyU9uLERkiaKYVuVLlXrnYVGLiZfJEAGuK/vsC/VbGKF8vH3p\r\n63qLzKDsH7QNFXlBEInapzSYtZDFCXRJ03I=\r\n=PrkZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ed40c112543fe3ecfc009ace11a6f0c3f82fa26a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.fa27ba61d.0","@material/feature-targeting":"15.0.0-canary.fa27ba61d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.fa27ba61d.0_1677514727480_0.11196718358810975","host":"s3://npm-registry-packages"}},"15.0.0-canary.311ab4d4a.0":{"name":"@material/dom","version":"15.0.0-canary.311ab4d4a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.311ab4d4a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d255496126e17ccea5247c8135cc020500fa3d7a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.311ab4d4a.0.tgz","fileCount":28,"integrity":"sha512-l8nsB/u6pPNyRJs8PAS7sRIce7Jo7Y+9ShuzkmK8D7UECB1mqWK2cBzzJ08vVLzA8Gnrf89bEy7np0xyC/2vLg==","signatures":[{"sig":"MEYCIQCcItp9lUADsitTwin+WZeSwH5K5JBP3tXJiE29dBO1JgIhAJU/BpV14pkK+dDyy0/0oZJbKbrIkRV7DQ1VKdggTNsj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/N0OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrwQA//TV/6X74Ui8sweehbcGhe5wCMYD+DA4ZiPs7vT2h+yRk4sgiy\r\nR+jXjamq/jxUu12kFJPDlho3rh6Bk0VOTtOJZRHHQqVaMDE3BPkvuji3h1iW\r\nQUZ0V3kfSJbyGm6k1PQTfHamjw5ddBBqLzQ8CAmR3N0BKWeeQ8GatV/QYFPk\r\nlYKhiCBpmYbh0PpqoqMUZO1LSJR6A5J9y59U55FzcuLr8X9WCNcjIeO/QjXl\r\nTyTDaxh4zYhaxXcPtfCMXm5PD1mzMC9vRREWDjpU0q9dsRZAQZGkxOyjFcVO\r\ngbNISSmd16qEM3yl4OBAtJaCWZL4/TMXTKbCT2musA4k4qLs+H75YvpNGIWs\r\nuTeZvhJUtcuPCmWyk9n67VTUMPvIH1ebB7p/xSNTDiEhmAUWxQuAW+hS68i0\r\n7KT95XzqakAEeRoLyO5OzTSYqZhqSuBVl/JgbnJqb/hi1NjAnjLAlP605zjM\r\noIEhgD9sm1V+P4G1/btKElVZturfHI46oXZqG9dSxwpgg/bKOBdeoY4AH+Qb\r\nTQjOt5jdBaf5m9B2xtISriKHO4wqj4N3ts8T+aDE6FqGhU1nqG6J6+VOMaR/\r\nF2wQ689siA6QY1lV/e4NPTDHVyQZgy4wCiKvzIykXG3aY/Mh31rC701+2do4\r\nLAe+p9dhQ+xdmpw7sVuzlEQACi4fdVn6FVE=\r\n=DyC4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"07f8d2f7bb4b2f30e60a6bd8739befd9d17bfbfc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.311ab4d4a.0","@material/feature-targeting":"15.0.0-canary.311ab4d4a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.311ab4d4a.0_1677516046066_0.3472469550427193","host":"s3://npm-registry-packages"}},"15.0.0-canary.901c83e77.0":{"name":"@material/dom","version":"15.0.0-canary.901c83e77.0","license":"MIT","_id":"@material/dom@15.0.0-canary.901c83e77.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"68b406cd88e9da93da848cc0581c566bf15c4e44","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.901c83e77.0.tgz","fileCount":28,"integrity":"sha512-kUgv5HR7J07LGzV2vHX14RiGYymolsplXx5z+1xVUxNTxmV3kQLfV0mo4E+6HmoaUN3cSXxhU7+LqWhyyKpWqA==","signatures":[{"sig":"MEUCIAyaE61fhHpL6qHaAxjKfm7pPScF+x+M08f6VsOocLV6AiEApUS8O1r2Y5+pThudgRCKuXJXBYNaYg/Qk0HKi3MmWUI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/PDtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDzQ/6Aw5ans8tNWAgtxJbSSTHcg3jbXUpx3Gey68PpXDquBKGZfYZ\r\nYcOm3TZ1o6N6gKmo0yhpjKucX9iLzMjK/CYHbSLyG6ftHHeiTDEZXku1hiau\r\n+XVQutfiG0PNJkWdr2SQ5g0qmogOeN2C0mwjUMBSzM3/NvpDmKsqeHVf0Luz\r\nwEYHF95uJ9TzU4J66YRe9u6FrPlUQnZlDeq45EH/+D0MKWTegyK292UtZmu3\r\nuvaUNjnsOXMYD9wEzJ57sTpezQg4At6KtLLeRLvP9kSQZ9/psOCLQ4UdGFUG\r\n6jEOhGaWglrdnesYY4pkW/PX1L1iMSvLj1Gp7b5F2FPgbF1iHWT/Xh8quJMX\r\nltU+oJl1mD2kq2eaKBjfA26ef3iZYIiEu/eS+68HRDTrg3A7yLR2ZnN9qQ5/\r\nw9x1vu4tYbhpGABkP+wHanZSaCCbsS0Klqe3KjREpYy1C+bHOJq5sDoMCCZo\r\nhUfz7rbuM3v5DrqXMLmT31SzcgjKELXVebfMDCxWkfRx0pQPsLDSNxhmnWwz\r\ndASkbgKr+ILohCWpDzrPqJU2RBfSwPReiuyMAafKfWv2yR9cpNizzuUqY066\r\neyvVgugRuORcaeXtQPwyDl7T4BfhwjhF3Fn1G+aVzCQLkhibyenAUJsk0qly\r\nYZCouq8EZY3mbM3GnC/KIJSzg+TbX+5e4c4=\r\n=7B77\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"86c988d321eecbf29bbb6cc63f7dfa18cda02d4f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.901c83e77.0","@material/feature-targeting":"15.0.0-canary.901c83e77.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.901c83e77.0_1677521132945_0.8821310769461066","host":"s3://npm-registry-packages"}},"15.0.0-canary.5cb8e2174.0":{"name":"@material/dom","version":"15.0.0-canary.5cb8e2174.0","license":"MIT","_id":"@material/dom@15.0.0-canary.5cb8e2174.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"845e4cd1fd96aa01bb21995376350b8b37d06cc0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.5cb8e2174.0.tgz","fileCount":28,"integrity":"sha512-uOQCY0tMPSLH3kMpMquy4ONQU2iZEEdLB70BSbEphjI8MKOx8N9PSKDioOurO68wUsnV/uwGymUPEbnqGkQN0g==","signatures":[{"sig":"MEQCIG94qEvEDBmfo/WUfDl4wLC//YMYdGGexSJD/6WD3OvdAiBeq0ESy2ZIYSVPycMpSbe3k751y+WlHuux5CTvP26SlA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/365ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlqQ/+N4mhZIyOO8GqcWxbntMkOQyMgFlBE9VLBj5pONZ8Ng0+MQoY\r\neH+jnE5BM18FSvG25v6xN3sjNFuNh2ef3lIIq91sByB6q8zhFOfewVCbTn8W\r\nhp96tv8lMNTuHrakC67amQ170pBRx3F4mccktVer7Qgqvv+EefDyQGmE9p9A\r\n/bpusV8xm7LrUKSNh/RRBsZ0YrKeH8O6+/ROxRcubXVkaY/C42fvYUFiSN4f\r\nBiGrctJLgO5yb/5uyx3z17rXendX4ImlUvczxtEy29hlJkUqh7869B9u0sxm\r\nzAtssAuPfaExe/00S6VZtNFkCKhFCTfa0qm0kJVE8EHm5HfheqhEi0TmGVSc\r\nsTAuC9gfpcd1nCGISL14aM5Y4TnobaVEphSHAQZI0UDgxJd4G7lnolU6EVC/\r\nburVvcEkTAg8n2uPX0BMf+4ZyzfLo0iBG3SZFm4rsKFF0/Iy6TDqxy4frnvM\r\nOC2xvfnsx45J96jxMhrEDAW4hc63PdAmIz2OkZ2J2q6jYlNDz5fk09cmb9to\r\nnaAoiaS5QPnlDOVblLAwxRgkH661YpUhIV9pNYnZYKV+8UXGIIvEK5xxMEPH\r\nstiY9RkUcnmocQHYQQb5RWHT8x9lHfOkLAbQIkgeN2KFPg346t6P26yRS8tU\r\n+hA4fsPzFmX5M0IN6TVsZor3Jd79O8nt7yU=\r\n=JPfH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d57edaa5a3a3079c48ef7c804f0a642bbb682478","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.5cb8e2174.0","@material/feature-targeting":"15.0.0-canary.5cb8e2174.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.5cb8e2174.0_1677688505514_0.4390342625955257","host":"s3://npm-registry-packages"}},"15.0.0-canary.f32339937.0":{"name":"@material/dom","version":"15.0.0-canary.f32339937.0","license":"MIT","_id":"@material/dom@15.0.0-canary.f32339937.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2bc7ec45e49f0408d06baf21af26a9057de49c61","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.f32339937.0.tgz","fileCount":28,"integrity":"sha512-zKyW4ISZuuSlW5ePjIFMBx2tMRAj9qT2BXlZgjP1qGZd6bknah86Iv2KtWlscLyM2s8XhLrTI3MakZ+pLA1loA==","signatures":[{"sig":"MEUCIQD5O4GxQ8fWNluhwPHtTv5vspEkQFQ4lC6WWi5c8YEz1AIgXhehQwFUr5V4ivEjJ+0ByJdQuNP7O7CstbtwBI38ilM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBgN0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqDqg/9FLAirLdV5LIKUy0eWZwSiJOm4si18PGm1g6HSlU2ef0qNvLm\r\nQmMSpgmNC3P9XkgpSOKIJrYiAHBoByrTAnzRYGK8UYHHXa1FS+/4ZIhyy3qf\r\niNe9uZSLOKlUsnht8A+mrk1/m3fAONYrXe9YFkTol7526w4RGeOPhQYZq9vW\r\noz5MYFUbMBaqFwxCh/HVkk0ifJL1KFAgQkTEoy5VdLi6G1hxURNAS/UUFZhN\r\nC60y6+MUt6MPySvJ8JxG/MsA7x7jEAJqKCF3RiKLymN+51aFMfAYnT6cBoEg\r\nADHceONoM3scMSMdCGvPEcDA9mCMIPC9N7kxQWq8wQi7iVkKkENWb7493bEF\r\nvfay8lYLiIpWKQcoZvPzgzJ1pO51iv6sx2h6TSI8Qs2qmItF3FvCrKBUE1XI\r\nd4jthVZJVVzfri4Z8XBE08RqLCwVjrl1dyeK/1Mr9Eqz9vCUIxq8n8NfGWng\r\nDSo0plv3Nk860oyFx+BMoUKLNalTNnAYz/uwwXPoxLljxVjAhNnqDhEJwQs2\r\naKiB3Qu+g0JJ0A+icMYK+WmvMAOjcg1n9fgSyPqPfaFiuQ0Q2UMDZOw3MYsm\r\nfTLU0XCUZdYPNL/TIcwpMPmMWORmZ53eyRpm/HKF4BCFPmBza7P4FpGtP/SP\r\na/YiwSIhYlzu5Ugj+Z6+sW7voKcHbt+7gpM=\r\n=+qw6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b6c5103b89138f008c28f70d93e0d3faed285061","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.f32339937.0","@material/feature-targeting":"15.0.0-canary.f32339937.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.f32339937.0_1678115700264_0.8087894248245195","host":"s3://npm-registry-packages"}},"15.0.0-canary.7644d63d5.0":{"name":"@material/dom","version":"15.0.0-canary.7644d63d5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.7644d63d5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"610bd57d15d91c687c631c782d45d3519e8754c7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.7644d63d5.0.tgz","fileCount":28,"integrity":"sha512-kbX2yM+yHzlrUHSrS4Bh2KFsJjmEtBW1Wue+yMtl+lukyl+mxrQrXNh+6V2wgmHm3JEGhgD07ibFGoK5aVlgOQ==","signatures":[{"sig":"MEYCIQDl4p5vNASGUaCumLQGT6t/8l1Q2HIENa/c5liHVeJZyQIhANqp/c05WPbSA2CL+cZn0LH4HpWvtj+sDz9xMUYdQ/lL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBmitACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRfA/9ECGjnPcj1fI37vlhG2dGu2Oa0XAFOQf5OE293ZTQt26wyHib\r\nkC2W8q1QvitmOB7NXYtxnyEzRcaboXu4Wr3tGtmTu/zMrVowHF2s8W6lGVr/\r\nr+IYs6RIavO+Vj7vRiflcvXUqEQRU366wM/nE+ukbEuifBNq0cEW4tnZcLje\r\nLHbN7+V5CF9vsKFD6a+sjm/8iHRsiLmNdynsR15G9scRL8K3LmMRJcJAypjQ\r\n3fVK1AW2WdYlvVU3Hs8uVMRVpjvRFH8Snpxcih0KDjrYP1nA78AHyjf161D+\r\n2vWxRnwZCjz4nPBO1e4cp0O+FxNnECp9IVK6jA0k74P9Lsf8Fvgss1E0Y+C/\r\nPv4Yzt2yBg5eLaX1i7jFiMQgPo1zA03/hJyoUx3FjqrwioMfBu2GaSeLVbOY\r\n58bInDJw7ZN1QFCQ6lc7oo+/15TZ1vzEGN1WrRuJJlIwLV4dSdft/IE3cXzt\r\nppVBCnVzR058V5Ao2Ri4rra7nCN4lI444vMvuTUkEYd/keh8r0YKJ/e1QHrx\r\nVEZdJY4ete5ixifKW6DLlZJQJmyG7KIWhG1lXNuwpcyne0hyCbtOWhZVsrQB\r\n0TS9s06/r0xP3PkelSzN0+DganMHQ80KEVhaAzUOfZsqW0UKwo9TS8drzfye\r\n4xeVREACPnrP9BTbzxss2gDuRc5bZqP9OdY=\r\n=eV3U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a0332d9af18b36becfa025c452efffd11be59943","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.7644d63d5.0","@material/feature-targeting":"15.0.0-canary.7644d63d5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.7644d63d5.0_1678141613644_0.9355823610393554","host":"s3://npm-registry-packages"}},"15.0.0-canary.d96330c08.0":{"name":"@material/dom","version":"15.0.0-canary.d96330c08.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d96330c08.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6ae76eca3d423f1ed114d45dcf7de697a53627cb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d96330c08.0.tgz","fileCount":28,"integrity":"sha512-VCyMVCfh4cu00KWObLQvbPDeZuS6Y2X9RnSEMf4DKMKQ9AlXsHQrg68Ga1cOKTWY1DNlpxB+R0/y3TZdhZR78g==","signatures":[{"sig":"MEUCIEh7O4KBEhzCBOXnv1sDgT2HU0B6hWfOyj/zq/y+XDTlAiEA4Z1BRd5fLPJGm61Yoqzb32hDKTtDSzSBrdm0MMgiWkY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCHRZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbXg/+Jt6hjgMjL8W3ZGZiIOF6C3F2GJzwrmCxwCw9a0zb4k6plQeN\r\nV/cnw4X0yK7bhV4qRGa9e2FYGNRslnKqCZVjZ5AGgY/3ikkgJVld0Aq29P61\r\njhcLUeu+GYA8TIocphSDoYuGeTKMyRiFNO5NvJNUcMVoot01q0M+v3+VxkXG\r\n8dxf/jTqaXkvqL4cTfOEQWj0yWpvfGy0pr0f+1f0/eqEEpVjuzIqba829mKX\r\n3R8+UKzwOcYhjVH2IsvOVA5G9HR4p4qQA5iUpjFyRHe415LLRhFJ0O2yKTjp\r\nvSklWhSPBq4ffVNbwVq8mAb9Kh3DcFLXW0iikO5dGrAXV8UUfLfL6Cytxmwz\r\nJEYfrCUJL1Nvlg9R04OnqL9YOly7cpRWjU/DkDRkKED1jcsHd7tabACWKyH9\r\n7U/yqoBUw9ynoCWDTIwKXAEyng0fHwowJtIb15ORGWvsWScDcKAeszKCiOVp\r\nWe+AdViuurO9+eNH4EZti+F2hp4k7i6pg7mAlz1otbPfE3BKlRar3dmnDPRI\r\nbLvwpz09zXr5QfH38LHt8lkEXrc+Et8flNlf5yAucqB/i9VeQkrnNAtrObfZ\r\n+PkEA6GDS+X+2RpEK3vVSWlRkulcVewYTQlaePvli8FR7bxOmxGPMrOK1VAn\r\nYW29J1oxxA3K/2bk/6gbVvLqBJxNPooP9IU=\r\n=qEGV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6a6d53aa84a0c0a10bb15c3cfb596881140bddb2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.d96330c08.0","@material/feature-targeting":"15.0.0-canary.d96330c08.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d96330c08.0_1678275673632_0.5970054737873243","host":"s3://npm-registry-packages"}},"15.0.0-canary.c99cae77c.0":{"name":"@material/dom","version":"15.0.0-canary.c99cae77c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c99cae77c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"31dba86d0799e7b3fe2c7ceb8dc2dc2eb40ab63d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c99cae77c.0.tgz","fileCount":28,"integrity":"sha512-CJMpu9m3G1IWiaQx53CzMiRdi2BlT8f2sMnL44PiuLydrcRU99reBPAjM9YKRiULTK4eXvstjTWyFGOgwbD0HQ==","signatures":[{"sig":"MEQCIFCigGDnltUX5faeVPR3Xv/vyCTnjORmgAxuL9RCLKqAAiBg1Lg6AV6t8Les2hb3CKIg9ZHLAyt1++EGVNQDLVhobg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCR1cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmocGA//U4npgJSB/GwiEGra07fvtDJ4sSz7seOkUdn5fgiOhucg+Rx1\r\nsoEG5e6tYy7HiKrI4Shc7iK856yuNdyn989ZbQI7SK0dUrtfWV23AdcvYeZZ\r\nm9Th2t2aFhLI2IQAwGVo27CYX3VkCclqxbL5Wd25LBy66gZsf7kVb0c8D4IM\r\n58ekKUiN8h3BXE95VuMiG1WwFs5+8KFR1RUrJ/aTqE1UnfFQ54g4P7WdLx+X\r\ncyRs6tqc6sKxQMX/TuyCuZGKbs7fHKd1fqrVuljj2Q+gwFoWomxpsFesLtZS\r\nt9QgXhEsGAZO1uS1GLXfldS+Ql6f1TcKkVQVtoK8RDwKhmAH1Wnsz2AnH8yz\r\nP7ldjUswY1z0gO5jcXs9MjHFImB9Sj7gfOcbG1+kRpIknDAgIyIV2PNWOnHh\r\nUpzghpfQR/ITCHLJoJ588GeWr7vMz3kF3ah1ax62tlOhQQScW8c7CQ6BEaOa\r\nO7dZ+4z9OIFp1F4eAV4fnnOdA06JFUIUoTDIPZp4gxLclQGqsKpvmVgkxHLv\r\nMe5efLPKfI68lvPFvCQgNKCExHLQXQ/o1mjjqbvmmS3mJSHhWTOMtTh1vi1o\r\nKz4eD6UohTRc8zJz7L1i6JC9EJ3akZNOth+tGwLONW3Z30Rv2SomWZ1vd2cL\r\noAtal+okVW+ursYO6nGKDgpGQbHh8HSyG1U=\r\n=AxbV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5b6a7c1a1c133381bad395ae040de00c64b62e42","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.c99cae77c.0","@material/feature-targeting":"15.0.0-canary.c99cae77c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c99cae77c.0_1678318939880_0.6199318332717736","host":"s3://npm-registry-packages"}},"15.0.0-canary.6023b1cd3.0":{"name":"@material/dom","version":"15.0.0-canary.6023b1cd3.0","license":"MIT","_id":"@material/dom@15.0.0-canary.6023b1cd3.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"780971d9b47298d3a1dcfdfcc1d37df3bc616964","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.6023b1cd3.0.tgz","fileCount":28,"integrity":"sha512-BhSCgg2NJ+N9ogo+c207h3uwIWxg+mXw61w9v/pCa+SCNK3gLZWtEbKcofdRMRoZDDwNMX6ZVopY8w26O3HYHQ==","signatures":[{"sig":"MEQCICWEBpQqnJfwAddTlVfqrsLSW8tj2zFTri3KNnWmjZKaAiBi5FKvIb5CX0XRTDUp8OqnC0FjPypVQimvMPBCMywbiA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCexwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrFUQ/+Iaq6wZoR0PBLR3L+wEGttVbD3GQDxZwWxOhJrVHfpNviCS1Z\r\nSONmOJFcKhUCLmBrLJeopCKhxdsNBoeuxRjGu9uNz/vdJSqMHQMVWL/7qfTg\r\nj+d763WiU2oFGlJwGk+XV5zJ7Q3gIsBdlL2bEZXvoq0zlSsHcEmSoopl0DG7\r\nsquKU0cH6lXY5VxpngITOxVL5FYkAGKVLHbdPRKpwzdSWLYhWf2Nu3idQ+4d\r\nLmqvoyUgCxi2/X0wAC8rQsUjWxeB7BAjTg11jL21YfjMs5KQc+criQ+rPzzI\r\nxDuXA3/z0fWkhPR57Hk9J8AcSJHWhtxGjePTwbS0Pgnwk9FFeHJ4vbbjiIBX\r\n/N1F44TKp9DMgmNO0JJ0oVZy8Kxx/5CoE2ouar9IGXFqOzbVomIZhqaXVPMS\r\nQmMh1B3Tju9Z5DaAo3WmAnlJdj3GqusuIo7hPvlmzVhL6w+khH7K0NqcZ1BS\r\nEP8eeMKoP2Tbf8jrhturnerrgBbJzfCAaEqXAHoH3j8co1mQmCPomiRcK4Jt\r\nakyJAdEatKOPtad8zlhEqG5yy0GS3uwsDSirDhuq/h+Z+xcQz0NITDSfa2zK\r\nc1rjGqSfekBYLqL+ZTA59ImbNdFKWkhUu/zhEtkMpzcQqEbkjjgYm3oLkKB3\r\nW5n7Psf22XArXMPERtqTOHCtENuu7CPjufk=\r\n=CEh/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4d11f175faeacd8e5fe534611afbad84efceae77","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.6023b1cd3.0","@material/feature-targeting":"15.0.0-canary.6023b1cd3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.6023b1cd3.0_1678371952392_0.7596929041311444","host":"s3://npm-registry-packages"}},"15.0.0-canary.274610c77.0":{"name":"@material/dom","version":"15.0.0-canary.274610c77.0","license":"MIT","_id":"@material/dom@15.0.0-canary.274610c77.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d39e5b2733eeb58179c49e179de3c7affe4e722d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.274610c77.0.tgz","fileCount":28,"integrity":"sha512-TeGaDWF3DPUM3IAhcYGPIi/maGP38LhyR+ORgB5BGNSuexDDxF+3SDlJrdvTW58k4qjreB1xeIcxaz7opF+fCQ==","signatures":[{"sig":"MEYCIQDN8+hCv5hM6BXHBZS6V8MDOlarvL/b9GLEvEoXa3LOvQIhAOQefH2OWJmpaOE2CDimlkbbZYKNVJwgvyIBJTi6VXJ+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCfP6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq32Q//f98/xggzUJknfa2/XrW2O+6kT9TG8d1m6xR31+1iKOBJ6i7+\r\nBYkFEWPpt4zh01n9ScPvI6Zb7ou9NYkaHg6/2M3qSihgGhrou0cYUD1OkegZ\r\nvPCQwpUAwuO2W9GL2I3i/NJCfq0wiYGo85s2QqcQPvPz1b8wGfypNsa/+0gY\r\noNXx1XbQ/r7VC1eZ4rmCIqoJmBwKPtUB1eIJ2I8q7ekyUCx6+B7HQWHoY1pW\r\n+GwfIY65dvQfdSN7El5Nbxa4XMk+x5P2dgRfOXVlq6n/BSU14BkLHwLdubRO\r\nb5RoYh6Aevpgb+k8dhmByPjZSchyEaq3h9D2vUUwgnDNuROReDRaFEnK4jW8\r\nIQHyyhancQqxkblbQ7lrcyR5tVrLbzH5c/eLlSj99PU4YXA/GU5iVq/nvH+l\r\npWiYvP+59AP1wVcIueJMh5JFOA+AVXe5y2WHd6uoq08hcgDdFswRm1I2h5Xv\r\nCUTBFOLjzzlFFL68iDKDL5BeWGoAUXpfepfZG26nedtH1qNWRelw/BQFjmQP\r\n1K6WUj1psxvzUnBoVvYTOu5gmo49kCUPL6wfPDBv2ZuX/ua9+uk7cnEnr2go\r\ntRDQ0VhTtq+fiWgt5PX8yRmk35erVxHyq0x6ulraaJvDJiZtiDgUvX9/OePv\r\njZ8h8nXn/UKeEwDKumQthWegsAPAPi/xB00=\r\n=DJPC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7a2b02c682ee73deba431503de1a6f1fef211c10","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.274610c77.0","@material/feature-targeting":"15.0.0-canary.274610c77.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.274610c77.0_1678373881858_0.6131203231055662","host":"s3://npm-registry-packages"}},"15.0.0-canary.a274583b9.0":{"name":"@material/dom","version":"15.0.0-canary.a274583b9.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a274583b9.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ddf777d194958ed8e9f8cb1a8f31772e0ce459fe","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a274583b9.0.tgz","fileCount":28,"integrity":"sha512-F6k1VSVAdr0Dt//dLjkn+j0NNieEEfy4swzGe9AhHvTBv4dzTuWzKjMDM/o+w7ebxTwA6uBUMgAocIXWOFto0A==","signatures":[{"sig":"MEUCIQCQ1J6SgxcXplXk+yz0RtiYMw6OUY/lBQQmWZYDxF1BkgIgdj6EttvLXtE6aNrqZ1juqx7RJjgb8wN85iRgxRtl33g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCjjlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp17A//R1iMXlcoa72oi/8x8garVO3q90VnOrGOBkY0EopsQhHzAc4j\r\nEOu7Ugszeyl46xXGbWGYOsmQQWVOQfQhTQr01chkHESxU2I+hxx92w37tvVe\r\nBM0Aj4N5jzM7KbykUYDpx7bJCEYIz3dbqg2Wcfk32H7By+CSLif98yD4ylhB\r\nXcDzqsSgkzizAKHWswVmeN2UVwJNVU6xZ2THqTGrRBFuvuJkpGvZyQEB727T\r\ndwPoArpThEoqQpAQ6j3EWw5GCFbrI2ZczDkJ9BYcDSQCRyqfmBs1+5uu1EWU\r\nHjVqtov8aSBdaCkhTaDjnqds4+vmz7qYhUEtn/oXCV2XwcfmHZ8DEpbBpmn5\r\nKvAaLnjj2qhA8wGJPG0K+2lNjUMQY3/jmdt2ErG9HPOmRVZ6WXVZ2yhOJi8m\r\n6HzVPyvD3txx1GDpC3Fa7RPDVbiG0zrzNBsiM8tehTqHMEGYXI/LpfBbPpvm\r\ntymD7nuqcpBC/aCHVpYN4tTpPEBRJxCGRYzjnbsvnlnNGieqEJ3MPGZ3EMid\r\n1DwE77pgvEU3X0+HaxnZ1IM8cWkqvuucMTCDogDvoyt+cOuhHqZryqOEDGyz\r\nYe6npWs4CWy87S6VxBHm88JPzEmSi4nByhpCMFhD3p33K3yKtoSdYBGULlvH\r\nndxW3OeaPM7fmOa2KX5HuTNuGyhO+byuf9Q=\r\n=aXG1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7a7c8184214014c45d0ba8b4723714d1fe91f266","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a274583b9.0","@material/feature-targeting":"15.0.0-canary.a274583b9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a274583b9.0_1678391525356_0.5600750185101542","host":"s3://npm-registry-packages"}},"15.0.0-canary.da22ca960.0":{"name":"@material/dom","version":"15.0.0-canary.da22ca960.0","license":"MIT","_id":"@material/dom@15.0.0-canary.da22ca960.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ba67799e75eb4c0764f2ccb336f740a6e17bb6e2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.da22ca960.0.tgz","fileCount":28,"integrity":"sha512-ELtjKwa/fGY60M56mMeRROrhHWvhqbb/G5vB6WHBNIK8XbHoywlecuGvH8MlvzOsN4A2rG1OPddyfSasa7CAQQ==","signatures":[{"sig":"MEQCIHXz8yaRrwNBBKtEiwxZoCmO8L3W1JPJ5mULdFT0WsZ2AiAqOkKtfji/3dJfHud20D6QXG6EfRzvGDF4LhogKDVJ9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCj7pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoSIBAAmUgfdV0z7Wlcq9R3WMIPdQYG5R7DNTgw1DonTu7y4Yk/t/HQ\r\nQguBNX8RasjKuPUB4xyKkFAXhOs2CRAzgf5KMEokxaSZaR+pELEaCauB/Fm0\r\nvx9k8jWxt8NKv9tasfsSXLFq4RVM9Zt/j7N6XqMosPh5VNIxETYXX9aQfhjW\r\nSRZyGeNrSqZFraix4U9nEQbiNIjGEQgIEXpjyybJVw0Q9vFw3UtdtAZPS6gz\r\nMlFC8dpVekhwRWTgS0uywrAjvq9H7dCRe9SsEJCenT92RhsyUYB+mkWHV3kw\r\n8RBDTAfLEk+SzpOXTj/S31I6DfYisuTLZbQ/vgO03ZOCu/tC0WG/mbjO47kz\r\nM1gHtBv7jtUylgYmgirDm9xYD0B+urwG7RLeuGedeHrcX8gV/lH9A5/MMmzT\r\nQIMsc2ld5BMp0keXUYA0xAERG+EHBu1YBappkL30anoTg9xBhjPNV+UQXYhw\r\nG16uQq4TxZb19JIyKenQvEzdjFsbZyqP+Lkv2uJqdgAZJw1IG85r8fKQK0mC\r\nKMPwzdwf2dPeSGnCtvaAqJs1c0JWIiF2WXEbHG9T+me8JKg/QhiphRV64V5Y\r\nJUBoPawnFEHYUtQ/q8p4ipjMMEZnKGFWfUSnJEchlHoE1H8VTfNOgaIdL5rV\r\nFe8GOAk8JOscw4SVfOhqzmn3vqkrPJeJR/w=\r\n=pfGj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1b58f37865efc4ba8ba06e1190cef502dee9f902","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.da22ca960.0","@material/feature-targeting":"15.0.0-canary.da22ca960.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.da22ca960.0_1678393064674_0.8234159236029848","host":"s3://npm-registry-packages"}},"15.0.0-canary.304a94e8b.0":{"name":"@material/dom","version":"15.0.0-canary.304a94e8b.0","license":"MIT","_id":"@material/dom@15.0.0-canary.304a94e8b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4c229c53d0718aeb995b3e271d3ca3050c6fb88a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.304a94e8b.0.tgz","fileCount":28,"integrity":"sha512-suu9vM/xmk/AinFlyELKo9/J4nPmKvmWJQRu8l0NBj2yLSC6uYDEHX023coco/M+Ed3B1HlMPWG+CNpmd9Tv2Q==","signatures":[{"sig":"MEYCIQD0Zy2yl+dUUBLxMjFxtiEWVw9pB3Y0tS+/4WqUKHfiOwIhAI4D4B5QjQFODex89UzYGeYOSOui0hiXL3rgtWV+q+fX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCkUrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGWQ/9FtmlkbE2UZMNWE42mL2R88YFjyqY8PIyJ4OhmDHDjmzw6jJ7\r\nzTErVS0B2ue12DI/TwnWK7mBwIPeL/lsBBpUrmLJ1Yp3OPJJRgp2R42Jw2Lx\r\nWNpVV1DwzLatiaR8cvYf934lTvnFeZiCYz/DIjlzS8cOD4iw+Icg/Id1cepA\r\nI29XcVhzf3xgc7mqKuvkvMSt/XOjvGozxkP4YKEpVkkwIHoMwVlnjEaw8ayR\r\nyzsCK7Lg9o2zfIVCcnloSXrAG/BRJbQngxuOP6eREsP7/bPAUfbWTYHoUE4P\r\ngy8L1arbab3BOe+TB3N9duu8WEFrlA0h/LGJpaRcBkkaFdlwwe8y8+L7gK9E\r\nBqWYGZmiGmLxP0HQTYNeOIDuNU78dmHWuLWh0uuUbk5wkVKVKVPftQ7Sommm\r\naLIR0/+97ax+zIfcL01czFDCq8YGaesh6lMmtc92u9pPIpbbAh+FKWtEBWAR\r\nsypfbAawa9VbawnucysNIIrCFDK874VnvuIiizDE9eADkhMBo+WsAmTlFfIV\r\nZJIrKryiFW5ajBTboYKxD708PEcyy294J7wkbeoiJqkl65xdNTTIP/i3famm\r\nt0LCaxhCFD7nFa6pilEsvvaJEFY0IMhmRyqyPIoGqFhy+BTcvsGO9RtmzM00\r\nO7heDjeWD5d/CeuTd0EX3RcQ3T4unwmaNM8=\r\n=tRzo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e7550e10d6a01c606a6dd78c58c4ee6e44c3f062","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.304a94e8b.0","@material/feature-targeting":"15.0.0-canary.304a94e8b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.304a94e8b.0_1678394667199_0.09703660150614768","host":"s3://npm-registry-packages"}},"15.0.0-canary.6c265915c.0":{"name":"@material/dom","version":"15.0.0-canary.6c265915c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.6c265915c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"2c6b9300d107966ff697a36abb18f6969a7cea4c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.6c265915c.0.tgz","fileCount":28,"integrity":"sha512-qGlME7kVWmb3V+ydBUxpSA2lcawpsDplLUuQWs+I1CoHF+3qrORWkVMcrh4jufuEIaOUtZLYVI4c5wd5qCLy3A==","signatures":[{"sig":"MEQCIBWcnOzuLU5gLrIQy1M5xSH0invDycHPZMOBe1rFM/x+AiBcO/BbmLyavLlZ03B8dBNFXDYuhjMSyWBnhwIqR5iMuA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkClPEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTAhAApPotsdZuFSJJTcrjzDjweEG42k14BdlQ/RVhNjYmZG4hJiwT\r\nF8EXd3FPbU20+LN6ypqcNykOILems/4pWSE6ERQo55wGvPiXVEokdcQ6t5WQ\r\nbZe9FtubUkCJ6qwVINParcjfOHfokzT7VSVrw3bsYwBoykKSbDf54pJT+nsj\r\nEZsRHkIwhyRdA211gaT6533a+3Vwg1pr4zyxgUorJi6m85b9X3Xb2BZPuu+t\r\nt3BGMbDFtJGXd/L/z88Ojw/SKlYgFjzMstWBbyI2FglYilG5cW3na5OkCdD1\r\nQxBKhyiB1cPH/wef0UlrFKhpx++Kuaaq9aX1gO9f4IJxTLFC1LGbAyg2actG\r\n/xCtA5+M2gpEMhgmc9yoNe0kSpZHCQbcrisj8MAE05fDmF4+NBSenSv/WAjT\r\niuEmqiYfzRBPesysyVsSfiZXCnMTPGLKGKuB18Q3VSyocSbTCbg3Ao0XPtbS\r\npiqrD5iNDQbMTNmK1VnisqCS4ldhdQKJL/CR2RYTg1nKpof8mE6sH8XRp2ks\r\nblxju/0hCEsjqyTwbgIqdrXRO4MjCa1mg8lLJwWSZfeSthU9MXFpdVdRlLK2\r\nuXYEUAXz2fcuCVCTYJJsqtiZGeJepi1ZDLcPTvVpxvLKuQdto8rSIGnZDLlD\r\nZwMVe9inHichMkAYDNywKrStQd1ZoquWiak=\r\n=HGGw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2226d2e658d88eace91ac63729977eb6bd7a9af9","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.6c265915c.0","@material/feature-targeting":"15.0.0-canary.6c265915c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.6c265915c.0_1678398403838_0.6872846142797655","host":"s3://npm-registry-packages"}},"15.0.0-canary.de5224633.0":{"name":"@material/dom","version":"15.0.0-canary.de5224633.0","license":"MIT","_id":"@material/dom@15.0.0-canary.de5224633.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"42fe5a6545dba09338c5e3a224acb5ecc4ac4824","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.de5224633.0.tgz","fileCount":28,"integrity":"sha512-wQzlc0x/Bs11GO8hpEmxnBdJaSQ/8EZ0v1eCh8Ax76PoDIWaYzB8SvrW4KvB2FvlLS/T7KVZzZ97w7kBMJEQgg==","signatures":[{"sig":"MEYCIQDQO8pemD5JoNHkZ0CKnPAK232Jj+GtGcnsfeRYTGp0DwIhAJt3a0C058kOTUjxh3/GK3Uh6b+J+IVQ8r82RGFBuDkR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCnHgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpnjQ//crLdqVSbuHzhlQWLUwwhg+Q556tGRWtvlzTQ74fmwOn+XaN1\r\njv2TUvbKVhjHEoiZ8q7bJvSy8KoA1j52IDf6FwSTadmxYfNn0FBwTcN7+oad\r\ncs5pW2lu+u5OVYxRtRDB2TjCJv0JYrKXvpjzGldIwuaPkeM5igImWHbAgSDO\r\nNLroi7yj9dB3J3SoMcVcMUlyEdw2c+7ygKQjk9xkCRvQJUPppLE/m0tApgsS\r\nphnLNnXIgIxPkAJ2naxtYcd7IhtTEUO20+D0vVfKZG4giSISabPU40uYFKZM\r\no3WHsQnUMmIitBmXzyVqXB83IJ4lezGrbbgvcB1tjMspxTZUYCIafioETazu\r\nInQY+HeRPGTGu5yXBg5bAnbxmkpI3fMCbmyLkWTqk7GdU5gEevOBKvpkvLZl\r\nOPuv8dYdj0Y6BnsQJ8a2PbiEaKpPDyoRP53ig6gP7pq2HXXhwopPy8/jWhTL\r\nQdF04EyNn+rmDR5yMWqGSY3PALTqvPmlXnFCR4frmwPO8ZGHd2JyGrfdqSJY\r\nOoKVdeRtl9L1pdHmQ00KD4TM5c4lDAAR/XI9Lg4ZJfVKGXf1Z/+cVRgA780Y\r\nSwqrGT12KLqekqgph5ND5aY65ME4buGFtkCZjgstRCcpi/ZkEVJX1HLEksx8\r\n7XoYuM/qSoowMB+2bUoduC4ZZrOub1MzqwI=\r\n=cxY/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"994c620135276cf7948cc54b286c6c306c3ac01b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.de5224633.0","@material/feature-targeting":"15.0.0-canary.de5224633.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.de5224633.0_1678406112440_0.586226104354403","host":"s3://npm-registry-packages"}},"15.0.0-canary.8879557e6.0":{"name":"@material/dom","version":"15.0.0-canary.8879557e6.0","license":"MIT","_id":"@material/dom@15.0.0-canary.8879557e6.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7a8b4b401c15291104ec9ed00c5fae7d9f2c2fa2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.8879557e6.0.tgz","fileCount":28,"integrity":"sha512-iq9mSyF+wr1gz8ktDdZ05jiWbgLkq+S8PF1r7r2QizyjEOqfg409Pr8y4RxRFJYIqJIJPvB/OUlQzH2k7ZVGOA==","signatures":[{"sig":"MEQCIFFQAbgD5WYleVsoug5M1rKPVplhprUu8QWLyeksoj7xAiAvKGz5J2oyxX1zT0W1uW4fGtp+TC+ziE2e0tUVVKhPKQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCzmaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp4ww//RBy0c0tn0w48/jMiO2lw9Pa1zOgV5ivgeAyWQb9q9oX26VhV\r\nogDtSnt8BKQlCaWBIaNG2GYTgOIoF4KQh4lnv+NoL5Tw685ONdjuc86agZFI\r\nrKwN8uddZITnJGPleAOHUVAVG6TpLDL7BIY/e0W8SLIUa8jvvzPrmTsDHBQY\r\n6TQOMx/JbcNE5UCwjt4NWos367wSxvcSkTcXaureQUN9aQimU/UCzAFONq0o\r\nVMjGWPfwnt2e+u+yIXDbYngM4DMqzcrFIciGL9oVYpvLpoahUS7Onj2y5i7r\r\nPFPAf3vpPouzL5LcnfntktlPaNY05MIjltIqFf8QJohJ8lKSH5iEB/oq3A9A\r\nOzbDjdtvx0x9bxgCF1pPrM3zjx7gXJ/3oc1J89fYRwXrNNvXam7DyeQsPUle\r\nb78hqC+5e+M4ifsV4QkmSXIxeBpQpnTs9uudtPd6ocm4waCNv9O5vZyYfa8G\r\nyF0zMjcwNrkQEIEEgyGSz/yEvk5UA0W5svkc8l2rdkOt8VZY+vlgFBbe+/eI\r\n3QWrtUn7p4Ut1TROdUEenuP0+Fb5LPHLBtULzAuJErkCisZNEXEkjja06S31\r\nDuoig9pD76OhBzHpQ+hPTwQ7xudMQUHpKhVsTrdgu7AaKvcMtHaCBo/W5kXg\r\neQ+510LyX1CxGUN9aYyQhG6xduei7aeFGxs=\r\n=yVRQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"28f7c223e2bb4a686b970a425d14b1d1edd70546","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.8879557e6.0","@material/feature-targeting":"15.0.0-canary.8879557e6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.8879557e6.0_1678457241956_0.012335564980884728","host":"s3://npm-registry-packages"}},"15.0.0-canary.23073a303.0":{"name":"@material/dom","version":"15.0.0-canary.23073a303.0","license":"MIT","_id":"@material/dom@15.0.0-canary.23073a303.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"aaf12f102ee1edf39ff4fc2d082dbbc7847fd75b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.23073a303.0.tgz","fileCount":28,"integrity":"sha512-xNNv9qX2/b0UfmApFh8INfIJcnVU5o7P2pNil9LMSGiLuA2eSWwm0g6T1j4eEYIG5+P7F0yK453mFbz4h06+Fg==","signatures":[{"sig":"MEUCIQDmSA7QzRzlgFY6TWU3aPHsetj8H4m91JA9K7wh3OrkggIgZ3TSBsbxlbzoUAJvcvXP9xEMi1wrge6Xl31fB4O9YLo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCzs2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmompw//f9Jd8aWH+RH2miEQ2m8GSMLkBCexgFNtXOrzgaNQHnXPY8Pv\r\ndcyv1LUeFjiNxdm2AdDZ8/TX/Err0/P8kQNVVKkwzrWtvs3UETTYqow5C35W\r\nQYzUYPt1ieunnQb1luT9cxdbskxfHKVZXVyOJJmAuSW52T1eokuDPtPYPn81\r\n4a29Rg1L8Vwnw0zNN/hQADB0V/wlEfYz/5tjcOuf+pH4yrW0AfEcrjLUvX4q\r\nI/kZG5xH1TWttyrHoXOtze5MG+3tGULxHPJZSIaR99OGqBRWi2diQfl4FA9p\r\nLpBHQZ8XBMwaHuMWCEx8g4Dtd8LRlfMcUVt5YNY9z6N+BZMNFp9FKOdRwizV\r\nBI3ls/7zqdnOSqzcmiQtnWTqILan7TLtX5iySMW4P8/KktJmzu/+NIG511rd\r\nzF2o+HtcgkEZNLgH4Es6ge+JjIFE3MWyMlkVXY5w0P3T2p/3WFvXM8mFIcaX\r\nKMEMrPrRKYpoQzDMtORC9lQJl9IzC9XDxDo53ukeOvofiJXJ6en8WA8kBxWr\r\n7sMsH8LBWGCXEPaviJp3F00erWB3C/t9UYPk8rsoZddgogA2y0FJ9mtSlvVm\r\ndVd/Ld5YBi6j9y0/eLmqU10zgVkN0NzVBGLXkt55fAlZNwIY+6MTExdqqaHV\r\nJmzyb9G0yXAnZYN9q1gn5BTAvIq6f0imq9Q=\r\n=FAcD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2d7826e2ebf1c1fde12f47b603e66ec0df229a8f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.23073a303.0","@material/feature-targeting":"15.0.0-canary.23073a303.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.23073a303.0_1678457654223_0.30834506917813","host":"s3://npm-registry-packages"}},"15.0.0-canary.51c7d4014.0":{"name":"@material/dom","version":"15.0.0-canary.51c7d4014.0","license":"MIT","_id":"@material/dom@15.0.0-canary.51c7d4014.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"405f130a2f4fa15f87651082d8317a924b62a191","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.51c7d4014.0.tgz","fileCount":28,"integrity":"sha512-or3xnan+g4q9Yx0MdqkctgPXCf9W7CiwmRyvN431tptiVgLihv+N7+QPLlTq+0X2CNuL0JimFmj7W5FGYTeKYw==","signatures":[{"sig":"MEUCIQD8JE4LMPf+srLYLMQvJbHY0lNGoqElYOpE0kV3MWoJAwIgcxw3XTs93r5m7UxuQAbh26JNBl00ukOoh7H4JLQJNLw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkC176ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/1Q//c6Or5fjM55TIYB4I1ef1TXEpstJNxBosR5EaDEYmdLkXlvVd\r\nNWzj6RB1nfOTY647JwgMeIeneeRn8kMg1UqhSaiJHIpkdy2hgPMocbtHUZX6\r\ng4g3v+Q3kMX+y9gYJ4/Pjgcl2rJRUXx2Tq31foFkAXV6mlFQx82Ge05Yzhhe\r\n/vQGZDI6hnGduqcE3PXoulUmvpn0FkC6er/cYcH9sz0sxDhRrhd6+VSvl0wn\r\n7J3pkdnX0g3a5BPDhuYnDiVZTNs0QfKQrp+DLnsHJUqLGCkqpn4Fb2o3VqZf\r\ndyg0OJmAezHRLqBY+PnBVbbjfh0/QPRCK0YtfrcJjOkaNjp+kfYBEgKdh7S1\r\nJ5g7cBXVo3tQHa2I4+p5p3eQBPWgDLvkb5PsbHyZ2ujXme9uewK9h7XYwRyo\r\n6wOwBJPr8T0ItfLWyqEdu3Jt7F+h29n/MMJDWD8CfnRbdoNEiU5SB7lXWNXT\r\nF6PeoSQ2dX/RNWu4wmnl+ci7/cCFjy2ppVQ8goBJZCAdXMb8AgheHQbF2E7S\r\nKKLITQRNd8U1PxA/QxGFOcpZz65YKLAqtJeQCpbccupQOmQ7nrNTg0yxKseb\r\nTAEgV0130fmqa226QPFP2It7jH+364oH2U/Ox1hcBraGT21oTYcrGrVNADKS\r\nZfiVKyt5LTtzkl2UBRUGOVIEn5ySDsb2MzY=\r\n=ICQ0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0485e6059d69163f12d83408c09b1d41f6cb8dba","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.51c7d4014.0","@material/feature-targeting":"15.0.0-canary.51c7d4014.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.51c7d4014.0_1678466809888_0.446251435031531","host":"s3://npm-registry-packages"}},"15.0.0-canary.1175a5be0.0":{"name":"@material/dom","version":"15.0.0-canary.1175a5be0.0","license":"MIT","_id":"@material/dom@15.0.0-canary.1175a5be0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f9db6727db9d7f3e3d07091688e05c2d0c602dd6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.1175a5be0.0.tgz","fileCount":28,"integrity":"sha512-8zQzUSp2tzQolrQnf7vri0stadpF499kH4AsFdKfwtyr3s0JawCTouNXnBKw/nJhNuCbGmXUWdVuxx4C+LGaow==","signatures":[{"sig":"MEYCIQD2jwXI6kSKQWOrthGXUf2IKFCGpcgkHcPVAoCPwLDqZgIhAKDtBfNdZcPzSC2i7rKZJC9ooEm2wcKzFl0SnmHTKTj7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkC5dhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoC2A//ZManDdQkkhhz+1WEC31WegsMjmePFh6VLNmRgOevgfwXb8/Y\r\num3kwT8ihBvh91uDHVqRtN9eda7QEBpy3WgJiwS1RI1ZWBuE+DYVS9vj230F\r\nM69aLY2qFQHLuf+2pWVRPgtWIHPrvT/3tHrYuFIyu9xxi29t4AytS9WmEKvL\r\nzqkjVWqLLL8nWIwPEDO8LdruW1l/kTPa+OeH6G54RE0Emq0NXPP/vk8wQ+Kk\r\n9uKdzszs/ua9P2Iv51iV4JnEw581ycdEEzsCKKgVmPiDY60KoEmMP/4H5L2h\r\nAhDrBMxcJkwnZC4GvRH4Lyu4eN7hUtonlZSxBaK276/v4o8YyJ+paiWiyJmy\r\nVhvS3StxScTdYcLi8Y4dWukWhjcyXjQ23LP2dS9LComjVqAkp49d1DL2DkhK\r\niAVxWqZKrlvjgvpG7WOD/S0rJvBFbalhpYnzn5VKFupz6gexGe5Sm3vjIi0I\r\ndLbiHLrQ75UokRB/YeXbrO/DWyV6HZWaHAboVbxUxXcraXAkyyU/s/ja8kk0\r\nqef/TUxo2jPZQA7ehZKutS5ZJpPGoiPNjA5vyyhWmhwR3nlsy1NEO7+sKC2G\r\nB7K1tqkjpxTwKeXAq8mNxAPEjL1vAoeiUP06jhNJuFcM0/uttB2/28X0meUK\r\np6Jc3ZAs+7pDJYX4q/wqTSzmqq2FnVMjihQ=\r\n=QtvE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1fcae3e4ba7c60c6a51ee8e61b01e26a324b1ab2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.1175a5be0.0","@material/feature-targeting":"15.0.0-canary.1175a5be0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.1175a5be0.0_1678481249627_0.7069419645452033","host":"s3://npm-registry-packages"}},"15.0.0-canary.7adf3af80.0":{"name":"@material/dom","version":"15.0.0-canary.7adf3af80.0","license":"MIT","_id":"@material/dom@15.0.0-canary.7adf3af80.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"584b488255e1c5ac46288764566ed28405b1fd6f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.7adf3af80.0.tgz","fileCount":28,"integrity":"sha512-rSHw+/jlJ2b2GhGcegVaF5K9r1+rAfcls61jy4w3AWBGHwrInLf7E6IHSqacpga1qYme1C6mESbc3MqPPJc3SA==","signatures":[{"sig":"MEUCIQDImU8U8PQFGfEdswcpPZAE4x4uT6CXmDPG/+hnbAB6UwIgZEnM7mcJCq/8ZtromTzVDPwkNDoDfqSArs2UNslcH9s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkC9hIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqTCg//QzTi3mllzYjOjxv0QwZkzysJygcCmgZOTszfArii9OLd83I7\r\nxrmpli11TUInTRk4JvNoQIYk/hVV88MzQWXcYdLXdSx46eT7SBk1Uxk56k50\r\naUzGc3A3ioNEOfJmTq/YxHqMPAzRimycUQqvg7vVZkoTIqbolQu/NflrgJ3t\r\nWjSjFw50F2IijVUJF3L1rA1Dn2Ao/PgddQNFt9gFGokcWY4/3t2KItlMVnUb\r\nKQ01jPTl+Jodi3SgDcL4vkB+53DvHaPZPcKhiyGD9GGez2JWpAm1ZFa125b2\r\n6sc3WzKsG3nMVkBTqVqPPmBcdFCWw+PnRfG9A5QhvSxQ5Qr8zNwySABCkzV/\r\nU1zmiWBzZXPSbdSzOLaDP+hRoUixzBjXhfNQnR4usiFcbIAUWEjLnlJIgozd\r\nQHQ0/QmS82upNN4xh1wZ/8b0BYb/o+W0IlsYqJ+QZE/d1saMymILseOUYrhT\r\n5qxRte67c06J1VoECzUZBm2Yjtk1NkijcL8w62AZR8WUKem0f4/YNmEkMWWD\r\nhZA0PXe9PowSskocxi7edDngrqe8NXu/C+6E94kATBTfbhTErWAuntRZ8ueQ\r\nEX+bqRMsTqaH3KGuUj/CPxVcw85NObZ5y4VqwKzTnPAFGDr3kLo+fvDHYwQk\r\nvn2IzQdTmFjWMc7/SneG+dkIPtQSnyAX38s=\r\n=3qgl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"57b0835838a903c8ac3ba6c8edf79add958481d7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.7adf3af80.0","@material/feature-targeting":"15.0.0-canary.7adf3af80.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.7adf3af80.0_1678497863769_0.15113749107755936","host":"s3://npm-registry-packages"}},"15.0.0-canary.82554d770.0":{"name":"@material/dom","version":"15.0.0-canary.82554d770.0","license":"MIT","_id":"@material/dom@15.0.0-canary.82554d770.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0bf70ee51c5542b3fdc5ebdb7265627aefe11053","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.82554d770.0.tgz","fileCount":28,"integrity":"sha512-a+fWk/99PI5x1GHgCQ+5VRbSvWdNz8m7Wak8SGJrnA0QJ0nuF12HVhkURhyFp/XMNQm/J9OAgoDgfaNkeAY8Zg==","signatures":[{"sig":"MEUCICV3xE7vM/dgO+Of9NmY0PnFWrHbAmKOBWiMa5KW6tjKAiEAqYSoE8xrEkZTOKLcY2sNifuf6+qg3e5KUOrhJ63oTIA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkC9ssACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoWg/+MXUmGF5uKH5DdNhe1W8UBMx6zcWb8QEYBteq8J48rCOGnTmx\r\niPed91BySeWCNMaQNH64xYs3/VOZh1NyUagmTdanlsF/kM2Wuy629Cx8yU/u\r\nddtDX2szOqGE3wEiFQJQpi159pa3UuUdd8jbytJ9sLT9fRYs3f0HuUmmVlYS\r\n8+4Ld4CYbCC+AV6w8gUfrdW8k1ULrtcomw48+kYyP6IU8rzpdPHT1y66139t\r\nEwEsYj92HgYxhAVkRQ78jey7gqal4bxIe4k/Ga+2vcnkDDBg2z6j2j0Cj4Rn\r\n2/r1RU0kGsMgAD/Za+T9Dz6Fr5QGzQExZ43oub1N7bAc/CjSWMIbG0hSOr94\r\nrNlrtZomRcic/Jefs1cQRYiQVmmehE/s8bfSnKdQDgVCa3sGkgDIbL41jfig\r\n1pQ6wmut7lLDAQQU8ZfnoNQyylEEty04Uh1TZaMA1O7TIEsYeXnKX816trpV\r\nYh9M8ncbs7bJMdgirv3BNztMaXvLwMF8ifOcsu3HFkDVjYo3u5BC41PJD0LI\r\njwj5ioz/P3uM8qRCEDE5OXM4EelBGSTnfoSIhHQwU53zs3O1/mWTmhvW+nFB\r\nDR+0+ZKEmDqDAk7r8xuJMNlQxnlHuoLDEV9NLdtnd6kGoRCEIte0AMoYJi5r\r\nURlJaiKbFZeIeUPOEomb6D+Y8p9JF449Ozw=\r\n=FMJt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"500cec655918e97ee1edc3c86ebccdac24a28f56","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.82554d770.0","@material/feature-targeting":"15.0.0-canary.82554d770.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.82554d770.0_1678498604228_0.9294869554105203","host":"s3://npm-registry-packages"}},"15.0.0-canary.93fc524b7.0":{"name":"@material/dom","version":"15.0.0-canary.93fc524b7.0","license":"MIT","_id":"@material/dom@15.0.0-canary.93fc524b7.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"496fa82770c02f8b0c70732324953da4e9cb3ad6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.93fc524b7.0.tgz","fileCount":28,"integrity":"sha512-pxnYAWZ9KeL9y7TiyyMbuB/hgZHN1yO323oWXXVfuia6xkdumIVoskyZ4etvBec7hDb7VMAPuJ7PkAzAeZHGRw==","signatures":[{"sig":"MEYCIQD0nUS5imv3k2qJWaGMeJwjiuAefhE5502NvEt4js0j4AIhANwpwdfW/pDzTrJ8qJT5aT2uuqg3jvOEMlfjHgMekPBO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkDuDtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpu9A/7BPHbzCySMNQ1mBB3gH55eHDEWBD3nDcuCIZBf69sc7VZpMMF\r\nHY+3ZNUKIInZ2ymqXRYksdWs1pEXcoquS8jixYw6y/Dr9NtY2LEOJ1WSFmDd\r\nXXhiSTJTWCr/EmrG2cU70VcPTNQKa/raPdqyStCopu9ax42IYzP5o3kMWCIG\r\nbCMIVu8z+nrGW1Y1j2jpYATqfFAf7Esl4lJqPeFaBFzHh3PzgpuYlbVNV5ow\r\n3l25xB+Ru7+lFRqn0twx+qLC4iFeEcgdGvDiYjR6tAFBTLdIuJZu/dyb5GyE\r\nxaYJhC8HvjLs3tc/cxTXraIwweeSxnfg7iSHPBNu914VJMxKm+0eLS6hGSbQ\r\nEibp+z9LTligoW12ys/YLjzbiQoDwb6jpJfb7kTkdt0Se+qNye2FygXpyt8b\r\nk9n6E/zkm2v37b2JVf6pGa7n8voG/LEsrk8kMi0s8nqWa7LKIKwH2uqFrG/T\r\nhdKagqv+o7KyQiQYbcFOvU3W9BbUIpigK2PoXW5bvlmZp0g6yGqgrLTalxag\r\nb++g3XPyCrOMJv1wkhZZ2rgkEmtGCDjCjnFfQfOwKecpQZKn+vZdaz9s0SsW\r\nQgjzLpcvYXUpCFu4EyajPkvmWs1ni/s/qVGDc9LhvroG2ZxY8scg3/OoRtqN\r\nV0eqkuTYv94JAxqoW3h3edthrjfwchoGJhM=\r\n=8HXu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"338daa93529c874da1af6eeb4fafb935e014e096","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.93fc524b7.0","@material/feature-targeting":"15.0.0-canary.93fc524b7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.93fc524b7.0_1678696685760_0.3763445520727873","host":"s3://npm-registry-packages"}},"15.0.0-canary.50be0fbae.0":{"name":"@material/dom","version":"15.0.0-canary.50be0fbae.0","license":"MIT","_id":"@material/dom@15.0.0-canary.50be0fbae.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5dcf2776c3e77d00d2215c259e75f639aa22233e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.50be0fbae.0.tgz","fileCount":28,"integrity":"sha512-v9TTVLuiq8IVnKC/XIEOEsHkeubQ1earzmY3sPGihTRccjI4eBU36hShUGV0/OyeMzGaOKcAb/9xkDvXnuRmjA==","signatures":[{"sig":"MEUCIQD6Yif8/Tdb0FGlsV0OprN1BszvnJRYqm254rAP0vsjoAIgVMkLjrdM7ZJPkRo15/FipWrkaAvsAF8oDp7DAbAtVHE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD2DJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoh6w/+KKNMILL7ZGWn5PNT5/+sVgVswTBGmmRNVfpUJGtnvfvwmNkh\r\nyaXV+v1sFmwnNQXml/OTUtGAPtkweKSxdKhhrp4yP9LJO7YNBQFegX3JHeNe\r\nrX+TISwYMepr1i5csQMr8Fu0uYVUOW/e62oVas1Hz/INY3mIOCTITVyRxcR0\r\nbdXnrPHu5RfO+RXNowpvL0+vRWM69+xmPoxSvwDSeG7wM7uGStACE+2u4E7i\r\nxHTbPOS2LoKzt5gs/ExXIYJoRLhTF4jiHo4I8U/oN96w5Cq+ralqXzx3MLiV\r\n2p8a3vwcRHtH1kQHv9SSpWSbE4sUe8HQvT39ODEppPRYI5NgOfmvuwDixpr5\r\nYrYAExIr1aI6yGLAnCuomdxCEVBUNeVtB79EOg+h8Bv/QzhD82hnSgD00yW+\r\n/5F+8EDX54Mc1OvvSQJT59nHJWGMJ6FHSxZlUa6zAWUF44U8YNVdVYRlei+i\r\nuFJy0bmK564YnHL1BzD+Nk6z9MPVA57paLLXI4dV3RK/61XC+g6+fW7JipZo\r\nD0QHfN3s3s0CUKU1jMMDbK0Y3+Mf0tWmBM7CNGodmwx3FQpXXAYudWOwfJd6\r\nqmDzMQJ14FYhVMWhfBHpQ4j8rRXzWfRPa0zxmIjfafpswPI5KcqKHwjihXnS\r\nM/U7gmbVSNQSoYD097t/NvD4gg0iP7JW5Yo=\r\n=cfMt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"405d98c2882461cee8d47ab1b16a4666ccf7129c","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.50be0fbae.0","@material/feature-targeting":"15.0.0-canary.50be0fbae.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.50be0fbae.0_1678729416836_0.2072938229131691","host":"s3://npm-registry-packages"}},"15.0.0-canary.6b5ffccd9.0":{"name":"@material/dom","version":"15.0.0-canary.6b5ffccd9.0","license":"MIT","_id":"@material/dom@15.0.0-canary.6b5ffccd9.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f95becb531ff127ff68ed9fa6bf0494a989723e6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.6b5ffccd9.0.tgz","fileCount":28,"integrity":"sha512-DgSwnGUdSyphc1xuMTcSuHagEiLA5nl+iu6oyKUVtpAUKJsHiZe4lFIbRNWrWvLTwjx3O7KVb/rUKUu/jr/rjg==","signatures":[{"sig":"MEUCIQDYyKZlOUrLbJQZfGu39vHVCBR5Hsj2J9Hl5ro3xw7X8AIgeMt+pZEucuH9pN48/90noC9JUku9U5nAvUQBum60aQY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD2GPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtxQ/9E8YzONb0VMbtmuiSg+TLiQKVhO6Qwx9vhhHigEc43MiUZkzF\r\nL7qEnGJXaVoWrQbT8jKvBIoFd+8ub2KMNJjmwZRNcST3zqGoOi4QSwvhadnT\r\nwzPv27R2YzvwCdpicudjBP/pF1dl0TiJwzJXRs2N6Ts11llRyVgi5gUe72rm\r\nr7u9ASEaAgQq1YX+N/vxslM4/05+s/L2hUMR8O+Q3Sur/y1DHUs0Edk15RWL\r\n4AsyQ+ZOWEwmN2teT6uNPgmg3pWkAu4d9+m9ZLSpJch0InAXvnKQrd8GAWWQ\r\nmVgPWsnHVZrmtIvDuGf9LTEdxjzxIBZSgtgAxQ/bQM1oMB/TZYEcN2o2p+4R\r\nFqD7T7lE0IwU4+k15dSOdc0QJhfeRDLoptbcVymon8+m2aWWQKuqnf/tJiDI\r\nkj9dWfC4/v5HJZ/MylMzVc39YZg7WtHUlcyVjoCkiSZAwhln/xIDTMgXGJ8i\r\nKliwazeFkRx0tn/0tAMRtJxAmXOD+0obI9pqmJcY5QEGKwuc6dT2z3TDMTLi\r\n20ESv7CdLZr0kPyXG2nVF/NGoNbglnJwDjpBIv4549nWioVGd6u+99lwNhxC\r\nWd8+0a2aNf3RdYO6aLzzh+SPB9FUaLYj90xbRQNwGsi39EQHtiAmrDSoxHn2\r\n/4rNOzF0MnlEiQlES1vZDARn+NKxJLgpBTE=\r\n=+WtQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"d30761453fd80caeae042d8999af672f9c3eaa28","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.6b5ffccd9.0","@material/feature-targeting":"15.0.0-canary.6b5ffccd9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.6b5ffccd9.0_1678729615423_0.4044024385600329","host":"s3://npm-registry-packages"}},"15.0.0-canary.1c8013f4e.0":{"name":"@material/dom","version":"15.0.0-canary.1c8013f4e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.1c8013f4e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"bfe3a842ba01d9dac17398c73ed9e5e3c797a6b5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.1c8013f4e.0.tgz","fileCount":28,"integrity":"sha512-PXlqU3f2RWjEEPw3f4stGiZd4RnJqjH7LKhJtMBnHos5L4dxJSSiQZW2YeccJLU+BWviywjTMwZWasM47Nw4fg==","signatures":[{"sig":"MEUCIQDOXr0I4L3n4oWTCXuF+EGGptInXycRM4eZp/0+sgvJHQIgKvSObynP89MMXkDrX2e4LmH+M6H+zT9fa3naWrvIuds=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD2UMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoh5RAAmb2FWnCWZvgHREZeUPV5BLCCY0Wje6LMvLAxcqaslRA4MC1/\r\niBU7NADRZ8dApK6NY2NyHnuGRVN7qSyJitiPalGD3b7im4Bz1nFP0/6H96tS\r\n0e8gkMVd0FXUIIKtxwuyvgwUIcf/KBlg1bjUResdYA02od3lu+7B40hcCkGS\r\n9WTPsIAEHMDRqJV35tKlQJs9LyGL/ubQI1w3vQIQk6EFejAPc3Clmi7PLudd\r\nxhL4Mrhf9PXbovNgQ67rE73fmiDpnewtuSQ7iewq6IwRioOeW437RRWYmAzt\r\nrHv8dCbbrZYzRomD0JZ7ssPRMMHjbnoSLebCVUmqg4YYtRwNk7wbH3R+qENN\r\nyPPGsUltkMNMd1TnEl51RipQm8zdmsup28jyTKV+PsBEcmlfS5KPk4ekr9Ld\r\nGFi/Tq4KT4hSeLm4NipA2tWAvr2/qosOobZiTdM0Zc8gZ/X4IgIxuvAQqhSt\r\n+2a9S1IaKw9g36FhB1L9AY5rxu0JIO8LBRmwaWWDf5+6qx44SEHvzYwOUTxf\r\nyLBbzpvbXcxb0GokiyyAzTLcbIaDiAZT6x6Ik3wGf1/IOFoAmmuhmK4Fl7Bc\r\nTey/RdmLyL7j1nHHr0KSg/WrzbdE1fCQ6GKG2dsKHFcoJQwSvxsCYe+XYtnO\r\n6NLkY9WRtWIEevnNt+KO7wuFUC85cumSUQs=\r\n=mhXy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ce86f06ff0c2637e8cfa4965aa614efa6bb86046","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.1c8013f4e.0","@material/feature-targeting":"15.0.0-canary.1c8013f4e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.1c8013f4e.0_1678730508051_0.9670084181030241","host":"s3://npm-registry-packages"}},"15.0.0-canary.112715df5.0":{"name":"@material/dom","version":"15.0.0-canary.112715df5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.112715df5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ebad118d9e7a2cafb5f7b8d08cefa71251c93e15","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.112715df5.0.tgz","fileCount":28,"integrity":"sha512-MuXHHtmP4je374rUP/HrqBVxTZNkqecFRzKiYRbH/oiQ8jITbmnqWS+yAfcqZdoJ5FV54cbNGjWU2lzdtt/how==","signatures":[{"sig":"MEUCIQC+M9tq+8tjNKRtSPp9wZzS+3XipIyL6Zj2t63cqN7kRAIgNNdR2bu8Eedd+SED5UUGDa3/aMvbNjQwfRM9jviXDWg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD22rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrdhg//VgtDkSR1cO4RI1lCWqTpxlLgFy/D20h2wS/WTQFktB6jVbuh\r\ncFv1/cz8Knz3JQkzGqlsdhV/QpKEpToWBQp93Cea1y+4gaU9t4Ydl4XZOFsq\r\nHZW/ndsd23KAsip7FFI495fb4dRKF1nNlibMkNtu6jPGBXcy2MPAnE1TB9rL\r\nZw3R0J730P8du4N51/BkvE5V8KDLCj2ax+rKIiQB+tbaqjFJ6GZJteCnPVCH\r\neZ1yxNbaiyoqguRCzV1aTrPgwlOGTsdR4annO9lqhm08v52sbdwXFCc5CFGY\r\nGE4fZ5Pj1NeWlFGCGOQhs9FGK1u4hJ/bxuAUnNIfmxqHGBtU5uizqM0ajGv8\r\nDQ0dS/VtSLXLd/+tpAk36Xaaz2sIwIw5qoM18HNEWpYGS6KzWU3TkmQDRUpL\r\noiRemHhm+D+NoHZPMz2md0L9b/LmxZsEvwgqfIula2Ga3L8Ok/AtVHiNYHhU\r\n6fM1a+4toadPrkS/rK4v53ez3nhwURrnldzVRQ8FkPtwOA5dCGCzlqD8dzqd\r\nRGxb3ywsQpnLb9kjR7+5MocSTJQ44iZmRkWyYZwlME4OsvsmNtBqAM6bMreD\r\nlRhTNEIycFUlkLbiRrkdXmqbZ0JdTheS7h2gD+BkbnU+Os2EkkOxj5oYneFn\r\n30JCbkSJF/c7OMHwJbQ6Tq2sl9xVSWP9nyI=\r\n=WBc0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3894873450b9dff1b92031fcd1d00ed1ec3ba9ce","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.112715df5.0","@material/feature-targeting":"15.0.0-canary.112715df5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.112715df5.0_1678732715056_0.8935857893439194","host":"s3://npm-registry-packages"}},"15.0.0-canary.d250911f2.0":{"name":"@material/dom","version":"15.0.0-canary.d250911f2.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d250911f2.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8dec2ba847e38b6f66fea940c8c2fc9cb6d2ab64","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d250911f2.0.tgz","fileCount":28,"integrity":"sha512-2k8so5gDV9RA+THDUUc7wKHNHDc8ySmL19a3fqSQwYUe+fy5IDb6zxQt8oRCjrziJCLKyp7D2cxgdGIBFCmQuw==","signatures":[{"sig":"MEUCIAThnMAqfXkUzRoyGMvHcJt0KlIqFnSYlfNBqFBqM09yAiEAmo1jN9oB2zqTgWDhQzl9vQrt8KNKJ2tHuotmxw8JgNo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD3nuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrezg/6A8V5ZvsDCQXh5xUTTVzTFT7aWidxjC+PWZFXQcbh64ItSIbv\r\nWACCvqxyJywjiw0XzZjucYwBVNCwL4oxE4q/ttpgwFdhUMLsebEvUqinlgNr\r\nI0FrG4/Vhh3eeamHzH/xH4rD9T+atucFpYmIVBIH2pbOlYghc7r+aqQ7n12g\r\nleCc6pz8H7OxTBEr70LYrd6ae7g2qOg6Pq6a2NLcd69ugFkUEd5cidbb06yL\r\nlztgHkHwS0RjyRlPgqLb3jDvhQEZIGV+6WM/bYcFYJnm3w59wh4jmZ9I2quA\r\npFLR6KtdXcZsGA/LGdeIIi4+hhFgLUsvTx8Ukf4Dmd3OMkpuB9Gt2RVxuN73\r\nZhMd34MlxpdxWuCQUuf6EFYjiLLIbaCs3XOwgXAJANX7MJB7UqyEIim6e3rb\r\nj1G1FoGd9HBEXwMOXhlisCXFkH2xMaNme8LhqlvpsRaIRADBTLtPLZaXbgpZ\r\nnnryBJFfV7lftz/i8R62kdIPJMgkcWn57TpHBKMYKAUgsbfiFK4bWMbbHPZa\r\n9GNGNRdCepFgGEW4ISfq+5WII7N6X6rAEBGsgAuDpdK9NzVyBwaUQV/gzQFy\r\n1WqOHlQYJb/gZ7IQHSLfgctbo2relCG+BzJJVk2IaQF9ggKjzzWdrX0sLLf0\r\nRGesPQjVOWzmMQlt7zzqMDWSK7oKIYL6A84=\r\n=6wQY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7b4ac246b31922fb4beb9ed168dba262e499c271","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.d250911f2.0","@material/feature-targeting":"15.0.0-canary.d250911f2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d250911f2.0_1678735853845_0.1878511978784092","host":"s3://npm-registry-packages"}},"15.0.0-canary.7cd925c12.0":{"name":"@material/dom","version":"15.0.0-canary.7cd925c12.0","license":"MIT","_id":"@material/dom@15.0.0-canary.7cd925c12.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"064dd6f32454f5caeb3ffb9b12cfede1ceff3d48","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.7cd925c12.0.tgz","fileCount":28,"integrity":"sha512-f5SvYhgc7r9a4dWMGsOEnkcm5z/qbeKZq9QKxe7CkFv6aZhVdv2kUc3FDiVO6ndGUWEHLugJOvS6x90tn45/Bw==","signatures":[{"sig":"MEUCIQDdl+Wm/s8bMyqKgqlD3D8tlx1DsGuRMEB9hbFudw5E/AIgfvqhcUOXigoFCesf26y8zvJbx/ihOLNbOvsBiQwAHtk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD3uuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPnBAAnnwuPzilcHP7Nc3B06kDMn+v7EBI51Cy7tH1D8teUT/YeDgB\r\nB/pJMp0FnbTdh1RgQ1SQGyRgzfU4nUtI+nv1oaW0Q30JlP3H2plc5gM4sR1l\r\n/aE/2LJGvZXb9jxX/D63TgECuvF7dKxJBfT7blo2t3U25SCYWEF5J0aoDEEj\r\nalb0LyfV5qe51GFhxat7lSUptvI/u2Cq6gWCoIXA1RL0esZh6HEiLFNEwaET\r\nH6Qt16rcX/w/88OFSY0zv49SGEWZbZor8yadbnfhQzo5DBhTOM2yPxmPkUkR\r\n7BfegTHW9lrYjt44ye3VgyJaDRSvqkVPVnkB+4BsqpHtucaqX13zjh6eFpqO\r\nJZtzMxciAmOMJQ6EjZ6te5RfY9gm6kLHwoXScx7F47Rpe7UMkEbRzGAjCNAR\r\nXowUks/FRia8MrHL3xkyyloIXbx/od797maJ532jmhpTHcdO0Lry+Ir1eB61\r\nqWrTnylgO7lX7iH2vLsyqEd5/U2FknVfdu6bX1D6nLUQQYhgdlkTA7v7BBH8\r\nwbUd7JVrkCYjNVNwMJh+qCSPFTSXS9ZqIQUaWcV/aO1C0tga+LmeTmbIh2y5\r\nkF/hBkBFrsrX4kXkrktl/8V+WmmeXThlSEvQ5bDRtUeu+tqnL+3dsEwWUicO\r\nKjcZxGfmqExMUlJoXyBWAZiRcQZRRI5wU54=\r\n=o8Iz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"96310a5c80e3e92695b6d6e2933e9b0c82e58a20","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.7cd925c12.0","@material/feature-targeting":"15.0.0-canary.7cd925c12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.7cd925c12.0_1678736302065_0.37679796978675517","host":"s3://npm-registry-packages"}},"15.0.0-canary.b2ddacf73.0":{"name":"@material/dom","version":"15.0.0-canary.b2ddacf73.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b2ddacf73.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"526f9d5e0f530b8c2d04557e9b0abd03859bb65f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b2ddacf73.0.tgz","fileCount":28,"integrity":"sha512-ObWW0BZJRsoYYxsoz1C8PJS7v5hRpyIhxRET6VqJkDkYS/ugTMjS2+2nj+vhLSVPFF8Lu6AFZRrLtByQmuF7wQ==","signatures":[{"sig":"MEUCIQDG49hAux922dtERP/0MiaAABCNWaugaPDbVrM+I3pw2gIgTMjmsFqqKyUyIaMTJQr7X2TIIkvPC3R/Dmzg9RdGZ20=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD3y6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpzeA/9EIqhdDys8FYktycZmN5KWRluzuNlF37PGdCQeTmaEwgIG7L6\r\nBd/OoLrOXSkrdUiaINi/Z7O/w0ciqtyxJRQXuHjXjyuzKrvbr4EkFKMdDYB8\r\nO8HC8StPlGtpuW0rxWWLeyfrylpCokjqHVvsTQQyiqGVfEDr6lvs8JQ98kAj\r\nRI6jtDCHTHbSAJKKzB+auOlZRMzQqPnBd6tpCIPIvPNtOnVOb858eRIvd3Iy\r\nZDtd8oUiOHsw2ojNkU+ovWuBOvN+tscSjYj2+GTPxOMVLmyJlQYKytNcAHno\r\nKTbkpYkwHmK1GHWsp4OKprxF44jER3nm2pnIQOJakvCGN4yYFwBH7tISkyAj\r\nlmTNnKhXRYm2SWAsw7Aj+F9tVNaunj9BGq9KBRIMdZIrdy49bykBB6rj3TDH\r\nMJnX+xDE6Dpg41vbtAtDFWTeTrvBSaXwb3JuxVZ/qfZ7ylYlZCYyxbQ6kuT5\r\nxr66dJn77KFMxxHNSd7nbbl2mojUkwZbjASsKcbREho+hP0zMPJYzVXyfHTU\r\nXfBASh9COI4x9vuhT3GV0VINYza98qbK02igkHgR+NGTTXEZMcLV6TtAX/vz\r\n1ApwWTNHroOqxAB65gYCVNqTxEq5f+bCQtV9vB4K8jfGQUv1XE72DtPClKmU\r\naXtcugADggKAfhqbBbiAChzFEgvqucWxIdA=\r\n=84Er\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"860a6f0b439760b894931fa6cb354412764bd21f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b2ddacf73.0","@material/feature-targeting":"15.0.0-canary.b2ddacf73.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b2ddacf73.0_1678736570181_0.5419184145948603","host":"s3://npm-registry-packages"}},"15.0.0-canary.989ae2ecc.0":{"name":"@material/dom","version":"15.0.0-canary.989ae2ecc.0","license":"MIT","_id":"@material/dom@15.0.0-canary.989ae2ecc.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b55a8318265d37e93d9b6d7f1c63f1a84d1a4739","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.989ae2ecc.0.tgz","fileCount":28,"integrity":"sha512-68p5VAVFBW9VWbk46Ope2pAYnGPZpgyTs3sVuNAtQFRdCjyA+myLjKHcjPwup2jyf/CVabrG2QkSazQYyOfTdw==","signatures":[{"sig":"MEYCIQCgxor/dzVSdyNWqsJsmR0fx0gP30RqG0RsL3sPmnuEqAIhAJzUAmJsz4+d7q0TN9cYD+ZxNuRWDbEac4LeRxFj+HY6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD37iACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEKhAAnoIoA/QaXYWS9BO9KcMnfRcmjrEenPuWWrTxVCfj+nY0/Jm9\r\n9tKLRIvS/3wpkC0yRsGJNBXXz+jAoo5HDPg81sDOHyMDhYAKDwZzOhkY2BKU\r\nj99XUVkIouTB+Kc6+tMIsCIG56QgyG/mn4kqPn1V734aKshkBAZyDGaAVPuo\r\ntDYFGsrbW/3t/YMVsV1Kn2D8bbxaOiYwBKv6wlpK9M1DkDgSFJ/bhF8dUyO1\r\norymUYJls3enV9Rtt2C08koiuN1WkJ59FPi7/JEDsalD4Gx1Nd4WDs2LeWLp\r\nysNd2voYVWwjSXZB3Jm5fpNR1z6ZaXm2rNs8QsdUQUave+EAAHCd6TuV//Gz\r\niXM+v/LxP84lgtfFsHoQmk6C7gsOwIDNKuVQW8XhbH2VNbs/cT4QWCi+IT2M\r\ngxP3Ux4bzw0Njt0Wq6DVTR/wJEjIy8ZhqwVvbi6jwSUpYxZLQdweotfuGhAR\r\n1lJpavuK35JEYGaw3s2ejfGQEOaJlxzI3qkuiN2lseXndeKh/sMQjKLz/N+a\r\nXwjYQyDQYEbF6TmtJJTnbFo77I3cXz+8Kwadnc6+AXwM6UtJMqxWNitM/R85\r\nYlwCKlnN4HNV3bzzShnGLWKybwcm1V5Y1ejpkaFsH/jq6DC1WV+AJVW3d1dS\r\njbgb8CtSJWiPO+ygeXWepwawdDFX3PlQ/cQ=\r\n=HxGE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"52e0f05ff74ddff1d986b27e08df13644c056b63","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.989ae2ecc.0","@material/feature-targeting":"15.0.0-canary.989ae2ecc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.989ae2ecc.0_1678737122248_0.957327636587342","host":"s3://npm-registry-packages"}},"15.0.0-canary.89c66483a.0":{"name":"@material/dom","version":"15.0.0-canary.89c66483a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.89c66483a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a047649ce0a88595b4638ed5d8a0cd0956636e06","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.89c66483a.0.tgz","fileCount":28,"integrity":"sha512-7PETCfasVJS8qIUATPaNkJHbAIJgRSXSBZO+QDDObzc+ySc3pKqUaJeIHa8sbUQoG1xzX2J0D9RRjpwOo4R8rA==","signatures":[{"sig":"MEYCIQC4mSONPFHwu0JRwn8sbdIcQ3HYHy460BC4y78ezHjjTwIhAPDPS8xqoyacnlHV5FmrLkZvKqpKIBwY2nWxosFYKX/N","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD4R3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqgTg/+P2Njq2V1I9AKp0EJ/EXJkTF8+UuxWOFDewHBdwNMu0iZuSi7\r\nCWSt8QVjFgXKwCayVk0M9+879IW1V+AcrGjltZv9i/g0ZksgLs9WYQuC8c/x\r\nL7giBV9C14gDduyy4GWn7AvZcm3qgKFTJijlqqsYhkulSjYX/vNSKXoU8DO2\r\nKc94RKdWmN2wrKpLd96P4Nu9/cS86oAk/hMjvoa/tYfS5V/c9FHN0LJ0Di2W\r\n/b8olFUJr4sZgoGzCvhjLPq3YGNnhdIxIjEUqsgwPDpMYCenv4FSNCa0RBbx\r\nvaocMTnMz2RIgrTshqawePHuLgXmCrbZ0gsMXxUlk9vrwLSf5JIrX0ssh7z4\r\nkXw+yrUsQvSRbweWHw2olmOAhbi1aYolWE0BTabH2zgJrINA4n3HrFIvHSBp\r\n/JLZhheGJBCx4wcn4xRUhu8bncgWp4s2z3vwQp7i91YT03yC3KOdRvACTpKr\r\n+oIRq+zPC7Uk26Nvx8GQO2+zoJe4cQDBs5yOVBm6G5hThqo5/kKTDd79oA3q\r\nUMWy5DSYrVUYK+0IMLHoBsFpoP0S1t5FLL2AKfkd4mbRM6qBa6wxw3atSHbw\r\nUU5hOKxR+h9Dx4s5nJjRvKIFDe6AbKMGTAf6VZrkChnMGh8pe2wh70J7Je2k\r\n2i+ij/iIIOylIIPuBtDDsftNKzvk9IsV7kY=\r\n=pPEJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1e255ddead4716271020e03e9b0b302eacbc4153","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.89c66483a.0","@material/feature-targeting":"15.0.0-canary.89c66483a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.89c66483a.0_1678738551031_0.8889669263345199","host":"s3://npm-registry-packages"}},"15.0.0-canary.6a85742c2.0":{"name":"@material/dom","version":"15.0.0-canary.6a85742c2.0","license":"MIT","_id":"@material/dom@15.0.0-canary.6a85742c2.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4dee17664317c86b674bf585259ce1b826ca8a10","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.6a85742c2.0.tgz","fileCount":28,"integrity":"sha512-9BBTOSK3b8B1afRW+vjyD/P73ix9K2LHkNc8lmXEdBdHSNuR1ypUF9JqoTRDOBiNNtObmAtOs/Hj0DdtBsgGdA==","signatures":[{"sig":"MEUCIB6kxYbLRf0wzNRbF1cQs7CsUuPEzUWhm3vw2Pcz+XgZAiEAw8NgI22BtrIDGCMmQggT3wTBJ+LzpqPS0UIcq3zhQ9w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD+AYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmohFA//aDVL+QdexU6y8sMZAMtgJCKt0dMaroEVRCcg916cK4o3ZwGW\r\n3OYdq9ZqQ+EflI+Zn4bR0Whzq5aBnq5+ezNUQTE2ZavBjgRC5pLe0dVg+8Eo\r\n0r907tM2uCZebcfhr7+B4k33bb2TstohQhftPjDxt4jCuwlFP2xtu84I7eV8\r\nA+B+MycnOP5xBU0XgCXtIN9HwqE+PEL1kZ9hcmG3Y8NIXP+ADyUVJ9iBdvvO\r\nXrUnMMZk77ipN9WsCldUfEwfcdUcjP7C6U0TJ4SJ2u5+RPQB5Wcx8ks1oerT\r\nxyjPxisGT9Jxmw2N95aF+CDT6tCz7PYaI3NNU+1IziX5BJwL0l/KoM9DVwM2\r\nz0ff95b3hWfjU0nD1yxitlGQObYzgPZbQ85Fe2TtpoR/nsLUUfHqSZhBqKNe\r\nWsatULh8C5wiZNl3htFhWYiUJY6bJauHHtQdMf8txPrsU8bJvWNu7DHZAAf8\r\noWNworWls4+wYBpqBqiaFRhDjgtXKPduPl7yZn/RB8PrGJyB5oxsC3WB38H3\r\nq5QitZ7zoglTDA0q5kTCnQn3dFQE9JrBZ3jGsLdoSKdoShOoJT7+L22SCfFa\r\nESIrG7wlikdSmp5tiKYizg5Hhy5fZ4oZs2gqzVSSfPHJsHu6Pku9nHpD6lIM\r\nsx9FQA/eZdERy8+E9WPXdD7jhTOn9F2idz4=\r\n=Bw4k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a2a15aaa59054337e585758eb160d9cab97224a2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.6a85742c2.0","@material/feature-targeting":"15.0.0-canary.6a85742c2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.6a85742c2.0_1678762008009_0.9226147145591452","host":"s3://npm-registry-packages"}},"15.0.0-canary.bb6cd78d5.0":{"name":"@material/dom","version":"15.0.0-canary.bb6cd78d5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.bb6cd78d5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4d26c5c28127886119cd058dc1a2b3506e8b8d59","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.bb6cd78d5.0.tgz","fileCount":28,"integrity":"sha512-yrLyo1w+qLkKjWdZKKzVAgxiwoTMJogQ295+si/3gEPP6ePJZ6abg0sB1aYZsiQ1DJ5Yz+VB9No9oqJYxcMdWQ==","signatures":[{"sig":"MEUCIQCTPkfTHEFsIZ0uRAKcSOVvNjvVBtzvcFp5D0PxAf37wwIgfAdnI8mNBffjBgjIo1efpEOGIF8sghBSeX+Nw4VSLtc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkELnpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/LQ/9FKxVnk6kOVeRf6McItcnXySwmmcGAer8d8Zz3A1Z4KBAwBPB\r\nWLel3t5PFa9ZPv01O/5ThtQCQ0tLvhws1m7LygND+/Bp9dTw5NP6FdjvSVRR\r\nJQfjTsqYDyASwVu8C9Al7NB7nN9u1c3gLTIOlHAkz163dof2s6o4r+UPCZGP\r\nqiMUlValSfa5eMxm1FnBJi0ag6YNTfbZKQ05tT0cd1030begKPv4qWxVBexo\r\nYzmNkPeDTfqQ2zeWXjqMxFnnT5FvsWpkocKnUOuxt7AEWYEYKQ8T80iSBJPg\r\no4VgReBs1k0s845t3AiO/cI+O1mcXNTKOeQj04Qu/7NDTvgHc/Y5+SqTN0Lf\r\nf2ObE+RZCCUbjF69+4lFeOb63p0FRA92gfX/b+C/yBuveqRDiajvvUIc7DZl\r\nmpdQikyiMO5Tp1u3PSxpimz6VCcHFvGrUxciSWPcEr2GYIdJHB7hGG7UpV6K\r\ncVNl7ZPURWv9qAbUfbSNZ8hr5hLEm15ZBE529PL4yA59vN6+Qv9Mu1BrVvUO\r\ns+uDGh6k4m5+hWjBzhZhTjEoivDUqMspFXp0Slm0kIL6DUGwcDT1kAdnlT31\r\nhRzYgWJbW1hJdoCpw3iCdITJ5wqADCEcYaQkuQRwp18YskKJwqFRjMZgSu6e\r\n5BEugq/QBX75tYm63HvEtg5PrWLETsMeRA0=\r\n=2aHK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fe016d599b297e4e276ef5b37b829b25f0607b93","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.bb6cd78d5.0","@material/feature-targeting":"15.0.0-canary.bb6cd78d5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.bb6cd78d5.0_1678817769388_0.989443690491179","host":"s3://npm-registry-packages"}},"15.0.0-canary.5f94aa37d.0":{"name":"@material/dom","version":"15.0.0-canary.5f94aa37d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.5f94aa37d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"374f4dd11b6d849f3af7c6f1575e122dddda07a2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.5f94aa37d.0.tgz","fileCount":28,"integrity":"sha512-aiMiB3vCQLJK8hlpPSRWMFl3yqs8qe6bREa3yOObEV2Ywvzc8+zKUzrSZ0I5kS2jx9ixq6n8mxmVM+Ogj5VhXw==","signatures":[{"sig":"MEQCIDKfbvpkOBier2B1eHds1Mhp354XHXLEEA5J8n4NSo8rAiAND+In+03NDruh3BCyi7COIaNM6Oqj+4SZ0itqMkp8PA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkELq2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQVhAAksDiWOhkmqkVvFRZHvTaQk8hJUwXy41swsBWpjux0Bh6IVyN\r\nVdStqldvdKoX7iC2c97lE4g03zRhlsO6fuoM6xGznmk+RYnI22joRh7KmLOI\r\nJ8vq1QDAyeEKGYtlJo5Lo8wVb+al2xB1BPPOLqnkak+XQWc2aPRC+He+e9Ie\r\nmVJ4mAg6kn2iHhgcRmivouxYkAeWli0OI+s55gkVKR0eJwVFv9Qc7NYUs1qM\r\nDE9GANLYG0hXWKivupbiq1DIBnE8vS/M5McUzZyielMRxiYJqu2mSzx8saUm\r\naSXTpqldeCMsG64lqwwbEFbg4E2xPR3whGbck6bcP49y+p0cDgo0KtpxIQek\r\nBNt/kd3cRbxlEevK6d0sTPNUpv2vAFaucSPftwdlDwtpqGcE9xj9epmAbChs\r\ncP5AkUAg5eWdGwBVsBkzDAa2HjCDGJiTz1XnaOr72kYKlufdMqjzOYDPOm2I\r\nYP4H6qiLg0UEInuDuMteZNeZI603nobnANz9h+C42P8ye1KGxERLtNE4yqmG\r\n8q/t4pd0xxOYacLZH/SaGMu45CP0HStIdB2eOAPxxCBcgAJQhDBDrxa/qfHN\r\nHjlWDrP599rv7tDqUwMjURfBGdZOTO88pVH2OMXuSB9h9OH7ROvPj6ns0G2l\r\nE6EJzjzcTUgHGB8e02z0ohPM4jORrlZD438=\r\n=eZCC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"95db647ce856eab6b1eba2fb1794f3b0dbc3dd08","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.5f94aa37d.0","@material/feature-targeting":"15.0.0-canary.5f94aa37d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.5f94aa37d.0_1678817974351_0.18562132440837287","host":"s3://npm-registry-packages"}},"15.0.0-canary.1bd317240.0":{"name":"@material/dom","version":"15.0.0-canary.1bd317240.0","license":"MIT","_id":"@material/dom@15.0.0-canary.1bd317240.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e45fd07bc39584c9ff8b56092e0efece701de6e9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.1bd317240.0.tgz","fileCount":28,"integrity":"sha512-UzJtNqTOPcqQb6nwWgrF05OjHEMJ5HJQF8MlbRo/kNuWvXhOMAqzLJ+lW3B9KfndGO0wM01HzUByJK5qs1Gf1Q==","signatures":[{"sig":"MEUCIFr2IXmikXJQaeD8lbGBydBCPc0QjkV7BdqRJcpRx587AiEAq4sbovniqNQPLn/SEiNwbKDbq9iWlk4MVR2DcOG8i3Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkELuaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpOog//UnhDSvJSuaUkV15OR7ER/Wlwc/4KX5W/Z/0juO5OYkQsttUw\r\n0YZjLXPFyG+oy9j3W3Q6lcaKosUOQjVunYRZ0eNIHAhQ9y1i98CdP8w+gqUX\r\nW0fNDUOWS/qEU7N9lZVTuOO3mcJIqJi2Nl3Rhk9Asb09872gHNh4Gziu9LZR\r\n3fpQ7SxBFLNGVm9tfovVK7oSKOprqBBXV+VCzPLDDMStLC/o3KJEsf68PTyX\r\nheSoM+CBQ4uM1mLfDggaYr/VbsAoKD2Fz7UiG6J4GMVyFkKyWhOPyweg5ils\r\nhNKxXdSeCrVD0yXgA+jK6PO76yFJi9D6yR0VxXsvQbwbNWjrBLKh3x2qrR/0\r\nseJzfOt2TirQdqciq1zr+46hPoQGAY1DcSIRgMWTBp+BDOxKa3r9gt/abkJW\r\nQhjCDxzMKOIjvRnVXtbuhgp3qX9IS0kMKCLnPjeuPL4t26pwzBjA0KfPsBUc\r\nE/UUtQRBfzWaJt8fxg7L6UaHZ3xaUn/wgIR8XZ9urAgUSHapqV86EzihQl+u\r\npXrfRwRhEijk9Z2gbfxeLqMU5G8FVNpGY8jWxeKMHo0o7mGqzJwqzt655ZQ5\r\np9mnd7IlVvTpbeYaQhYHCwNi+R7do9fsEXI0lktTU2lfRoatoDnj97kfGBvA\r\nnfu9R2iUxrvD9RSttQEReZxP4p0G4GDyKCk=\r\n=pl+E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"eef3d63106c71dffbe823b04d07e86a84dfd4d42","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.1bd317240.0","@material/feature-targeting":"15.0.0-canary.1bd317240.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.1bd317240.0_1678818202267_0.7223970039380299","host":"s3://npm-registry-packages"}},"15.0.0-canary.d441d2a2a.0":{"name":"@material/dom","version":"15.0.0-canary.d441d2a2a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d441d2a2a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"aa72dadf89ca3a6e81cad33c0f955ba98c4c63b5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d441d2a2a.0.tgz","fileCount":28,"integrity":"sha512-VMv6NdNrsPKgMk4TcCAtXJixRpR1Baq1nJHNZsvUR8vtZtr2R3A98a+yLIyr0FZNahNkkjgAm8JG51XLcpQJ9A==","signatures":[{"sig":"MEYCIQCUzzBOQA5UW7MEQ68HzUBqhYtEQKDAMtf1YpgA05zdDQIhAKt2AzEzbtrXtVILotrw4A4nsP7GLr+oA9mH6CCWOg5Q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkELw1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpw1Q//bWDSf+jYG0WsaKEwAuy9dF6MOWlllt9+CM2RNVcjg8+jqwVe\r\nIubJalBCNtesu/M28QmZCvx9BkxEmuBGS/RKHfgnzW2UV41OLrNo7jkCpru1\r\n+tYA5xcOijHpsMtYtfPlFcGy+xM/UnsHZfxDhv9KQsIbUM+j8ecnYIh7GUAG\r\nVeh/yE1li2Vz6mtBiEsRGSBrNHER9h4vBvXjlhLeiHp9wbAh/x58rqlfQrZ5\r\nrKQb7cDWBbfC/+JhiZ4zTgdHqoxKV9xGUXE1jxPWCvQmJwHfAt4cy5cZzZ2H\r\n7tfXqib6i3m2zEFsZPjPY226n1GAf8tyRfZ0p8OXxy7XXShd7lR7EaKdx7WM\r\nr42Md85ATzmXs6bl0YrSBPCWUEF7dPA8vZejkP/o1CKmduWmgmFR2lcIr0im\r\ny+HxAB/wwIZqFVG/dA8Pf/CYy8lJc3xLm3aN2hrNfJdHrvDC7H7PisP5nxBI\r\nhI8KIXb6+VeggL4WhZz1Le6WdGJxVaLDGwEJQZX5CNOxwQRtMcwPtxrgifda\r\nosLw4Kns5QdhJO1eS6/5u/rgx9jDGssmhEX1PG3iI3/Y+VK4ZpXlwtck532C\r\nEU9OP+QMZhl1axc7PyNmV5vxTlFauDaUbW/deM46LbGpPWB4602f2AV3B4Zd\r\nNMAZmKEJ3uriSxpFQVmu5gB7t+dZZYqEBCw=\r\n=kDR7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3a1d95c90b2fe34c5c04e44571f94badd66748b2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.d441d2a2a.0","@material/feature-targeting":"15.0.0-canary.d441d2a2a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d441d2a2a.0_1678818357628_0.6959776214862516","host":"s3://npm-registry-packages"}},"15.0.0-canary.fff4066c6.0":{"name":"@material/dom","version":"15.0.0-canary.fff4066c6.0","license":"MIT","_id":"@material/dom@15.0.0-canary.fff4066c6.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9fd94c3147ea48e0ac660889960a25826f08834b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.fff4066c6.0.tgz","fileCount":28,"integrity":"sha512-SlLhR/dV1YtHW6ONTms7y+rvDGaVrtkiAH/o/YfHhAN835NxdgCnHCas2ZvS5O+HXcRopmGJ/yxpeW7BQwW3RA==","signatures":[{"sig":"MEUCICgIRQfKhxsn6XOvJ8RlWhOtVAe+ExX9li0A54+xQ6ElAiEA6j6nGs0KaesB4Qe9rzAggnF+mWcjTuatLRxKaSiNMFg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkELxbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqsDQ//ZbOkNv59qE4OwHURQNYRinHLnWr0pqINF6JRHY70eaLDNHbM\r\nGYTDNmWzd7e9GX+TiadaaEC/OKyzpWLGsa33q8RnSrU7T8S2W5vQDnhSYqUF\r\n/sjoaDg7fSDtRPxk+rtDKSIsBVdyjmCA7e1agMEfJQq1BpEV62GX4Q1PQnkx\r\n1uCq2YloQNaL9/wuu2NOB2H04tyiEASoX5ervx55todJ3mNEMpoutCnXg7fy\r\n3mH29/+JFgIdRN+5o40SHm7IvzyXkrSVehhwwrN672oVzd+8vJBoApB5niOT\r\n37gKz/LT7comzZWLrKXOYra+4EQywbfKwwqCyq29hTGTdwmfgiG5pWS3yarC\r\n1B7C3exJa3XPzAixRQHdqEKrJ64I1LG6Z2oTpqvAvNI5kJlPEYneM7DUq9Mw\r\nFW4bM9yaM5onWT/xN/AgJH26C8qeZGWI9CXXcXcvELtzPFcNZV83GYetNZEv\r\nXOl3RXYiH54o7tSdlgab5A8Ugp8FCoF+vyZtHayHpYU1EUrQRyxDsEnpjQH9\r\nSIlQ3aeAbnNkHhvHPj9vWmK2EFuRAHsg6ttfKN6TgwJEOnIgKGJJoNcQJQKj\r\nSUKoomggTDpB9XTBmRVQqCbAWP0bsj/bL0E6YQNC4G0ZtLduOsHS85aY4lDF\r\nv6S2EIwvbHAcOtmNrnVjjdxuqx4gsJxlti8=\r\n=msQK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9d24b185ab8c87061ad27f4e7791690a12e10135","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.fff4066c6.0","@material/feature-targeting":"15.0.0-canary.fff4066c6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.fff4066c6.0_1678818395089_0.7354962187637237","host":"s3://npm-registry-packages"}},"15.0.0-canary.87809c710.0":{"name":"@material/dom","version":"15.0.0-canary.87809c710.0","license":"MIT","_id":"@material/dom@15.0.0-canary.87809c710.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"029e0695dae18f158bb957c7c3241628fa6692d5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.87809c710.0.tgz","fileCount":28,"integrity":"sha512-wNvemEnQtZBysDUw/7mhSITt35qikQcsmI3EXcZMWvjH+TQ7pNDHHkKAo0yqLNC8DJ5YkIgfBPS6ZKFThk/3kA==","signatures":[{"sig":"MEYCIQDZa7AEAo6koqjlULktievM2QMvBjB732sqjzNBpi8frAIhAJPUU8sGK6VFaa82+0M4hzoFxjBj0WzQzzYZ/+5Hubel","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEMApACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpqXQ//WpwWt0FO05RVzbR2e/fWYK4Beq5UtqDqXVa3tjpQaDlk5VNF\r\ne2yKYHXOKTVvN2dLwaYGE/K18h4fHahc/cvg16W1B+IM7WMmpvncUaeFFuuQ\r\nxIR1JtRxN6ruDUr0IcHCYJcj/ZSNKlxZrmbn74p9sTeQP22qywNN51446Dx0\r\neVZd5ChP5w6DYcKRzVpuzj5MPdj2KKOYf8YEJHDygWBMXW+qRGbyZL/zuow6\r\nb9sUgAtLupTe5BlUZ0HGCFKVFx8YB86MfdaH2RRutG+tco8+gHDXDplSYajB\r\nLsWENteUw4PT3QvLP3YDBpq5Fdm3HrmMEmGlHQT1goKHydsg9n6gW487HaKL\r\nydlCIeyU6x8HI9GyZPhg0Eluf1c0JTOkF2eVl+GLtZDbhwwHWAXILCMobwXE\r\nH+0sQovgWR5FIbMNDsx205ZUjl4q4DyjgtD03wHMYs0z1tqkVI6ihVsCqFXi\r\nwKhrRriG6NKiziwc/oD6z0++GmjIgaoeuQUzmMtXe61bplxILMB3KZsEMEk7\r\nibyLBqX2WQOhVOzIz+v04Es4NNosd4Gwsoye6YiWUTMnxpUXyce2FVeQjXxj\r\noYurC/LSl6h4/9SRfEYwqarHBD0WYwwKXfMR3XP9xOKs+vIaYR872vnC/Mf9\r\nAyAtnsHWCit6waeBUsdvGW3sU1VhTyVdFRY=\r\n=Gd7l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ac65d4def7491c4e414883c6cab7e075c7374b4e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.87809c710.0","@material/feature-targeting":"15.0.0-canary.87809c710.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.87809c710.0_1678819369285_0.5884526762314568","host":"s3://npm-registry-packages"}},"15.0.0-canary.48d30012d.0":{"name":"@material/dom","version":"15.0.0-canary.48d30012d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.48d30012d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ab37f565d69b122f4064e116326ecfcbf2730e7b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.48d30012d.0.tgz","fileCount":28,"integrity":"sha512-JN6C379G8+vu1SbmkUlT/eTI+dPuD59L0ZeN1e+w7BpQqPcveg/3UvTJ32xaF3Aoz/jo928BBYrTh0H7UXWMmQ==","signatures":[{"sig":"MEQCIAYtt3n0cDz8agy5BkyrLieIue+q/y20WMA/aKCMT6I2AiAbAyMzRpdTkApL8TnIPsWaN8XKGap8b3pH6DygrX6AFg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEMEvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqUyA/9Fxvah3Pju2UyyTSefwCduRam6uHielpNN07TE5A/T5m9hgK9\r\nDy0BanRWRAMqENPLnaKjAhkhCRVW54lo1SPQqbtjk9BDu+Q3b9gERa5jIFf5\r\n6RyukXsA5thLHyXEVcv8l4zqi2/Jz4+bq86MWiLkuGOuTWMMfNWTA1z2FRQ2\r\nuoNja/bGUAvA2Azwqvp55dtX9metV5W3nes+uR8aN9xftWv9ZiIfHYwC2lPT\r\nTpMj0L4rby2XL4VkhziRGneHdhXCqVV07m0lMnWnJKrifmTVhchwXG+bpWS0\r\nKMAfLfVEb0HpO+rKPbYA4VywxkrsUesbcZZAl+Ma6jK4VEMjjRi5kvUyyFIj\r\nEEWyM+kQRNxXbrPoW3A9DqbJQaf5WN/FwimSxCN4QTFupqybqMiqSvvs8R/c\r\nrxIG7+xbUpW6ZaSHEKvcxk7AfqF6taAqwm0RgbkfJQfUrXcozdmDGUj0ZSZd\r\nSeavKz6ThIBr23FLL+xVLm5KdFUiThmG0wnrMPWi4HVdYZnJY+xbzsXW6Mf+\r\nvRcRQ98TByXwm9cYIaAOfbdCOng1KMef8ztLqj8ZBNA5/gLOQnUm5mRLcEKj\r\nXrRPGjh72nDGKpVP71utztGZhiqRd2LJLl8BJtVtUwWky17KLSgbclhjhF4z\r\nAeuBxje4kSKLoqFLURfxMl3gCwa6LvK0gTU=\r\n=xphL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"f2e4b43d20ea58b52a223d31b8dcd3f813d1babf","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.48d30012d.0","@material/feature-targeting":"15.0.0-canary.48d30012d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.48d30012d.0_1678819631355_0.962933033996737","host":"s3://npm-registry-packages"}},"15.0.0-canary.419b23cc6.0":{"name":"@material/dom","version":"15.0.0-canary.419b23cc6.0","license":"MIT","_id":"@material/dom@15.0.0-canary.419b23cc6.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9cabb0445bfff9f4b7fd791e0cdcd25527d78107","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.419b23cc6.0.tgz","fileCount":28,"integrity":"sha512-zjQgCJMANyFEYbXJEAp7ur10C+kirjl73h2nhQLFLTRRrZMf/gJ/H93I//k6FRwFktUgALLE30cgra3b3rXCiA==","signatures":[{"sig":"MEYCIQCY4zfbjIDGIBPah5ldGz7UlMV9sHHLBxJPBcdRfGoyUgIhAPjWIJUih42r4YJXJo/WtU/reop9VwitT9MFR/dwYhYV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEMPBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqN7Q/9FrPlk+iCVWdhkG3pMWK5+bIL6CGRJOy5Qfm78jBKBm5lkSHP\r\nq/dc4XpBSlOQnY63tgsJTagS5gqOedhqeXqzgsjCk283TJ64KLv0i8Fo3+9Z\r\nCmrSZ5igyVfKtMHXKrVvU8jauynQdrGlNs3XWA3nO/Ktzc4LezjMpdMCkxls\r\nQD/Wm7UzOc8Ll2XZPLTMTBB969+LQEyZ7j2NAHclLRmxDeed90a/JZDkFx1Q\r\nb9Igaw3XQKKzLQmpOdnAj17DRsf02ERDW2iJdZ90yqveXDe4BLv1y4IOtrUp\r\nkcZcfZrwc6RF/AKYG/faH3kyOfDJ6NEpzXlFaaJOhyIq9aKHimhELMRN+VvC\r\nuPyM+Nmkdp1NV2P5/iuTWMELLHvzZwrl/2EFQa6Quh3NtDizUoUGbFtRG9jy\r\nhpeqEG0AfxmXReMg730RYcWutdgHMNjgqJsmT6OWfdr2BZC4dTHkVtS7HTHj\r\nADNVGJYucrG9L9Dv+s2SlplwNc8wnURxP057OSdtdGchkeQxPXFLDobp8e2o\r\nR/2ppWZ2CCjsbgUYTg2MF7+msxP7lH8wWgHp3I0F1y+bjlpIy+J8Rpm2A+ou\r\nXLwN4sgUPpE4jBTwGEN+n+YP4gRMMtnwvK91M2q/dkuf4tT7bthj8jrtKLRB\r\nDVNwRaj/n4CkqTrU9fq/c2TffxgKCGpOw0I=\r\n=CzzQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3b1188210d22a02ba5ae948779bf92655e47aac3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.419b23cc6.0","@material/feature-targeting":"15.0.0-canary.419b23cc6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.419b23cc6.0_1678820289316_0.8870103669380998","host":"s3://npm-registry-packages"}},"15.0.0-canary.bf86521f4.0":{"name":"@material/dom","version":"15.0.0-canary.bf86521f4.0","license":"MIT","_id":"@material/dom@15.0.0-canary.bf86521f4.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"585c5b97c4339df9075710224f4e72cbf35dfaa5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.bf86521f4.0.tgz","fileCount":28,"integrity":"sha512-9rh0dX0SVKVT2YA8qvqAQw25P/wDzAHCrX1iR85alJhFMwU07Y4dKv6qtGuPU+IWTKF++SIjc7FR9Fn3S+keWw==","signatures":[{"sig":"MEYCIQCdsjYdBBolBWBDK4qjdAkDXpBkaz8oGcsT+xDxMMGsTAIhAIRbdRkcWEEXlN7Vmm2e+AKhi05CHKX4MFkWBtcoWen5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEP9zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqk+A//XhKP8k2Xd43XSVMmI/PakAEqF2WOdMpeMaxvoWUai6Z7tDDt\r\nlHohi/ZpOx7h4zeOGL57XLGOlq9+s4KOAg0lDYxiZBSKYusE6ve6yE02xCic\r\nE5mBaDJs4Rg8SQadjPPTbM/xs6cNO36kVag+7SvQcxoC1Rz1fkV/qYYni5Cg\r\nO1JvZpnrBvbvUjfQDHlXklSqrxhWcAWn35IZlHY8hf73hbsl4IAKQGpWjRSc\r\nZUoEcGbOviFa/NNVRBuxFQ74w0vxD6LElmAzC6He8cBBTI6UCfN+LVH/qqsX\r\nNa9sqCFeSC2zMVd9AGIiHb+i0s8K7FR8w0QKnVOSDXRp0jVa7vT4PE0dOkxF\r\nbjptUTwnFtt8HntZ0Ukd6kd11UwY3xK09nCT/+gvG4yGZWKVtjnT2Br7bxGr\r\nTOiqiNVxHhegm6Z5CD0yb+ktZMkTWZOpg6ubQ1vmXwzO5viZmfLAk9z2ijXc\r\nX5x8w3Z5t6sqqdyeZLXnif53kMjvE7vPdDp/AWp2Kt0ojAaLqyJPxQDyghuG\r\ni3FhV+aT0APi4h3Hy+u4j2BObL2f4umdgTT804SD+nc2TVW5iQlRfvD7h8yp\r\nnkL9OPt3PLUdHzcQCrmAN9uHeZmgqacCVJzLeAUw0GBw/8X4y8ECln8TjLn7\r\nxrWDA2utXHy1rcw9kGrmnQaWbgaRhkOAi+c=\r\n=mRl9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8f5c1bf1449cde9c918f51bd033762d247655b49","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.bf86521f4.0","@material/feature-targeting":"15.0.0-canary.bf86521f4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.bf86521f4.0_1678835571086_0.41041088561530303","host":"s3://npm-registry-packages"}},"15.0.0-canary.11f3d280e.0":{"name":"@material/dom","version":"15.0.0-canary.11f3d280e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.11f3d280e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9ea1958892e18e80a2807156c26a15ba2f4116fe","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.11f3d280e.0.tgz","fileCount":28,"integrity":"sha512-KqRkBkkWLRLyVEcS+8zU1+7RKRmEVAm/0FE4K//yeusYhAXp+CSErQu2/thhTcv2BcooI3WdbwoQT7klZma7wQ==","signatures":[{"sig":"MEUCIH6yua00MyYYglDjZytKUgA40WKuZKPlii1mLRSecHK5AiEAz1+1GGo/PlI8Cs1QQwujjwyrsXmDe0Cwh6DSkoiTh9M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEQ0BACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrAMw//WcQr8xjXRiyKPWqnh49bab8S0Ai+1gA1DdovrpmK9EA2aKKh\r\nVp/g7elQ6ak9ypvtx38CfQfy3zt8cUXfgIKqMf091AeeGBkGA2H2Pq5rvQid\r\nqVrGWASZQHOEO0pYI5IvB2jAlMi+xWqyor7OiXSS/mzFoBqI3xPObDQqD7Gd\r\nXKEKTeC3Jw9ft6Eub0CYH7wNxZe1KfI2GuenX3D2R5tFpnWVlFdkGIXxn3WI\r\nFHqbUvxHVgpVeaymnOZCXJU97BRjjWMkBmTT9cz3JL1zolVLQ8+oFsEcZUa/\r\nRklGKtJaGkBNSacbXi/GHX6V/2wOyiYHuyD7kkhMNzc1qscIQ6J71tdgZ95J\r\nRKv0Mk7Za9lb6kmYwmfUVKHf+JPdNF5p1ilwb85aGuWmOl5CT0s8epfyGwch\r\nKwq9UuyuoNfNfpUhzC3g41l20XgU/+YM97weJCLqObifogiSq3Zhr5C+bM7h\r\n7Zm0nU8wJ/3dY0Jf+y+3tihMVUlpnahWPVtcT94HxZpTBVycXjhWVs60mn0J\r\nv6kbbmgVfpx0/9zXAsaYawTCzlNdANuIem1uFNzapVMXXfq28U2M+P0a4wyT\r\nDbbRavLaNNCxtrnRKvcuGXBKMyRrjcq5oIV+Ua3iAKhtIrXGYTcqsY8Tb4F0\r\nF8Zbekq/LiM4LBETZnQie/zQKOzIpSjB92w=\r\n=KeGe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8e5a0971e8b535be016fdfe963b22dbcf1353e53","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.11f3d280e.0","@material/feature-targeting":"15.0.0-canary.11f3d280e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.11f3d280e.0_1678839041239_0.0024062881315345397","host":"s3://npm-registry-packages"}},"15.0.0-canary.b281a409a.0":{"name":"@material/dom","version":"15.0.0-canary.b281a409a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b281a409a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ae326b29fc740adefae781ff489a6efaa0f7b8a8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b281a409a.0.tgz","fileCount":28,"integrity":"sha512-ue5rljYAEzXboGo+ShMeQdyqzQN3/wVx8LJJIwz3PBMY8mwqBvcyaZAp9bq064XORyAOJm1E0OzF5aOrsyDfCg==","signatures":[{"sig":"MEYCIQCZbRUQTXs2hFEE90IPp+ngM6g3afgxaWC7XHm4iEb7pwIhAOSWYFTEOrt1mW9yypHOLp851QH0d6b5cjGykH6HHiuv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGc/hACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoVBA//Vek5igN+Dv2sj576rmOZncXQr0bBT3j8CoAhqnrznJb2AfIS\r\nbywcGnhFzKV67oLh8o7ckQKENBaU1B3yUPuPJgyj4nVPWP6pOk0AZUdfwH5Z\r\n9v/kho8VcEDe2hhNFOh4xkBnlepvWNjzjtNtjmhBY7TcxHO8b6QBXuWv7kZM\r\n93V6PE6E6fq12+QjcRo9VS/lHx4/yedPbgr0vD7IzNWnQlEG+i5W8Z21tukF\r\n76bku8xOWBZ8u7XOphTtcva/1s1RbTRFyWyGBX4jl6wEJwgkZ4KcK3kLKj8X\r\nAUxSHS/VWdCG9zzIzhFEHz4U3SMTlppICL01zOwPTuQ0kFwwqAVdMWAJQ96F\r\nWP/cz34VgFXDOa8FyJbA5i3e9yTrMEgvhVNjBm/5+w8ADKnQydsL5laF2ZUT\r\ngAMrxNyjRz4a2PM+RJHAr35lk0m3/f7kYdZvmIx9vRJs6oOORIf1Q0bXB4b/\r\nnCiqSgRLw5VVFiyoDGHpEq+BK8Cnm4wrweBGJ6JR6f4wAeJA5kPuhmdsGa2C\r\noyZVDOJ2EJhZrBZt7QlzmvQ0PMUaKeAneXo1qGimL4+B2RD/K8HFtvyaGhWP\r\n0DMJRlhMi76lpVqeLN6qPToGWbbW4F9Z3e3w6UpwtI2ju9Lz1DlylvXlTUxx\r\nY1YJUNcs+dTyV1iyodV7pEbMoGRtl0hZeIU=\r\n=S3kx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b924c47aadd36bf60d7c29e466ab3899ae4085d6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b281a409a.0","@material/feature-targeting":"15.0.0-canary.b281a409a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b281a409a.0_1679413217211_0.6589688747820992","host":"s3://npm-registry-packages"}},"15.0.0-canary.39e473690.0":{"name":"@material/dom","version":"15.0.0-canary.39e473690.0","license":"MIT","_id":"@material/dom@15.0.0-canary.39e473690.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a6ec7856f98226af5b69cb74875f7688ad7d79d1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.39e473690.0.tgz","fileCount":28,"integrity":"sha512-1/d57Yb+cjLoPyqBMw0aBTOyFGuoRPMniYVmhkE8TeGjdV/rY5q5Ug0IneCBwVXZ/JD+cxOQltXzV/dEGigJTw==","signatures":[{"sig":"MEQCIGfUVqPNONi+oYhFmM5YE92AleECcR5M1fPSzmTmlNCKAiB8ScU2DDbTMKL/ZUKX+yTqBF0ugnx/SAH0ydMp1cpkEQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGe5uACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrzEw/9EWe0Bjf0+KbAyur8tjdXKP0uFfXPIlnCUuiEEv9qzqjXBV0G\r\nBGKDYKywe1y58DlOJbQQgnIUFyrHhFCwt5oiniG1LzaNtzmtUjkoZU09bGwu\r\nPcT4F3x8/d6Msbsv4wwzdQnQO7j3Wc5WSCRYOuPtPtW3sclo5v2zZvAULHY1\r\nfcUQefPQXglkMclF8P/6R6H0lqaYqICpg8ZGE8LgocBbF//8ebQ0KiMvIGhA\r\nR/NArKZMB4dRRhrNRzWMLSomHQlkH+qCK5C6/ASX2z5zjSySQxQtauYvXplr\r\nZfrRHj4zL97pQIW7Ci5HXRldThq48ipzJ7o29VOXPXLiTCAKStryJtD6VL3x\r\nSFMgEJk4bxlRjXLP5YoXnTKI2WUgP5QWJiQSfwWTgtvyKvk3/VtVY3lSVWej\r\nxU0SQzM5YRrrtJcGkAbOrsOe+eHE6i55NgEKXqFi4RsU0saCJF9QiNoJMnEu\r\nWBaddf0l1rpB5nS8l6Tw2CzKdL6MTp2SDF4CVUyFlQoVYiAlnX/n84Ag/u8H\r\n2fpmqPsbFuFYhlNRBo16lVs25VUETsK4AGOZsKCIXsXDqKf9PlFaWG+n4b2e\r\n0ZGgmvg4xFaMEs4+t4WPOETMqVB7WyO35ZRyo3Hogo+pl8fqAR8JCb5lwega\r\nskTfb6TZUodLjZN7sOa2W600Q4cYUHWLW6Y=\r\n=NpqQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"2d372eedef7c583c60aff8d4cd51f8de971cb93d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.39e473690.0","@material/feature-targeting":"15.0.0-canary.39e473690.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.39e473690.0_1679421038636_0.5548832734825992","host":"s3://npm-registry-packages"}},"15.0.0-canary.cedffb44c.0":{"name":"@material/dom","version":"15.0.0-canary.cedffb44c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.cedffb44c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"059c1e10cba7ec6645db14ab9f4519727e5992cf","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.cedffb44c.0.tgz","fileCount":28,"integrity":"sha512-Adcd3RozEjTG8akSyLqp1YGV8k/CoW2OzMfAKRFsMwCQOzQ5E/wxKXASUD0BBRIaITqcj5fYA1zNgA7X7SAdUQ==","signatures":[{"sig":"MEYCIQCJiweS2/mEy027CQa9kfRqWgTCbSmIjYQwuf+SxmSS7wIhAIL3xbHK5XmiU8FBAYQf82N/s6P0qqXGgfMUpYr39BNB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGfAUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpOZhAApQK3lV5zQ3bvarOMo6EqfqJ81V84oiWWH81VqA1u+LCS/iFV\r\nHKXnDTUo6UNraEmLhO1NYfkJcVEo0I3NHUIoj69Shi50FIxj1oCg5QtH/FIC\r\nSeWwMdirXAoCwBEXjxlknlPX6mWfrSlQSSfnBqJ1/BHMHJowNnLCXfd2m8Me\r\n/GtdKRK57B+jKi4FjsJRTsfaVLNcbN42mGVc4JEaAGzHGZv/bbw4+QOKsYaf\r\nHJUQcWf1bq0Hce0luLFqoqXA+OhHC9/GOQjb5+cNt3vB2RKNhrrlPHml2SfK\r\nXEeg9LY5ozgdQj6LK43nbLfto04eDSuqpgrG1QUwGn/rijctnwfdW2mJrUN1\r\nVwTuiF4D7FCZvCM4vJbEETnq0J6jD8+b78WGNc8sakcBYpZd8Ak08wRwEEHC\r\n4+fgwQc2iC4sjSR7RDQUXJkuR+FcjAOrBqmrGT4m5czx5v5rjYUBbU7CnajH\r\ncPnGh31XP+wkNgWBsE6rHu+LSamZAiYDf+eY/Oc/ukuWjQ/WGZA6a5GssPlF\r\nJRFoav8ijT8MJhk62H4o1unl60CcZ2q6K5Kkm5XQP+GVGm+gQWTqA/EZYCgv\r\nCbESn8ISkgZIJCEsCDXbpJPFPGtXNGYIrI3okmpHxShePIpM3GnLUD+dJjtk\r\nFTw/+2sSlwfDSFJxHRuXE+FZrdzZndmZUks=\r\n=2eer\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"37783644942291b0c5d41f7499a79b5f61bfcbfa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.cedffb44c.0","@material/feature-targeting":"15.0.0-canary.cedffb44c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.cedffb44c.0_1679421460528_0.6838167919679039","host":"s3://npm-registry-packages"}},"15.0.0-canary.36a4cba99.0":{"name":"@material/dom","version":"15.0.0-canary.36a4cba99.0","license":"MIT","_id":"@material/dom@15.0.0-canary.36a4cba99.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1d8d2be805ed0ac366ed3bdef162d0d244459394","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.36a4cba99.0.tgz","fileCount":28,"integrity":"sha512-d38NwZsAp1PxqCBqQYIBPlzLfowK6q9P2FFKuLQXYGH1kUAmNHdlhbIBPfedm7zq9eZq1zsLg+nqZX2zx/LZRQ==","signatures":[{"sig":"MEYCIQD1q1sYOIBkgA7kfjG8M99Aa1PwPEZn19Ui3ceMNazOpgIhALW4k89ak/lUdMSllSpfR140uAHJn3s+KA6B+zMqL+ee","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIyinACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqI3w//ZIScglNCGYxgpsSrlmDQZhaWx+6rwASKcYBfzcp4lGZ+1h2N\r\npcIpiXB0H0Uj91ZNujJdfcpHWM76vwNhq0axAtRn7WxavXeVSsa93dQ/KA24\r\nSyBZ4/VOZElZ6tFGzUiU9BvVgUZfpMfKi3xb8f0cxljZ3WQJszH45m1LMthn\r\neoZDxjVrvoy7UbiH865PJcvicJwRS2P9qm9YBJbKnPbsQVx+Hk4wEChaAcKu\r\nqspHbT550yEemkJ1Ir9MzZ35lvuY7VIsLj11Zyd24qmSTmYSxj8bwq0pjXtA\r\nCkpHnmHI1T3MStpJo9D4+lGqG2JJQuRmvytuvsdV6lTKf3szrEaaY7n7e3Xq\r\nHtTEiUQhP7S8jobWj7V3AGM3Y1Xr2FY7v8vnoK37SGpafkjZRt3VAYb5U1j8\r\nxYdHNKQhTogxGaW9hzN4hedOkufxPSXY6ZLHRVZ9c6PP/cK+ju6TWu+6teod\r\nsrwBRWTSGXN1QuQWJrKaW5kz2yqiA64eFVJ9sbeMQvV5WIG0y00mkeNqvvQZ\r\n8HnG5zCvnZeBy/FgMPYL0dbLZKqtoRAA44NWeq70oMOFRrwGh5zm4QPlYjiv\r\ngoaoieXYGq02cxIJfuO2oI2HkKQcyj0DQohImhyYdg+JhU4t8g9dIRicWCYk\r\nHTORRMFskbyRJPg/EuTIMrgfIoIfdWdP7p0=\r\n=VBZi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9895102e50a9e7eda73e0b0039246bc56c79a7bf","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.36a4cba99.0","@material/feature-targeting":"15.0.0-canary.36a4cba99.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.36a4cba99.0_1680025766939_0.14525840684006797","host":"s3://npm-registry-packages"}},"15.0.0-canary.ed7e82ded.0":{"name":"@material/dom","version":"15.0.0-canary.ed7e82ded.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ed7e82ded.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"dae4c76b399198f3a8dfe68d6e7cafc8fc4de34c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ed7e82ded.0.tgz","fileCount":28,"integrity":"sha512-8bKC+0kn3SP6PEZ263IPnciXuGi9IrED5vc3t2a0o/ggO4wdezi1Mf2SrmLx7TjxFImleGlnU3nXnJ0pNFHmMA==","signatures":[{"sig":"MEUCIDr/ZaiVWjwPbpagPBHzpPQRk7aC9uDaYgwaQdXGgCc/AiEA30ze8gOWeOCV1Tg0fnUjpJDtlOs+TrWQaaVSPs0aHuo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkI082ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKEA//RHkBAHUrTL/y7REdgv09KXD8AXrW5ujufI6sJ4VdTIKEQBdb\r\nRt8+dPBaQme0fXYD8sN8J8bEs0Om9dl/6RmRJY2gaq13+PZHaCTx5ybnC8w1\r\n402ErsHqOG92DlSHLpT31TxAzcVfZPBFm7e44c9S1oCJoQeraxuotQLLYhP5\r\nRZxW5w7Qhk2BQLQ9xLxkhb2b/R/59tpQdPqLYhqYehR25QSpVJgwwZ3vpU+i\r\nueR//jBj4zN4K7ITEpTIeXK8u1KPR+B8ZZl4wa8gE526JofiVOno0GI+PJ9R\r\nXRM5EnE5/gDVpTgBGeidCjR1Us+KvMxBYIYAL912S/ZwcTUm/dIsIP75gLvI\r\nEyLF7dFhLQVM34mw4s6VHxOD0Cgj49YLtRItZD3PkbgOicPtwMcMCoOQM/Pt\r\nIWC1HTQdmu1Bd1xGe/yRjD+Dx6a3vzm+QnlsDOVJrK5Dm0Edy37o07RDrUFA\r\n2id6UFXU4PEpRusb/hJ1ztqYZF3GIUVzPkI+UuVYW823MmHrAZNvhEoP8ILb\r\nUkPAFkr9gc8er8nxNqsd0tS0jE9M/+WkaxMfTcmryhwqgSGmG5imn3qr1UzL\r\noI9ZRAtN/oW7jqZGdrNchdyGKmCOYdgbKv2XVegO80JU6JBmpBAx+yHV2fH5\r\npzxL2wH/WPHmkor7x0BH9gZEUomkHTEy5iY=\r\n=zE+j\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"037c17ed14cf732acefb4bf7cb0a6c61f643b991","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.ed7e82ded.0","@material/feature-targeting":"15.0.0-canary.ed7e82ded.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ed7e82ded.0_1680035637922_0.234213167952237","host":"s3://npm-registry-packages"}},"15.0.0-canary.55093ee1e.0":{"name":"@material/dom","version":"15.0.0-canary.55093ee1e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.55093ee1e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"87c62c491da471e16b5dbaf15401f7e86b126fea","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.55093ee1e.0.tgz","fileCount":28,"integrity":"sha512-gffH5fTiyZAm2Z+itdNaAWfuD39TXoLNHbP0z/CHsC5OZME++dl6K7vZGDUiPTJTA6tSdkjZjm292bp3vJbc8Q==","signatures":[{"sig":"MEUCIQCpC4hMq8zEPXcvjrAx0LKN66O8z1mXtwZI3CeGQ9u7NgIgIPHnl+I/mH+PNlVTZSvGxkPo1CeLk9Psoluu3mQVlhg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJIfFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpfNw/9G1g5LxkhTEXaAU6QihNBQrQfQiUm2ssW8wvLcnxYjvmUPjt6\r\nQKLALB5xfX+K+s0e+aiL6LlzmXWX02tKflEMDckg9BtQDpGdmambF41Ekx9Q\r\nIoI6hBoKc6uYwt7qfIdzO3TYzkPIi4pv7TBV3Yz5A5R0BCsv59VykclH2LJz\r\nzu3RoJvvoq205FHifaIK0irgnkZvFv9i7qX2mTdcDJkittbO4fzK/MsDNL29\r\n/7zxIZCJwYLiegoCI52Dp0balIGbiSFPZTHyrMhG1zIa4g2bnQYnTPTmofW5\r\nmTSt6s7wLeLHmXhC9wSCmbrPnyg7agr5EvrKqydlvtZqp63DARDkWV3YG82v\r\nbIGHewAC8skLDEHq5e2yR6BbD5ZIrSvSz5yfKhOoEy5d6eGGsK8SEnCknFKP\r\nVf1OgDWi5/DPhdaA0vwOlLYtTZQ2BcO18Vys4mKo4gopZ/QW90ZBaBJMoftW\r\nGrQE5N4nmoOoMYtGymiQV6xOKTHH0ZQwU4MiuaYtZfAgMBHbAgFh280h1Sj+\r\nhSgoNrAywKqI14YsS1Kprl3pv81RcRlxDOqwU6DWcmDXKujnsqTUGXTJfNDq\r\na5ry9pOR3MOiv9tHiQVNAjyV5ersLDhCZHvTJBCzzACcrOk3wE9yBqzB4ODY\r\niwyACrIskn1ypaZvQHZFHr37yTuVrGTpnRc=\r\n=Alop\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"98de61151738b5091fc2b0e261c18efce05e87b8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.55093ee1e.0","@material/feature-targeting":"15.0.0-canary.55093ee1e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.55093ee1e.0_1680115653470_0.45897698305141144","host":"s3://npm-registry-packages"}},"15.0.0-canary.0c53abc81.0":{"name":"@material/dom","version":"15.0.0-canary.0c53abc81.0","license":"MIT","_id":"@material/dom@15.0.0-canary.0c53abc81.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c16d2b58c02c9e47b5b86eb5d3e316d82ce05c83","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.0c53abc81.0.tgz","fileCount":28,"integrity":"sha512-VueZKRDNrcc3fRT6xBIPIt6e9WTYSW/BjgIJ9he8No80WgRifLycANI/C13rTsf/WTod5rwi+THR0525iLzkPg==","signatures":[{"sig":"MEQCIC5cggPwukYDAAQ53lx+fRvuaMGpED85JaUQw2ugKf+2AiBmwU8BLBoRkBcH7KTqrjGEvGXebbNVKhKdFQirqc0rxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkL3SSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqTsA//SpGsITQ5dBTKS93fQ1zu9/wPP3HZZb6TEydwC3EkxZdKRMte\r\nHHlL2JeU5BRiFpDw9gSAKgYVTGH320JV7DZqabNIGzgEuq/Mw1bgb7btWzZs\r\nE2f1Jgsu1+SzbePz5zTuojO3XX8I/1QtzKB7vFoeij3AXO64SufajqUKNg7M\r\n3e2vUBSPsWogfNnFJqhdzacTfR14F9HIIHN0kQ68BmKX7ucwNINnodu8QAQT\r\nUYa/NDMV7wGhI5T7pikzX7ebEEeCT/Fujnn8RUSIAt/kk5zt8Fa8KWcrZJmM\r\n5cMjolTUVrNQPAoP6xDmpy9k0pxZhxQo15Cy2c8QY8bF5lZsBAvI4Mp59bM4\r\nmrae8pcLHJ5Zay191PsVVtz1k6GbbsGPFYKk6rU24924pJdGkV/8FhLF1Evl\r\n5dUhh7fLmZ1Zx6B7ivGKtNu7b7Q4DKCcvUDNpWwpmz71iT/HK8AqY0S68u1N\r\nj2s0LRZDo0i3yMXDScz75FtUO6t9eZRHscOsWAvAdhom4UKlUMA0hiWaA4qE\r\nnj7YVsU/qvN+Ix/kfnR2CTJJxttJNb/aC2RS5AHbX5PtwET0POwPYl9EJCK4\r\nLfXPF9H1p8FgCTNjzUPvMNFQvOBkGK/7lCL9QBToXAQt+Fb1ltVdUlPtjPJj\r\n/sWXg3j/kkhYUCmdY8rpqwctuEyWqANTZno=\r\n=sQdI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6f7be5b2317c28dc06c5b0bf4a8cd44df591750d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.0c53abc81.0","@material/feature-targeting":"15.0.0-canary.0c53abc81.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.0c53abc81.0_1680831633748_0.8561302371235191","host":"s3://npm-registry-packages"}},"15.0.0-canary.51311e69e.0":{"name":"@material/dom","version":"15.0.0-canary.51311e69e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.51311e69e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3154b1bd1b7a1a7367473d2eaf65e79cf15439ed","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.51311e69e.0.tgz","fileCount":28,"integrity":"sha512-d9eVMlZ3Y0oSf95Z5yFB0SsySZ0rXuZEOyifcPoUmMCEbx9iwGEy036Ixlf6vVsQ+bt4zT0AOYxpyR8s71Scpw==","signatures":[{"sig":"MEYCIQDMxIIqdzQM75L2JeWNusguncgyuEFC1PTBldckexdQxQIhAJSnEYLkD5GO1pFlCOT7DaJgO6PHi/dkMyvk2wi45rzo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMFvTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYIQ//Xkv5g9tvg/9/oK8EqDS4OpTRZCIVKfelk8X8rWOxDsgSIWSZ\r\nDQ3DKlwFhTM1POtullCneu/rWKnU8tyvnmNo0rqPYFxyS4HlCTElzrmMaDYK\r\n9n50bpco21P0e6YbPSfe66DQUpyWFXHoeYk7bc6WTYDKxDhVW7A1yaJqtMm1\r\nU9rx3S/pRqr7oJwl8turWMrv2hZEQyhGhCQGQ0J645KjgiLVQMX0LfYGOngb\r\n27XcW5bsBtMH9rM8CojELnuK08n1cJhTfV6wglHZGpPMVc5MdWAZ6127hkJX\r\n3Dw4Fd5volAZFYeuBED/kfQZAXwqF8Pgx9/zWnVu7d55maW+A52OY4bp4O00\r\n1mpU+aoJM1i3PkN1Po6ccdAg+9Ngv++ggNQKP5VFfFt+5cxVJDZPqjM6mGn4\r\nPYWYCrj8XwmglN0Eo9g0x4Q0spv8AELJyLdj9H0267gVjh/n88MZqXktx4Se\r\nIcVXDB2sYVSSx28jAtk8IZNewHBc7awpZDWT48vuYqAH0IERVlLF2V73BtDT\r\nNdRxG47pH+C4uRGvIaLZok/aotWAE4h0sWWgniufg3BSLq7rBPX3XjAd88t0\r\ntR5nLzgDT10tkDsT5nnzbaE+TGXHx7YrLwN5VXJ0dE3nfRDJu+NCKGqq7q+9\r\n1cNla3Y6DC571XmbsPxephArk0OmYTbnSaU=\r\n=tkni\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"20cdc4f9c3bc9046fb111c8b65ba3e9609585dce","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.51311e69e.0","@material/feature-targeting":"15.0.0-canary.51311e69e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.51311e69e.0_1680890835623_0.6081376288850717","host":"s3://npm-registry-packages"}},"15.0.0-canary.113b1a38e.0":{"name":"@material/dom","version":"15.0.0-canary.113b1a38e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.113b1a38e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e6b81521c4445d3f36ac77926f1808b33c082fed","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.113b1a38e.0.tgz","fileCount":28,"integrity":"sha512-o9PvQMYklU5lJqYH0NbAJZrNfKfjFKJ6oGqTfKE9heF0lQler+8RKz1NhId6hO/gUAEtbXhYZ4tu2KTTcuVPLw==","signatures":[{"sig":"MEQCIFhNlXMf1RJzbV5+VQYCrg6sBguRwMwbhBVq+qRswTLBAiBFV0lcPu+FyDW9pCeycAdalTcDA6D6I2P62Nmt2gf2bw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNIVHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmozjg/+K5UJ5IdVav+6EilevP3SdILV6SRblmE+MV7x+IBsvO03asQJ\r\nd5S/pT3/fgngaTR+IpyVYKcdA+Jz8YXJJwg5oJXRyuqjFVtB5RPqMkK1IjNT\r\nziNKY9HRiBGMXLhK3lY8BK44+PY8LGAyZKr3mYT/Wk04fI/cqCPMYPKiIscc\r\nwhzgQkRSjk5oN0Alx0p35OxjE9GEXrVHt2Pe2AD3CRbwjsLLYH12iXDveWw2\r\nkfp9mlpTnLW3m3t0Q0fEuxj5sT4iPIHP5rHNcgFX1WS+GWTVKxO6E5RuGVr2\r\nnH/xd9OasYy6N9yCygjwfaOrVeU42II84cWSvzxdr3fny6g496JYFmCxTGIO\r\n4VavrJFVziL3iG9Jx9PiBTwssVSJ13fsQvjfiqhKH2ZT1oDdxwTpTPsuAr6n\r\nTbbHWE7+ecJcbUtjRYBGmdnNB7IH39v2me658TrWiN6qv2Oi8g0CM1K1YkqV\r\nHVu4eon5PCpUqflTVMxwmQL1D29SZ9DU6vPr3wDsz7ERwDWWD71/V4YbjqgK\r\nX7FfSSA4/mRbdkdWBaSD+8hdRNE9lMovcfeWS15balhZjohAJqP6yy2rFFVe\r\ndlGJ7skiQmtzh2uLbC1xPYTpgnYPNXA3swu/2GOxpYr+Ia3BfklYz5usWBUE\r\n4ZVINMPOXJGkIsZTj2td6GmUsNHVDHslPY8=\r\n=+o6z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3613349b6481f716239e1a73c710c0d5fe44df72","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.113b1a38e.0","@material/feature-targeting":"15.0.0-canary.113b1a38e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.113b1a38e.0_1681163591259_0.6503793789342494","host":"s3://npm-registry-packages"}},"15.0.0-canary.ea2191426.0":{"name":"@material/dom","version":"15.0.0-canary.ea2191426.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ea2191426.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1f091e08e2accad3f683e666ba3d77297ffec465","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ea2191426.0.tgz","fileCount":28,"integrity":"sha512-C/gOhGB2FKNZTZpZHSYJWHn1Yg+5PvGH+xkSr+ZGk5eSsfMAKTqxnlvzqu2qLIGZFCBikpKfLW6viRgX7xiIpQ==","signatures":[{"sig":"MEYCIQCbq8de07PIbk3Sah4eAQda00CBNSNVbWJdbzmMUu3n/wIhAM8WtRPdDc6qKqREVJi1T8mkzHMR4PW7aArRc1S3BGkH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNdc1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr3pRAAoF3VpMsCvCBul8ohFjLPT/VaUwDzPWW+04AITVRFsz77p8Gk\r\nUBPVThPhnLPA0c1F5fTLPY+gK5iwndMo6IQ78JZNFb0wQFWS1b60k9aOXEYT\r\njqUkPrrNR/K/iBpycbE0IKCzCwXISeEks3XfJ1IFruroLxNUJ/PyHSmg+IRv\r\nzNCaqzdaEUSh3nnNesDYFW7SAKOOaOm+y7NMpJIP+ES1U1+gJkxIsU2e5ZnD\r\naqbsRIAUrqh8IagA0ZSAXP9TguqKQHJllHNBxc+xhGFallUjGrJFEHmsvUBs\r\nWwV3Pz/tDeCM0msMhyl0dxt38S+8FiBW/URGwWGJ3YznXC4euoXla2LpTPQr\r\np7DZBlLDC+jOxyK1ntxY4K8HUkIRtGaFK5ldelxkfLO4Z6R6Ap8QH9fvZADb\r\nA/rWJDxgzQqMzVLwfcRaKXmXho3E/XQEvPG0dwuq95ThAa/oDgqlqjpq+Pj1\r\nR0Jh3/eWno9ccC5QDEvwkCTDEQ4/95PBaOovaH3PfnzmgpgyQh8n+7yO2RPY\r\nJSj3zp0bYFtvSqmD7Q2fzm4/P0W5Rh+KrC+66I2IUNkjKHWqesZA2GUrkVqc\r\nhOCEbSXlNuQJXw+EV9fzSoYjcNsyDAhaW8XePQrULeEovVB8ECnMu52g4Uz6\r\noxGVM3Qo+3cMjJyt35m6MQ+EnhP3AQmwBS4=\r\n=uoe2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8723a8c5fa13530d57b1651464ec28e9ed1d4bb2","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.ea2191426.0","@material/feature-targeting":"15.0.0-canary.ea2191426.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ea2191426.0_1681250101150_0.8956425637663918","host":"s3://npm-registry-packages"}},"15.0.0-canary.5a5c38538.0":{"name":"@material/dom","version":"15.0.0-canary.5a5c38538.0","license":"MIT","_id":"@material/dom@15.0.0-canary.5a5c38538.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"20ab7503b6ad4ef256e62f73c6cc4e80e24bbdac","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.5a5c38538.0.tgz","fileCount":28,"integrity":"sha512-UMxRlaNT98hKVbWVPTt9P7iNt9Tdj4ZaqLDvxzZ5t7Q7Fn72mbfon64RwXk0SHGZk/UVhdmf7d1I3jpZGDR7Dw==","signatures":[{"sig":"MEUCIQDKQETuNLJPbtBiUDRdATyvsPuW/X1HEoZmy7qk79DhyAIgZkuFuumWKbMO39/62dc3xBiFf5uVLnCbAGDZq4vMNlA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNd9YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmodZw//T16zeBjBGQAPUn6kCmSLmRHfwRSr5fJC/rWpNg4bSLvRRHMN\r\nP3Qa1/EjDmUVvaRAynX9ffFRhsg6qtwKKX62YVzqnXHEo8/L13Oc0MTqhfSj\r\nO3D55pyShy11ZNXiG+Fj8BrZmV8r+rrVaPX5gCkz//7b0DovmxPiUnYALVE+\r\nii3cLAiZGomniI5SBuptZm6EPuy55GB72FgssqHVzFW3YBnfTumnBVsfTop1\r\nCrTTxDPJQ+7PhOniP4XpzR7/AyO+obVsnjEMqruuAVsBjJLWGZ6Xt6gWd0mD\r\nt9+ZZMz3+ixZN8X59vPJfHyFRLD2ZiA0okCJEVGsF/yHNxeyf2R26prkslf4\r\ndAMBN7qtBUC9Hlj64ODfZVo4jx+WMXL055yixd/IfHHj0Tq5ct923Zp1k433\r\nJatsBK5tpBQR4XqGdsN0aCFfJGXMbA3NR5Ehe9RpG60Exa+s51CLKDSaz9Lh\r\nIpxYR3mXUO00BMGe4WRn3y1hLZ0w9DnKju+wrLV47MCIdc5C7kUDQAp8xk3D\r\nt8uBlOYwtlxPVKLOtCS+AgX+Z8lHhz/wuVFAHOUg2BnYmDHB0lbKXGl0FoOA\r\nZqiTxXCLoNev4QaQCt1e1sWcTGBbJIm03B5nKAlbKcF/N3iPISyFHKrY1EW9\r\nS0/9TUTOyKccinh2ACYZSmfv1DGFT0IQ7/I=\r\n=VLJO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b05f00c0040fd0d1250297d4fa4236a5b6b00b9a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.5a5c38538.0","@material/feature-targeting":"15.0.0-canary.5a5c38538.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.5a5c38538.0_1681252184527_0.618440296932742","host":"s3://npm-registry-packages"}},"15.0.0-canary.e4b5ea7eb.0":{"name":"@material/dom","version":"15.0.0-canary.e4b5ea7eb.0","license":"MIT","_id":"@material/dom@15.0.0-canary.e4b5ea7eb.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7f48d281d6a6a8ce147de6a40c9cee57cb2d273d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.e4b5ea7eb.0.tgz","fileCount":28,"integrity":"sha512-nItbTiR/rUfBR73Kangwm7ZyLXVht84wZYcMmOqjx+N8njYSPHm5CdgzZTtLErUpmh6Ff/F5hCseQkcaWex+Nw==","signatures":[{"sig":"MEQCICRVPf7vw+bYbndAwnSwpPlYQULZrqI5RguJK3sIPLYDAiBj/oTSyMss0raElI42t44TdxuTeq0XOha90V2p3Mv8sQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNedJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8Fw/9HY4KddvFZVfgRqjUsej+9bm2jdlBdlHO6sPT0FQs2KXDGPW2\r\nsf1EKLilz+iXMB7nDkdWzemTAFsp1R4CJEv3dpaHQrbA0V5aEm+CIbpzAl2Q\r\nCsGDfMeyqZ4UO8+cvY3d5AO9wrSaHR0NCCGS6HO4NvPLNL3A2p9SzY4i4TnU\r\nlPuC84nqieAU5Tuca53wMXTczRkZT4ewSwmBgvPN1GyT14+LXio2s9w5T+dq\r\nt1lOKleKX/qAitdp6mVcVBu2vSNQ8KOKf59M+XCmWH0bIan5OiDipoISwS0H\r\nS60YDY9c6zBMfG9+H9ZOJhNkvfZbz9s2qGAtep0oh8zzAoRMa2H7fPENvC9J\r\n4Q4JSc6BeTlHJxBERYuapHEalhCJKd31Q7VlMQdQ0CXN1IAwVxZ69+dhVScq\r\nAyaX2g/MZF8Tc84VibMn8QmwUSj8xkZgS+XHkTneYbl5HYMi102GJs8but6a\r\nI+1bwYRiGdgWIKUoi5L0IAFdFOr8EZJS/hdNv/puL+thRCRQDkvjpmgHAr9V\r\nb4V6gc1OYCxMRw82Rcie+3B2FZ2yvudi8VxHdk5as024Vgt508WE+d4Xv1tu\r\nE4klLWlVnJzoVyIkK5SIf1V2PY5rUDhOHRE5LqcaPanRSeQvU3tkr+B21HDh\r\n/DRwVu4G0tFBxLvkgr2PS7rDDg+cRjyk2vY=\r\n=m6Ba\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cfe1a97277f39a7f96340673857504470245556e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.e4b5ea7eb.0","@material/feature-targeting":"15.0.0-canary.e4b5ea7eb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.e4b5ea7eb.0_1681254217469_0.3949617189906647","host":"s3://npm-registry-packages"}},"15.0.0-canary.a094dd9c1.0":{"name":"@material/dom","version":"15.0.0-canary.a094dd9c1.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a094dd9c1.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"08162181e3df8d829c4da7c6035841a61b7a13b2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a094dd9c1.0.tgz","fileCount":28,"integrity":"sha512-j/7b2PVHyeQEEPH8OVAY3Pkl0bvm/Wz7ke0o7avmNBvgHhHWk5+66ypsVlhf93ZtWnjkhwaIUB2Pv//7SdogQA==","signatures":[{"sig":"MEQCICLygnAdgUlnc5TxZbDvWxbjoCo41/zGUOuzLIKIcXkTAiA8Thf7IBbyBHqp2nxjtDJbxXjVPHLnAu200UF3EPP3ZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOdayACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpjJhAAnRVudggWzRDKcLp9G1zW9bLqcK2JnL3iIPlXMGUTPi4jOm+S\r\nvjmr6G5+b5DJsTH1bUAATbYSPh3nlJTWB2r1UGr0m9FU/KgvqruR3z22qS/q\r\nwipAt+t15rQB0srv2PL9CVMOTbLQWJvDN29cp48nxeuELfYN868VZ7tpATD/\r\nWVAG6uZvmWza3la10DeXqOj7VWTMGvr4yLW7YFPvX4MsricTN1YVJQiogrGQ\r\nLND4CdqMsjvSgYfjGl/JRhiFFV5cX7J77OwqnL374U8LNf0A8kndd536AiNG\r\nQiX7C+qPsZp+jMuwqHdaI55CefVkwIhNEPTcYRmlZoROZ4T2/ccFfSj6/cjv\r\nF9HnufMpSusIdJYoovP3l7ey30Kr6ix//dHhfCdSwr3/lo9ZXFMP5RWM6jSR\r\nXGISDpX5knyJzfeDTp0G2SL+wb43YQwC0TsfF9gLlOimEIwYOg/ziJW+zzs3\r\nfHDXtZlQSQxMC/vW9vkMbJERrERLa7ESpJngxn9R43VYiAgRxIn7QQjAD27L\r\nKTc+EBewAXIbq3R6cqUqB+orj2iTj/AyMTzjs8o2Fzxz3UYYa19K+D4WfDbW\r\nsGdExIalu63XpWHhDtAx7s9lf5+4lyL+t8m6vt31o2KYeAlVNucOudjftoLn\r\n7073WY130YG8S8gf9AR0jLt40AVXfRf0SRc=\r\n=JkHX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"aa5164e66f4afe6547ceeadc8a793bb4f489ff5f","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a094dd9c1.0","@material/feature-targeting":"15.0.0-canary.a094dd9c1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a094dd9c1.0_1681512114726_0.6264100838480575","host":"s3://npm-registry-packages"}},"15.0.0-canary.f771b091c.0":{"name":"@material/dom","version":"15.0.0-canary.f771b091c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.f771b091c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"5ff6d6c318aaedf9f0de39da330da869e061439a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.f771b091c.0.tgz","fileCount":28,"integrity":"sha512-lLWuxNhZa4v6GqGKVKcyoHLTJ+E8lsqEBzxmMXKvFCPNj3zZ4prfIZFShT9SMAxLdw+NKAhSZF9YPup/rxsBFg==","signatures":[{"sig":"MEUCIQDFCR3HHm5WIyI/YADr1cmbksrydr2JrI65O9KIWcHhrgIgYez8uM0GvXs9mb0pd6QcoK+DliTx2lx0An9SdQtv1nI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPWezACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqnDg/5AUXh5xwmUlVwQW0Rr84GKR2rGGotKWRW9eQaEZ1jJjkLcq8k\r\nKMM0agYseaZXLpkSDl6/zjHOM4N0cS71w9eoNctNYCbd8OxP3jyZJnUWTTCK\r\nKOgsimf4TeFzN6/XjhFAxClBSOLJjUOeV4cxxsBr8qBLV7up86gKfZdnHdsM\r\nQ6kcK67ugW5nJ5YVFPf87GkKqoTdqVYRpAw0jQjc8h6IAGLNDBsEIuLrtWNf\r\nquFhZjnN8HNuCFvM1twn4R1Ulqd5RT2730iVXOlZRUSQmmjiJYxJfY0dRw8F\r\nC/KQaUnbtc5hFyGvqCgTHmfmHL9VPXwHGq6Tx3t8GeGG9c9knroZyvSn2Alr\r\ndbFTkogRWs7V/t/r7IXaynLJAou4//HDZyqMw70scs7fXAdDJpj+TwmY2470\r\nTBZBEMpX3pTDHiPj4AgqmitQoX1+BRWYkFhte3FUm09lAJNXAxGGY4Qv9Pan\r\nw5EbdKZcxYGaOSM8mKwmQDXDxPiJbq4bgmGPzgMJlwRWdutJUH4IAwDKUH8/\r\nnWJFXeod1oLLLervpClpjkgHGkCNJRs//Uzoa4RyYiHMHLR2gATteA+b2c3o\r\nohueiNiyMo3dvo0Z+Xl6IjR6ouW1hiJvBsJbbARu1vUbXOXjmYav43NmMvkU\r\nStuA0rxYW5lynHuZxApBdVwMxmNoZV87glU=\r\n=KC2B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"de0e292c8ebcab887041fc4a59b3c0172f4d4310","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.f771b091c.0","@material/feature-targeting":"15.0.0-canary.f771b091c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.f771b091c.0_1681745843551_0.2935055590325284","host":"s3://npm-registry-packages"}},"15.0.0-canary.79b1b612b.0":{"name":"@material/dom","version":"15.0.0-canary.79b1b612b.0","license":"MIT","_id":"@material/dom@15.0.0-canary.79b1b612b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"38e7af542ffe63680c17806df82ffb0e2a7daa4f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.79b1b612b.0.tgz","fileCount":28,"integrity":"sha512-Zkcd8cT+i7pg80tF8KcNrxs+ziqbmHR1xjh7ZbewUChKYjAnbVW7zCglCR6RDv7Ew9V3FnCUIoziIRgnlCn5Zw==","signatures":[{"sig":"MEUCIExY/hK+zljY0lev6luW8jFfJpfyoFUZo3m+6qRA7Sn/AiEAuosofZ73bswV6W7onh79+kAIj92hrXlW9hmx5Uo6Bh4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQHuvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoSqQ//TKpnKJQiYXFSnzHnZgEtjtJc/VsNRAr7tFrXrKQ2IU7MOAjk\r\neLO1CNciJY72Y5kH8lgAPBWI8uCEoIaiWHN8qK9dsnJDcZJRKsSycFzRt0mk\r\nwJHAe0F7Q0BFQA0V4iukbR66SVok+f5jat1OxkPtcKod+ZyApY4i1j3Q/vkH\r\nJo8dwJQwN1dTsz64BZkq6HT4Nvv77tkEwNiY/eXQ6luZf5Fd0l+1zafyySTC\r\nG/AdtVX8gNr068qUpMnGfT8mtQauciVZ3I3xFwDoj0f8L2DE0+Wq3wZCH0Z3\r\n63Jl89MwpF2EpUG3sbGAMj3LzzF4VULGhUg/ken/15gO40x4Rv0iqyfNTp79\r\nDTTxXDItHrwfJcRV0Ziw8PmaF4WRRXp4kGMkH/79xpX4x0/aOGY0UrUCfLuz\r\n2zgrlyUUjpUqhSqvNqJxy9MlLG256iRCc0Y38JdoGpZ6cO89okLWW8r8XIgr\r\n5JcYFa3reoYmWAT/jp7GwIbwXoTobBe+8Hu6NtSvx7R5ZVrhyKLQVaWwWNOL\r\nKsjeNNfP6XbRTyqA0VsmH35DlNfB7TJiKyPF7apnVKMHcIz0I4nLKIBmIS04\r\n44i5itptUSMobJw4e/9cs+/3ofwVRnL871AiAJ2TVAboTDC3Hr/cnbt2oMe/\r\nkaqf+l+XjoxgoGFm1P4D/JOnnogrhEmSozU=\r\n=VW7q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c8248a1b49ee37b1782b19aaa49b5626c914916a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.79b1b612b.0","@material/feature-targeting":"15.0.0-canary.79b1b612b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.79b1b612b.0_1681947567193_0.46414578580487964","host":"s3://npm-registry-packages"}},"15.0.0-canary.6f50071e5.0":{"name":"@material/dom","version":"15.0.0-canary.6f50071e5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.6f50071e5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cc2deb28474fbc7663738725387e207573c1bc29","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.6f50071e5.0.tgz","fileCount":28,"integrity":"sha512-ZMqqpPRaQ1XTB3KsxKPlXq8/X88SFsNHF9eRbs02kqRLA91gW2aaCm4a3diuk9gdwPU6bNmOplbCDdJdmRWmKg==","signatures":[{"sig":"MEUCIBYL+tBB13IutSLzs6t/XZ/VgQa+DHT3YC9hnOtWWB7xAiEApC+CVJ1J3NPYLFzSn7O5vjaIhraKr4UBk259fRpvzPQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQX2xACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmplgQ//XiqTq3p3WDuk72CT7WQsH51hEkr0PRSaHesX4Yp73UkfxlsF\r\nOknDnX1FZ3OBBpCHsT8XgktdmjGguFLaHOdYKEphOVJEU62DdMgwTUc+Q/9Q\r\nWvVIYpqh9fbO3fLOKcuUj+rx+uaSD2oKf5U6lZBxGK39bLkaeiUi6wMaQSUd\r\n0GEh6TfFjSsIrm0aqwqno5KQcUaHU/phldBbKjiian6dLrdd3NOgpKfcgbuT\r\nb0Bdq0Ecvbe9GNhmPyMMGj630DAGCqr2Xd9KiPF0+caDTdtxvjA4GBevZlJY\r\nCBcCrWh10J5FCEdAkiD0mC+TvZu//1he33+qSL+jNlP0Sd5Il+Oz3PmXq7rf\r\npiHlEFFO+YyTI9zJXr6sw8XMAOuF0HM9t29efdBOWJroMCsTXnSjgO4qV+Lj\r\n6/c5dxTyWDp7f5jRysropusNKEvUnvVD0zEAPhvIKUpXPdkeBj2ll9pnUj+8\r\n/3Xt8uX4pg2iYnHqjc6qRYP/gwBwe0NfSVaogQ6IA5+/m+Lv8iu7s/pmGxOI\r\nOVcEjJMokpg6mMMwr4LuyORpOvotxHEYu4/uT3t8Q9no5VA4aEM3IIylZpTQ\r\nUVw7nWHhyamI27CXs8xZDGMkg1CrQozivMrHLRdvSnnczHQvE3TqHwBxetlR\r\nLYRmXfT3m9c5tdzO4Bae6+wQ/E2HVSbRfQ4=\r\n=xbh9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0a5eb7e7a96b7f207546983c0f79d6fdf23f5228","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.6f50071e5.0","@material/feature-targeting":"15.0.0-canary.6f50071e5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.6f50071e5.0_1682013616988_0.13566224352701384","host":"s3://npm-registry-packages"}},"15.0.0-canary.ef754381c.0":{"name":"@material/dom","version":"15.0.0-canary.ef754381c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ef754381c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7bafe23b9edbeefe624070464fff25257ca77e79","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ef754381c.0.tgz","fileCount":28,"integrity":"sha512-QWx5dB5GehjPTf48GGPr0D5Jbe4BxSzj0H8CAv72SkmIzCZsC/YZY2a3t341dYWrMLkpsrO/QZjjuLEvsDC5qg==","signatures":[{"sig":"MEUCIQDiqJFfkSR7tUKhNt0kDO8G0QiFB7QyID1zAMjuO+kwUAIgW79YieabCpo0ST4MdMUleSzGY72aDX2BM3d6hDwNXno=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkRuuMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmodxw/+NDm2C6DOVvRvb/9300U8OjnpoXUnnD6ZSVo2/0lMHQtGerii\r\nokt+59RIsFZXymjVpDTJQSe1xIsz2Yq/bmGj/6jDILl0wpH94ztVxr7zpWvL\r\naAxjRYX8zm3jYvBq4849gsDBQw/Il+p4negjtpYAXs+390bEdzYHPf0SUhSH\r\nniNz/V0ZCrWSc7BRyWJC3iTyIfA/cVYhr/fcL70n1Ufw89aMRc0iaodm4Vrp\r\n0iNf2d/wt80r5s0cI8ZFdhZ+M9+DnBJr8Rzy3pxky5ljOYul1gBYpvkKmSxW\r\njmfSfGqvyV3qz4oQt8NdBoDvu+OmSkgBjmPwEuW/Zm56UApX7t3wUnxkHLTU\r\nkpKINciyAkePRBUYvvZMdgP0KblRDv78DtCgMWrYsHiCNMBvak/wApWhvT8l\r\ndu9mcaOLO3XiqjrE4c9WKqes7j+PMYz3/SIp+BQnt3DSXfYlykemzIF7bbJC\r\nswu5Yg+T25Ur59gAdOU16JuvP/hC7rVIfxH5NbMUjKklh9ZHf7G+LknPO60b\r\nbRb0yaIkUc6EJdnyXkslCdqAVi5khFUwzrJrq2bNGozFSS+TGfRhecKOadnD\r\n3kbRqcRjT2jTegu2rKgromLjY81v4Pz1+pAuV/EPq0n3SVrj2x+wb+IdblEV\r\n8gPJTmTNquXHpBo+hhX7+qKS360r0qQUiXE=\r\n=H0vm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"998bb9432e40056ce6ec836100d9a46f72ace249","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.ef754381c.0","@material/feature-targeting":"15.0.0-canary.ef754381c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ef754381c.0_1682369420126_0.20071910495181622","host":"s3://npm-registry-packages"}},"15.0.0-canary.69ebf61ea.0":{"name":"@material/dom","version":"15.0.0-canary.69ebf61ea.0","license":"MIT","_id":"@material/dom@15.0.0-canary.69ebf61ea.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"6d3f17e19c7af11b1cefd78a40fd9f67d5b579b9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.69ebf61ea.0.tgz","fileCount":28,"integrity":"sha512-9kDjkfSusbRxp8kAvDWJjP4cBCeJC0brbzHK2mqLDkC5sUvLwItHbQrd0me9SUfsKxsIVeVqGvVJkUHE87XaBg==","signatures":[{"sig":"MEYCIQD/f/0tHQs7qfl1jj6zxvbpg9rx8Z/zVCs800lrdoe7YwIhAKKr5M8rxLHXJ/W866o9sQtanDqpfXvW4a2GbaVRxjo1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSq7iACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpaVA//TYbKIGkg5m51avFJWXm/CcEabgO/TaEDxumyYnhvWFp1Ernn\r\nK/25CY3Y752CjRhp1KsprSoQezljYnEXuYiTMs8Puy0BO94s8UQ8xWbos2WH\r\nZ8i4Z3yN7UekST+v+x71rYGVfFIqKeoj9Z8hmph2UoncjnXVgg25mO6eDTIf\r\nf/EaVvCRNw4d5olFng3FuPhKqi1dPWdrEsOYyCZV5aKL56DABdfgwX4Icfpg\r\nSLHp6wO+bWNdD3PdWhT8YsL/BB66oFetMV2LjmPBBC92Ql3lV18DIVJQH+9A\r\na/jWvHUZn2JAf3/yrrQlxc6ibBSmtY5RVYBnG3aQ1GB397mU64U+jUdF3so/\r\nyC2NoUzdBgcZh/h1/bNTKP+uNvJbt8+fxGeWpeJTVDdPFxv8H0zZIWPODIeb\r\ntWyhAl/2pQ9lMAVDovgJtw9rrOyOtXPsEBlEkOuuBB644IwHj9QQQ2xIoJev\r\nyVnfPauMLJPzFe1XVev/ZJsE+9Xokub5UYcFnyDKutzpFM+ZUN/TCfZrP0MO\r\nOlRIlGD4c8H4Vkv/3GKkUg/CHbf87KPvzdsv2nD9UoR6ej511wv49AvrBhG+\r\nc4WM7GzbkHq6IggYm0fQPDdjjn8qH492hz8gbjfKbMP+MC7m5bxA4XeHGii0\r\nEiL8SEx6J/aAsNi3QPJ63rQVz5+K/1PO2Bs=\r\n=RRIe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e68ad025642429a51f137e9f3fc853364faf0622","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.69ebf61ea.0","@material/feature-targeting":"15.0.0-canary.69ebf61ea.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.69ebf61ea.0_1682616034649_0.8940190538680832","host":"s3://npm-registry-packages"}},"15.0.0-canary.b90be86de.0":{"name":"@material/dom","version":"15.0.0-canary.b90be86de.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b90be86de.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1a2ed604cf3c5ccd7f607f2845d5ffe23cb59230","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b90be86de.0.tgz","fileCount":28,"integrity":"sha512-I8dBilytJCtSfbt4RoZMJjqTicVeu/PM7xU4tQXShn0e3eW/fmRogxekkdnETDM/IXv4DQ4FW7RnxfMTIuzPug==","signatures":[{"sig":"MEYCIQCwOUaimv7nUc4YVTMAk93ZJSPfT8kYFrjH3ASHDFYOZgIhAPecOABZd1TDmBr+pFl3M10oGai+3SrFmYS9r3civctZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkTGLsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr1xQ/+JmZ8eFknDTy1OTTVOvNWFAoCfyKEo2eWl+Kvndzr5Xpoz1Wq\r\n99MhiKsUDFRnHZBznNEHsbh9J6UU/Y2J6o11IuPGopPj7G41TL75Cq6mPxvj\r\nspgIBExkHk14BFlr4PpQXx+ZI3EAUzLy47AbYUWex7uOxXjrE+0LXiqk5jhY\r\nsOMd5wrLpyiPlR8bT7V3ct/wzOo3r4H3z4rzj2rYyRK0Ja1kstk7hbriE/bK\r\nOsq4JbfQ3zhJJjK8cyFcP19i3p1hUJxo1f+skPxsWnSQGC30rJVQTfUgMCX9\r\nLp8KTVmXblUH/9Pji7HtGr+YfW7MK43lRqVoxeTQxF0eDLyGSnRvn0gU2VDS\r\nPK/Taysh44jJsvWkHF9UKRhSHI0h2E+5Hv4FO47IOeV3gmzMPaD0tSmGYYKX\r\nKdsghDOpkVJVqKtSpvISC679W3ENDDZLgHJ87Ta6b8MzVFMjoReLiEUlqyVo\r\nNazDS6CDzczL0LhUlVaSIbdzAgSDFS/7lMmZpnumXEWG4nlAQzsNHsscWk9z\r\nBVhz/icy5xrcFAAZBRVCJSy5OmjDZ9NHPrxQLb/y46Utc5jhH1O50Shbkedv\r\nuxOPNT+1x3q7loyL76eNp4WNQcuDNjhGYZ4LKEvsfCZdvLMRZ4gBs1+XSwVx\r\nC5gAJFSC8+iS3OsPwnXeUUZ23QpwuT1Xx7c=\r\n=a3hs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"903a4c00d6c4501b4eae8ac0007164ef4a97ce0e","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b90be86de.0","@material/feature-targeting":"15.0.0-canary.b90be86de.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b90be86de.0_1682727660709_0.9859056293710711","host":"s3://npm-registry-packages"}},"15.0.0-canary.51f9c0c28.0":{"name":"@material/dom","version":"15.0.0-canary.51f9c0c28.0","license":"MIT","_id":"@material/dom@15.0.0-canary.51f9c0c28.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8beea04df869f1a9ec5d505b697001e82982f822","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.51f9c0c28.0.tgz","fileCount":28,"integrity":"sha512-SiJRfAgfBBffWVuc5yvaYiRqjli7+4Mx2BYZ69AT8J5k6Uj0Lt8ppd3T3a0zhfF0EXwTlHdeunP+X0keQFcRdw==","signatures":[{"sig":"MEUCIQDRkP98TDaP8xo+NHO/FGpkftawYugnG8NThwehFO5hpgIgRZDgLmm8iKVkpiSAyiWKsl/iDC8Fa/v+lzQRBy3/Ymc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkTGU3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrS8Q/9H3D6I/PuiJNlJm1CY0xF2cQ3PvUcOThmsBlu2+rFPPpiDxgR\r\n3KK9w9P23sqfV7ofG4cpuKiIN9cKG2OHgbk7gcFjKJkkErTrrdmqL/8bc6Lq\r\nIhJeiUg/UgsuQ9QtuBwfnYlmV3/pHhzYEvi2eVx2bRyFpPgn3htJmRu8dV5/\r\np+G92gLfboqJRRp+iUnt/QSWulA0jbkLqyQ/TDm3Xr+lJCuCuDTFah1tHRyw\r\nc8uW6pj1ucCB31hb/sh+INVDaYtSHmZ73ggCmJHTLQ/QImHG3nhPVImCkWeQ\r\n2sfy0OIZssg6ICMQl1en1dfXNizAZQzj8p303HM5Wf7iKEZMnuXSx5lfSFbM\r\n5h0rWwmREiEINNmp3WS7XcH2jznYqBuiKEvRL1xnQmI/6yXYXDPEyI3hCPC4\r\nPpnLjB3x8J38SL113ieSYAOyofF0yk2bS3UGbesUEByUOTFjSZw9VJ9C1Be/\r\ngbtY828JMknXgu+X1moarxSlQuSo0uGXLrrj8sx5b/Dipkw7JM/jkqHgRL2d\r\nxvjw+vx+kVVMPntUQACsTAKEYCYIBs9MAfNRs045/HYWNe5eeSjaP03HIK/C\r\noo2RqY7ESFp5psDOw3kew/lJ4KxEC1GYGENnE5NSCqBEkWI93GxdsVtbJvNX\r\nZ6JgsHmoAvF3MmJP+ABG2XUzpM401o8ziZA=\r\n=ncwt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"87662f1719363ac8e600f73ed8a7795c25d8add6","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.51f9c0c28.0","@material/feature-targeting":"15.0.0-canary.51f9c0c28.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.51f9c0c28.0_1682728247114_0.8743836079754439","host":"s3://npm-registry-packages"}},"15.0.0-canary.4e840d685.0":{"name":"@material/dom","version":"15.0.0-canary.4e840d685.0","license":"MIT","_id":"@material/dom@15.0.0-canary.4e840d685.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a0a80709afac1d9618646d37e1cd93fb04beaf6c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.4e840d685.0.tgz","fileCount":28,"integrity":"sha512-PRVl1ItINGRYMogctZsT75BPcNmaF88uBP4QuDTbnLiiTR7PJJVtvpz2vt/btNSnNGX5ZcLshCXXw0lnC0GBdg==","signatures":[{"sig":"MEUCIQClrfwTEWuwaWYowR3wlqScwQiOg7z+aXbkAxwQOSS18QIgApA951AjB6QOjIOv13AZPKqoQt8C3F50CmSj9yPFzL8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113777},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"feb1f9f53257b520aff6dfe5dd1a15e319e73a40","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.4e840d685.0","@material/feature-targeting":"15.0.0-canary.4e840d685.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.4e840d685.0_1683041570815_0.26030611866620745","host":"s3://npm-registry-packages"}},"15.0.0-canary.10b8563e4.0":{"name":"@material/dom","version":"15.0.0-canary.10b8563e4.0","license":"MIT","_id":"@material/dom@15.0.0-canary.10b8563e4.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"72f20a1c727c4473b84edb7c202fb414b53b243d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.10b8563e4.0.tgz","fileCount":28,"integrity":"sha512-I3WYh4RJ5O1BOWldAvAZA/dePx7T5YxFPN+CmfNG9JyJ14xZ/1knZ0iexGabgT8NAayb5E3/Ytza+/QXajawYw==","signatures":[{"sig":"MEYCIQCo6pQICALUybUujwojPHVgu6mw3W0tD+ULH+QzC0fPZwIhAMxwNNYKNhRqNq+NnafAilynFDJ1ERMval65qp3S2w10","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUZ+bACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCuQ/+NE72Nlr3ApOc8H5TyN3pmb7Wx1enGqk4Izg+P+6VnOK9YmAK\r\nN58WuKK6U9jeUl7K12nzzLKduOP0cJgk/+rDPnl+5ZsYzZwPht0Y/5bUrQqs\r\nfWCAJh0J6rXxBcgOtPsoQJYJ1/8ez99yrUtYWCuk5FDVbkznfWwY57cLlCQ9\r\nzRG01QdtRh6+rhp5PiAnfZv0vlqhf8KiGs5GCZiKiZMspJ6yTmcWR3rZ4V2b\r\nPGe3Z31WwHk+kjLHPvkz/61ZPUUVJ/6+Lej8SplAszSvh8+Vbm5+CI1i9Qmb\r\nF5jpt+a02xyrxIPtxZJdn0drFqXreA4/9mTZK9CAsUAZxPOm2obkhyIlHxHB\r\n7anCsD2Qe3J9l9MnzUokFY2ZKZp/DS3RJXIkCWabf4wcPVdpN8IkcfnwMITI\r\nauXPsrk8l/o4y+dQQif8pt2fVVe84qJbsVifIgrCr2efKLOfeuF3E4aN1jBl\r\nTpI63qLi2ew+EEHXa/VU8rUXnyuAGCEZDu9RHNKwE08dFeGBh/bfmOqQnxF5\r\nfVcb7K7SQPpv8jAReHMLc5x6IGb9fdk+EfVF2xv6m95vBB1mzmG9Gz97JUp3\r\nTX8DsI0jxXXyIzo2W3+bTlaAunN4CerFWw0ojHjbSdwLemfMxiSic4hnPgta\r\nAdR6aXva2st+6+DXPWebkHh0g9Z5nVolErQ=\r\n=G5pI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5f71dcbe45f5245c72c0fabae0162af558c5c395","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.10b8563e4.0","@material/feature-targeting":"15.0.0-canary.10b8563e4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.10b8563e4.0_1683070875758_0.766650795886882","host":"s3://npm-registry-packages"}},"15.0.0-canary.736b7fda4.0":{"name":"@material/dom","version":"15.0.0-canary.736b7fda4.0","license":"MIT","_id":"@material/dom@15.0.0-canary.736b7fda4.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ab94b15dddfb4310a7bbf400d63003c73df0750d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.736b7fda4.0.tgz","fileCount":28,"integrity":"sha512-f40OD+U/fQONPm8svW37ej9e6vakjM27a8PWzCtK43zd+TcNiYhI/VwgQShKTJXB1uEQL8l6vzgVu0GdjLzsUw==","signatures":[{"sig":"MEUCIQC46uy8lSJ/lJmUB27FkRRWpbc+7wiaR9FnzusJrmQJGQIgFepKEFWWvusNE1wPjJpBhL64nCFSHmwGJxKEv4KGyRs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUnj9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8Bg//RJxgQX/3T/z2Ysiglm0CfioL4yPYTOF5rnA+GMIF1O/+2GEw\r\nbFERQj2rY3FHrz5MbTxgEhxSeC5L0ihJ//24TlNe3VIP/9QsGpX2kbwxTX4K\r\nW0LJ26kMSQzyv6IGQ5L/3ligbVjHhwJz5GCcm2sH5ofbaKb+lwaXGzRO6DzI\r\nSw8ER9nxzVakucBAhVhKx6UU9S1V5751f4eL/iPHWYBcPKdGpiVdJ/797YYJ\r\nAHqURKSogjw2g2trfiuwLMOkp0ZSffDYlmW9E4I8aGfEA64VbJdjjmIB3yYg\r\nxojdQwzEXE2gXWVx28d7VqVPQ8DBImAYgNw6uB5yquZVNT1IeJ+qdkeR4AcW\r\nNmvufCKkTqM+Ao/vZhqaHzJOuTlFmSXMz6FGx9lND0/bnUFhcwLI8kM0N8Og\r\nE3pisAqbpZ0Lr792sNUTZZ28iSrhlDLhV5Sb3jAr/5xX5bZQ/MFFtoO/7UUz\r\n0u2DDAnVRJ8N78M9a0v9KXJh9swMNrM7YVc4bqgAFkqH7Ss2x79/oBaV4Her\r\nL1danoubESK7QLw33itLowN6baLxrzSm9iSf369a98mSwe4wJEa3bLM8f0d3\r\nN22LZpiPle4hoZ9R/FaACI2W7xVX7QeRkX4W4fq5TAqyhqp9SG3cLs6c7vQc\r\nqSECao0it8w1vhKJKW1qylXtstEGLD7nA/E=\r\n=ly6m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"b9ef54594aa8f93612aed085460f035d0aba61bd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.736b7fda4.0","@material/feature-targeting":"15.0.0-canary.736b7fda4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.736b7fda4.0_1683126524964_0.8985821002825931","host":"s3://npm-registry-packages"}},"15.0.0-canary.0e533c5a1.0":{"name":"@material/dom","version":"15.0.0-canary.0e533c5a1.0","license":"MIT","_id":"@material/dom@15.0.0-canary.0e533c5a1.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b803ce06d31f95f1740b35e1410085dba8057983","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.0e533c5a1.0.tgz","fileCount":28,"integrity":"sha512-u+owtAJej+BJuRa90A2Ph/mfyssOeF2pgE9QlhowLBUB+yaAH5daxoawmTG1xuzusILhtQERW1zc6fM3MRYMDA==","signatures":[{"sig":"MEQCIASYZZUlDBXuQjkwEix37BJcyNPnfaJS5C9RWaunGxQyAiAZcwng4G0DI617h6ge+yDX7WnivWRAESYqQ1tj712uhQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6b9b4497cc6457c9e92ab3abdaad626c73e610a4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.0e533c5a1.0","@material/feature-targeting":"15.0.0-canary.0e533c5a1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.0e533c5a1.0_1683305734296_0.775416876335836","host":"s3://npm-registry-packages"}},"15.0.0-canary.5f01c15a2.0":{"name":"@material/dom","version":"15.0.0-canary.5f01c15a2.0","license":"MIT","_id":"@material/dom@15.0.0-canary.5f01c15a2.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a65c4824292d65d021b1f46c5899e18ff26c467c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.5f01c15a2.0.tgz","fileCount":28,"integrity":"sha512-syZHxgrFWycPCzKpnAzWqUyUj1Bb1duWxZHk+jOrJuo0wG1EjiFk+bOlxIdVzI+Wg2vBcgb0TTSFQRHmyp8xjA==","signatures":[{"sig":"MEQCICLz8oK1yyo5/44CNnR23IQ1BU0Ia2cElqLOAgAyH/4nAiBHKdvupBfdhLX6t90EDiCje6xyKNDQYjAgSAX2NNHi1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7bb1c5dfc575b36654ae046d1f4ab3b27e8c8f9d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.5f01c15a2.0","@material/feature-targeting":"15.0.0-canary.5f01c15a2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.5f01c15a2.0_1683307540808_0.004419740677238604","host":"s3://npm-registry-packages"}},"15.0.0-canary.3b5b55e31.0":{"name":"@material/dom","version":"15.0.0-canary.3b5b55e31.0","license":"MIT","_id":"@material/dom@15.0.0-canary.3b5b55e31.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8d34e24759940a338ea376e5896192e062edc93d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.3b5b55e31.0.tgz","fileCount":28,"integrity":"sha512-3bZN0pJUatMNIRULlMqHOdS/Ewh9Skbe1CUojKlk0voge2n1BRgZAdW1rbArEQs4mLN5RW1oABUHhFn6nCP+xg==","signatures":[{"sig":"MEUCIQDVn9XJGv50/Go5WQsC1qcVgwaeBcphoUbg05E3oXCxtAIgLfEZxKyulu+FyNAxMzeYnE3GLfxesMgeRpI1hEcrMFg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"c262d9ee39655e869886d1584551a096ae56dabc","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.3b5b55e31.0","@material/feature-targeting":"15.0.0-canary.3b5b55e31.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.3b5b55e31.0_1683311898053_0.10595877917184837","host":"s3://npm-registry-packages"}},"15.0.0-canary.d0788120f.0":{"name":"@material/dom","version":"15.0.0-canary.d0788120f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d0788120f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ef2274305ea653a5030a9adc4749edf8c2e035d6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d0788120f.0.tgz","fileCount":28,"integrity":"sha512-LhO7UOUQAmdZnhII2n78O8QTpfL8npWzTsuDnG8jCUlsI73bMYa0BaOsXC0s43vBhzT//+YkWeMYZ+ukOQPY2w==","signatures":[{"sig":"MEUCIQDPxk4MZv2sIPshX9+/pdqAiQRpi53DJbuFd4QZR2R+gwIgXKgLTVeeHHVzVRU2QpMbVJ5Dr/b0NkUSghnaMA94pHI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7eccbee262206623b89c40dadb4e11abe30d5e45","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.d0788120f.0","@material/feature-targeting":"15.0.0-canary.d0788120f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d0788120f.0_1683620544581_0.66015016729952","host":"s3://npm-registry-packages"}},"15.0.0-canary.f52358dd0.0":{"name":"@material/dom","version":"15.0.0-canary.f52358dd0.0","license":"MIT","_id":"@material/dom@15.0.0-canary.f52358dd0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fd168e9eac284bef8e2f9cbd7eba33b97ea9c59b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.f52358dd0.0.tgz","fileCount":28,"integrity":"sha512-suQLZLunw+q9vdcY5xs4y4nn/H6VWeLVF3ngKT6LNknrkHV3WbHUKHU0CIrQS2qmF8LyHpRLwsH6uKTIt7C6nQ==","signatures":[{"sig":"MEYCIQCzxLSzpwYL2Wn4IeXBTLjNf20n8bYiFcQl9pFASsg/EQIhAON05Vjg5qevTuKFfCImY7dB0TPsF1p2NhWD3GpIF5Ke","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a4baf07a9736a6e1fa40001f7198ae1865d67392","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.f52358dd0.0","@material/feature-targeting":"15.0.0-canary.f52358dd0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.f52358dd0.0_1683901785407_0.33453349696584045","host":"s3://npm-registry-packages"}},"15.0.0-canary.d3c3fbaa3.0":{"name":"@material/dom","version":"15.0.0-canary.d3c3fbaa3.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d3c3fbaa3.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d1f679d24ecc4de6dfe6fc6797e6d529d0f4cff0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d3c3fbaa3.0.tgz","fileCount":28,"integrity":"sha512-boj8+EZU8jGmwbdbZSYvRjsuFKMwUdM4L5blHKMkJ3uHmTXSQ8fgZpyDNDxiiz6GwXf2bpzgXqlBjOaLHsR/gg==","signatures":[{"sig":"MEYCIQCvOFbW7+55Sa2lA3G4DD5LzkzwTbzJXjrk7agkEzegqgIhAMu2DGLK2KRajO7RNl28eFUyP5niOj7UcQX3xW9j9Ptb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3b7f31c254605439f8fef56301c46f7bcbf3a9fe","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.d3c3fbaa3.0","@material/feature-targeting":"15.0.0-canary.d3c3fbaa3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d3c3fbaa3.0_1683914387261_0.4482437878374552","host":"s3://npm-registry-packages"}},"15.0.0-canary.576d3d2c8.0":{"name":"@material/dom","version":"15.0.0-canary.576d3d2c8.0","license":"MIT","_id":"@material/dom@15.0.0-canary.576d3d2c8.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1dc1f8df1ff51007a9e271154abb5414e097e05c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.576d3d2c8.0.tgz","fileCount":28,"integrity":"sha512-oo8vmADL6Z26iCWG7PEvUYEeVWXufETGHYVbWIEPGCr7uzB6j4Apb+JDKn0h3yMP33t7VJibQTBkA5q5Y4Vtxw==","signatures":[{"sig":"MEQCIHu/0/+AN3KuO3CHhDfZQkbfAEZcaPLasXju9/N30TW4AiBIwTmrvhR22ue3dx8W9foAcBaNUsbALPDOYOFkgWEePQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6ace19a21b6654f14cad48fc007198859874c910","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.576d3d2c8.0","@material/feature-targeting":"15.0.0-canary.576d3d2c8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.576d3d2c8.0_1684202362876_0.5698159389947888","host":"s3://npm-registry-packages"}},"15.0.0-canary.19bb36a46.0":{"name":"@material/dom","version":"15.0.0-canary.19bb36a46.0","license":"MIT","_id":"@material/dom@15.0.0-canary.19bb36a46.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c8d2f834e1a1768cab60d4019906c7358ef5dbe0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.19bb36a46.0.tgz","fileCount":28,"integrity":"sha512-n7DdrlMxrKdk1KWxwMUIQVt3dgmrj++ogarOVcAk1niAaRJu/EWFNjcYmI3TEOvg8pDGuZpSGtpUmkRQkqoDOg==","signatures":[{"sig":"MEUCIHlI/voXTWlMzWlknrhMwjA+mVFFxnpJmrwu/ZzjoZHtAiEA0sGTv5Jf1Kn2SvWaoAhSTumnQYmsBU2ow1/6moS4sMA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"75157be315eeaa02f70ed69f97e44a7d40d53e42","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.19bb36a46.0","@material/feature-targeting":"15.0.0-canary.19bb36a46.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.19bb36a46.0_1684266802211_0.10167466672775682","host":"s3://npm-registry-packages"}},"15.0.0-canary.aa5ac7fe5.0":{"name":"@material/dom","version":"15.0.0-canary.aa5ac7fe5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.aa5ac7fe5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d9919ab493827568a4343d471bfe86c42ca3cf79","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.aa5ac7fe5.0.tgz","fileCount":28,"integrity":"sha512-zMf7DoJKU59JVDPtN1hy1DXJIHemgDXWBcJHLXb/0eyEjftQRIrevRyji6CwHEmRt9pZoIHenHwWHOMH92HG9A==","signatures":[{"sig":"MEUCIQDvfmNC7RNRXuuy0joYstjiDi/57G8OIjqhJSnDEqJKYAIgPUQD6qjGFkUWLWsD+MKKE91sDfyQOysZbdA1Z83g/qk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"83e86542dd6facc8ffe487d31111412ee18b5bde","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.aa5ac7fe5.0","@material/feature-targeting":"15.0.0-canary.aa5ac7fe5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.aa5ac7fe5.0_1684776287723_0.44110604456826485","host":"s3://npm-registry-packages"}},"15.0.0-canary.90291f2e2.0":{"name":"@material/dom","version":"15.0.0-canary.90291f2e2.0","license":"MIT","_id":"@material/dom@15.0.0-canary.90291f2e2.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1acc7e04a296df47156df2476e47140d87825295","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.90291f2e2.0.tgz","fileCount":28,"integrity":"sha512-90JKk/Ncnqn2dKopNxs1uruiiQZzgLTZQF3a8jxa/w3RQd3Ac9ET1KqmaJSfzXaxgebm+1RZfL9lL+ANEfLWwQ==","signatures":[{"sig":"MEUCIQCtpYecahcROg7i4z7Xw2e+bS1hSUJ1WIQobJC5OTairgIgQ08Q4Kjf5j6PrkkjJk84YZdJYKt3unuMdsWNNNMD4f4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a1c306471717b15ae8f0b481703ed1b46162df25","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.90291f2e2.0","@material/feature-targeting":"15.0.0-canary.90291f2e2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.90291f2e2.0_1684863720797_0.8399902403377439","host":"s3://npm-registry-packages"}},"15.0.0-canary.446734f27.0":{"name":"@material/dom","version":"15.0.0-canary.446734f27.0","license":"MIT","_id":"@material/dom@15.0.0-canary.446734f27.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c9c539dd96d6bf3f2aea19f9ef09a49830becbb8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.446734f27.0.tgz","fileCount":28,"integrity":"sha512-hJ/vh8yagF24C8SzW0G8LipI9cQ+fy6oSJqDFnRmG+BgAGyQ0f9f+fyOoWdCXuli3EW6V/isb3bT5dCZ7WgSig==","signatures":[{"sig":"MEQCICChQ3nk2z1/2BzFeb3FwNr0oN58W4UDcc3xUhamtCRxAiBA1Np/b9SrIh7RO5JNye1H9OIzAR+93lUW/mwaB7jeCw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a2536a849aada5f06aa85deaa7be06f44f620023","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.446734f27.0","@material/feature-targeting":"15.0.0-canary.446734f27.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.446734f27.0_1685483253799_0.4595016607001505","host":"s3://npm-registry-packages"}},"15.0.0-canary.19de312d8.0":{"name":"@material/dom","version":"15.0.0-canary.19de312d8.0","license":"MIT","_id":"@material/dom@15.0.0-canary.19de312d8.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b1ef1eed9b4530eef4d96e714991633671a426b8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.19de312d8.0.tgz","fileCount":28,"integrity":"sha512-ZpUTYJ43/kU4lZCnNhnHYLcTbVXv4Ui0iUWHRVbsxD6yF8rcygD8Sg+TQzQEZhJyO234DOe0lvWLMdQzWcX9aA==","signatures":[{"sig":"MEYCIQCBGfczG4IZyY7bEfqdiw2Bn4nd4PypSaWnBknMg+yqpgIhAOdeNks5gq4ZIVgNrdHvAhmh92md9Vtu2V9+jBt2juCm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"dc3811573a34ccafa5c09bcf14574bfb95373958","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.19de312d8.0","@material/feature-targeting":"15.0.0-canary.19de312d8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.19de312d8.0_1686071851626_0.6241485199927115","host":"s3://npm-registry-packages"}},"15.0.0-canary.6081d829b.0":{"name":"@material/dom","version":"15.0.0-canary.6081d829b.0","license":"MIT","_id":"@material/dom@15.0.0-canary.6081d829b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b318a2bd0171a776faf9d96be8f78193e05d9cdd","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.6081d829b.0.tgz","fileCount":28,"integrity":"sha512-0GtNJdl6/oTW+aE5Ye4Ne40wUJwZ475p4nPO0ioLI6/R78LI2GT2e2UmXuRpibQzNrYydq8bDuf0pFPaaSDAaw==","signatures":[{"sig":"MEUCIQCH0BaUZswnsmQ/n6azrALhQ4U/3cherGn/Dga5Fm9jUgIgOJjSN6dA/KD/HRJxRYLNUNzDLWv6hPkLkQmtXIAUy68=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"033569cc4deafe32dad2bf8cbd1de8789bc85668","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.6081d829b.0","@material/feature-targeting":"15.0.0-canary.6081d829b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.6081d829b.0_1686100403750_0.6836598306400414","host":"s3://npm-registry-packages"}},"15.0.0-canary.b26c34a68.0":{"name":"@material/dom","version":"15.0.0-canary.b26c34a68.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b26c34a68.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d891d2a19b647f6897c5873c922a5f7140e8074e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b26c34a68.0.tgz","fileCount":28,"integrity":"sha512-5TzG/n0+7oQf5w2y7lK/KUPYc4Uig0IFUPNIu5aK7hq0vNpQooMUlsq604EHlDCXnD3/lpCCCFog86HYcEqq/g==","signatures":[{"sig":"MEYCIQCrg4mCKQloOxJay5nYI6Fej6jylXKJ7VAIOrqrIzNzTgIhAJF0/t0fINsxKRh855NdyP2hm8ZGszoBx2oOpWt1vXyg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"28919516866e588c52e4e6358c3c4d2523993b74","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b26c34a68.0","@material/feature-targeting":"15.0.0-canary.b26c34a68.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b26c34a68.0_1686168998350_0.5450641109946273","host":"s3://npm-registry-packages"}},"15.0.0-canary.4fe911371.0":{"name":"@material/dom","version":"15.0.0-canary.4fe911371.0","license":"MIT","_id":"@material/dom@15.0.0-canary.4fe911371.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c42be631766a3a8cabd3a1caa87702ecbdad59a4","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.4fe911371.0.tgz","fileCount":28,"integrity":"sha512-iyHRw96+mAI//JqRqNzLP74nXjGfl5sJelWTBJ9ZPmWicBC6RAdVl35f6QWyiKRhx72MKt7ubpzJ3/A1mc7S0g==","signatures":[{"sig":"MEQCICV6t6MIcMcXtClvB9Z+NX74sVbT93woDwoV+PtrfG4cAiAusCFhXlEt69v4qF3zWF6QgIcHTemc+tgb9uLTw/mloQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"a9de53a24d5e0f79f94310f061cdf2ab718df7f4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.4fe911371.0","@material/feature-targeting":"15.0.0-canary.4fe911371.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.4fe911371.0_1686179116115_0.03968754166463251","host":"s3://npm-registry-packages"}},"15.0.0-canary.a9ff9866f.0":{"name":"@material/dom","version":"15.0.0-canary.a9ff9866f.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a9ff9866f.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"01072075352c52d3384af01178d32030612c04c2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a9ff9866f.0.tgz","fileCount":28,"integrity":"sha512-IrQdPI/Z1mu8+97JYgstM5lfdz35NLt9DzEitNu3QFh9f1dV5RwfUm1t+fwlwWFKqBz6WotdVRNHfLDTdLCqFw==","signatures":[{"sig":"MEUCIQCKDTUosrAuq545wH9xDrOU7R3mxVTD/ejVAgM2UkszPAIgXP5lni73Nx0o05cumcQU7pFtnfNdwN6U0DS+Egw1ybo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5bed0ec6cdad0c38b52e8ac98994b2809d9c8f50","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a9ff9866f.0","@material/feature-targeting":"15.0.0-canary.a9ff9866f.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a9ff9866f.0_1686656255162_0.19417562002808242","host":"s3://npm-registry-packages"}},"15.0.0-canary.b994146f6.0":{"name":"@material/dom","version":"15.0.0-canary.b994146f6.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b994146f6.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c5ef0fcb10f97ac4b8f18ec938f58ab4b563261a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b994146f6.0.tgz","fileCount":28,"integrity":"sha512-DiUsTezrCi4iytjIn7xXoXZSNFvuTrVVZgc7cR9cW8yu2Hpz8bPf87PacVn4IP9OsNwy/dCDMk1Kcq/DMh7gXQ==","signatures":[{"sig":"MEUCIQDTiBvR3+MilBsxFACZZcUZMtu4rewnMer6mzhXchdGfwIgF2lD5tx36uCEuMDjCPZNQDCOE3yfUUaHWAJvzztpQOA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e537228a5d88e4fb9c651aa15b1d56bd81bc63bd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b994146f6.0","@material/feature-targeting":"15.0.0-canary.b994146f6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b994146f6.0_1686776573971_0.5586970117214636","host":"s3://npm-registry-packages"}},"15.0.0-canary.1fb4b1a06.0":{"name":"@material/dom","version":"15.0.0-canary.1fb4b1a06.0","license":"MIT","_id":"@material/dom@15.0.0-canary.1fb4b1a06.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ac32b9e687ba160b7d6237e68c0ac925a42b1319","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.1fb4b1a06.0.tgz","fileCount":28,"integrity":"sha512-ucNqBAEpL/0RUIWb0+eowOsx7txgkjbwU+NtKVAwn2bcePnfgTU63p4FLthr3+Psc+edHTHT9qRaqyXGVjnCvQ==","signatures":[{"sig":"MEUCIQCu8zee/49Ifl+YJoyYtTokdv1Yi/K8HpBdq4Ua0amungIgUzX0o/Ap4gh19BbvEYVTkdOfrq3CADGj7Nay6r08Goo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1d1b86822f3fc9f22a5fdfc1c381d5a4ae983829","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.1fb4b1a06.0","@material/feature-targeting":"15.0.0-canary.1fb4b1a06.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.1fb4b1a06.0_1687892187533_0.41394180738289177","host":"s3://npm-registry-packages"}},"15.0.0-canary.c64a2776e.0":{"name":"@material/dom","version":"15.0.0-canary.c64a2776e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c64a2776e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"15cc4066752aaf83c4e0c2d6077888fde920b54b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c64a2776e.0.tgz","fileCount":28,"integrity":"sha512-SoqGIiOUY8GLqRWUEhB6YZGChnh56W33niirQPRXnUlhJKvtPtyTAQKS/rYtpxUOK90Go5F6t2SrYwHKXpnLvw==","signatures":[{"sig":"MEUCIQDpwEONoqP7HeVpCUysrgv52ybeiuw88bhDfcbKTaYSFwIga3vi7jKJJk3IF0bmwsx/RfDGb67S3ltQ1fhyA6BOVJA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"271b0c446646af573f67960820b6b2a86a9bda88","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.c64a2776e.0","@material/feature-targeting":"15.0.0-canary.c64a2776e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c64a2776e.0_1687896946077_0.769384127114251","host":"s3://npm-registry-packages"}},"15.0.0-canary.b05d9eb7c.0":{"name":"@material/dom","version":"15.0.0-canary.b05d9eb7c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.b05d9eb7c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"a98f3801b6e5f559b42d035811bf86cd1155d9a6","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.b05d9eb7c.0.tgz","fileCount":28,"integrity":"sha512-nx1TZfu8LrqLMh9Xd2yBi3DZw/UULojVyui0cyy3qmhgA67j0VvOOThhMgZkU6j4BcPN1rywRXhhTYRzan1m1Q==","signatures":[{"sig":"MEUCIEWcK2zjdNLi0edJcv1L26s2jOlO4j/nhMIid4YdOSEDAiEA4THytmGdMv2UKAu6h1qtxIlwmjArMIY1xNjkeGRIR8I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"854245f23fe0f7b3dd1163ecefd940b26718c134","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.b05d9eb7c.0","@material/feature-targeting":"15.0.0-canary.b05d9eb7c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.b05d9eb7c.0_1688055781846_0.38274871541643285","host":"s3://npm-registry-packages"}},"15.0.0-canary.2a9697dc5.0":{"name":"@material/dom","version":"15.0.0-canary.2a9697dc5.0","license":"MIT","_id":"@material/dom@15.0.0-canary.2a9697dc5.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"66f893b373bf1e587473de8570a061bff7aea0f2","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.2a9697dc5.0.tgz","fileCount":28,"integrity":"sha512-GwVKYa5ZVFZCpiok/jJZ//kpq58eB03+ilhpqF7YI/ccCdrf2gS4VtLBC9XTmkHsQzTCPY0r/YKu2VbsiNvuAw==","signatures":[{"sig":"MEYCIQDXUxFSihorfg+cWUVnk+LJgxif5b8FuxEhkNoTP2SbyAIhALiKn9oeoVvFDm5HsWwrIFJ3T4ZY6RP60INiF17Qym8W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"fad1e5223c83a5b7a83a6ef81f7ebdc83a85672a","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.2a9697dc5.0","@material/feature-targeting":"15.0.0-canary.2a9697dc5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.2a9697dc5.0_1688163196727_0.1487731652299058","host":"s3://npm-registry-packages"}},"15.0.0-canary.0c52adeab.0":{"name":"@material/dom","version":"15.0.0-canary.0c52adeab.0","license":"MIT","_id":"@material/dom@15.0.0-canary.0c52adeab.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1552a9d2c41af6256a17668af550ffbd3d986f9e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.0c52adeab.0.tgz","fileCount":28,"integrity":"sha512-F2mL5K4cPYjC05M13X0t7EO8jP6TXUyYYeLJJO5d5BzytZOPUz6fGmpj1BvRxnOaX5ZxGtPimxBmsKLlD+1F1A==","signatures":[{"sig":"MEUCIE6ipRwnWD2ER35hcDzrTwYbE6PrDnioJMmmo7c7D3uEAiEAr5PG6DTn9+T4hVSFxSzQCWo3KSoh5TGspnzTkEd1DUI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"972024dd57885ff944ec073de0cd956353bfa7e3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.0c52adeab.0","@material/feature-targeting":"15.0.0-canary.0c52adeab.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.0c52adeab.0_1688574305992_0.7033268026590389","host":"s3://npm-registry-packages"}},"15.0.0-canary.83355c322.0":{"name":"@material/dom","version":"15.0.0-canary.83355c322.0","license":"MIT","_id":"@material/dom@15.0.0-canary.83355c322.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"9d8bf32fedd98be1d0d6c93c1a261f7026f3abca","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.83355c322.0.tgz","fileCount":28,"integrity":"sha512-vhrq1hF5XuyyzBYQTZPUNdBxSTfeQXmzwHKwe+jIjY3MsddGTThanjywW1bivq5n4wK4JxqfvNH2WcSvlN+ozQ==","signatures":[{"sig":"MEQCIFSWtXwHgOj4yNOS/BRojqhSdeh2071eT686dpQCPhlrAiBKeigCvzFStZ3FVRGfz6dhcl2ZP0fQPX/PKd+XF9poUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"173401c2dd65fb3babae5b8e998c0a0032ff819d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.83355c322.0","@material/feature-targeting":"15.0.0-canary.83355c322.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.83355c322.0_1689001472486_0.9353489400508328","host":"s3://npm-registry-packages"}},"15.0.0-canary.bc9ae6c9c.0":{"name":"@material/dom","version":"15.0.0-canary.bc9ae6c9c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.bc9ae6c9c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"960d25fdfed237c542560278465edb9c33ed44ec","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.bc9ae6c9c.0.tgz","fileCount":28,"integrity":"sha512-ly78R7aoCJtundSUu0UROU+5pQD5Piae0Y1MkN6bs0724azeazX1KeXFeaf06JOXnlr5/41ol+fSUPowjoqnOg==","signatures":[{"sig":"MEYCIQDd77rnlN9KLI5iMrc+bcMZPul9MNVLPMZDTOd6RkbMOgIhAKwDb3x3TCV6dCgiJWdZpmj8AlYhMEk7JV+2c5HaEq/w","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"9f0b9b80c267d99daa258e635481fecc4cbf0acd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.bc9ae6c9c.0","@material/feature-targeting":"15.0.0-canary.bc9ae6c9c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.bc9ae6c9c.0_1691097605982_0.6674357773950481","host":"s3://npm-registry-packages"}},"15.0.0-canary.3c44cd956.0":{"name":"@material/dom","version":"15.0.0-canary.3c44cd956.0","license":"MIT","_id":"@material/dom@15.0.0-canary.3c44cd956.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d2aeb9d61b06c0f276bab102991c67427f70fc55","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.3c44cd956.0.tgz","fileCount":28,"integrity":"sha512-jx5W/hBtor5SDPous+VCtD1isDWuMW6Lc//kAPV5zrhA6bUAVpG/SLzsBszXgRrvmsJMU1IIux4IfwTaKlrUuQ==","signatures":[{"sig":"MEQCIBdDq5OYfGAIIu4X7nB1TU+pKXTUSb/lIx+DkgVhdp8vAiBCSqeME5VPMAoIh511AnuZqWAPBhTLkV9JhwmjwUqgnw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6e39da189328fcabc7040a629e312efe5f7cea80","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.3c44cd956.0","@material/feature-targeting":"15.0.0-canary.3c44cd956.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.3c44cd956.0_1691430386142_0.593194190957385","host":"s3://npm-registry-packages"}},"15.0.0-canary.02702296e.0":{"name":"@material/dom","version":"15.0.0-canary.02702296e.0","license":"MIT","_id":"@material/dom@15.0.0-canary.02702296e.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"352e22c4c4ea4927b7da86b085d5bd11fa8ffafa","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.02702296e.0.tgz","fileCount":28,"integrity":"sha512-JWC0JNZtrJO4V8xgsehho4100PL8CkxtxTXT2HJbAJbZ9EyXt/1jt20eqHtq9IOy3vFNUnnhc5s0hkOEi2pblA==","signatures":[{"sig":"MEUCIF/5zYQVIrhVwRPmpgFUHeEJCm04iziS+I7o0RXLdaDUAiEA/WFXHavy0/REjis3HWwtaHjOaIFwekrarlVYN0dOb0s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"22335673bc742932498b2538321ed9dcfd692879","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.02702296e.0","@material/feature-targeting":"15.0.0-canary.02702296e.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.02702296e.0_1692965056970_0.67339372012603","host":"s3://npm-registry-packages"}},"15.0.0-canary.872b65832.0":{"name":"@material/dom","version":"15.0.0-canary.872b65832.0","license":"MIT","_id":"@material/dom@15.0.0-canary.872b65832.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1e2c1cc879fbbcaef0dc43144c6079718863cb80","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.872b65832.0.tgz","fileCount":28,"integrity":"sha512-HnM4KDHanFocyEeobg48ZljZEemch9CcSr30MSloaoLrjYfgKICgVsa0obyX6LtzWfFHHb5mLFfo/ZPpikmuTQ==","signatures":[{"sig":"MEUCIQC0mC+s1WnaERSM0DCe1d3n3q+dNlByfpC/uCV6FMU2uQIgbfarjvHifPWc6oRHkEm4NgiDg5vhIqfzDBSVcPfWyQA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"be0901c091f812355b2d192c49bd051d8daf7a98","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.872b65832.0","@material/feature-targeting":"15.0.0-canary.872b65832.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.872b65832.0_1693397539778_0.6402707457967896","host":"s3://npm-registry-packages"}},"15.0.0-canary.89b2e4122.0":{"name":"@material/dom","version":"15.0.0-canary.89b2e4122.0","license":"MIT","_id":"@material/dom@15.0.0-canary.89b2e4122.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3a6ed60c52e17ea56af9a86e26c00ffeb81b17ed","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.89b2e4122.0.tgz","fileCount":28,"integrity":"sha512-P7gVjnXtAlQh9bxeekKZdSlI1m0Kt59QbrlYtG0jyHyyZ+03rGkpU9nBSuKLOfdNmRlO5ULuatBXt814va31Vg==","signatures":[{"sig":"MEQCIHbyGGQLahiO8JKn3o7yOMJqTfkIXQr1/2vOQd4/axGWAiBqv0agODfeZgqgYs2/P6DCbsOMdEiH3GhNlZT93xnUag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"68bd55db9489546e515443239f477836e16db19b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.89b2e4122.0","@material/feature-targeting":"15.0.0-canary.89b2e4122.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.89b2e4122.0_1693497962248_0.46723731168877913","host":"s3://npm-registry-packages"}},"15.0.0-canary.7a3942e7a.0":{"name":"@material/dom","version":"15.0.0-canary.7a3942e7a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.7a3942e7a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"35d74d1af282d89942482744a36e9849f6128287","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.7a3942e7a.0.tgz","fileCount":28,"integrity":"sha512-01sk4U5AopshHdQI1a/UFOX466mm1jYWfxtsvpabgV36NsNCWh+3UVQ+5TeGgskWWETDyUR9G4GCAcBaULawhg==","signatures":[{"sig":"MEUCIHYdLijQa2pAV5GBDsZAxA93JgeGJ22JpSdW7u8UtEuZAiEA89BwOm6ievwjK2Fq01Xy3/aECW/hF7ERWYrxQuelckc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e61dc0a16a5b376c778548e5a6cecb56f5c5704d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.7a3942e7a.0","@material/feature-targeting":"15.0.0-canary.7a3942e7a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.7a3942e7a.0_1693507121216_0.6308484342794713","host":"s3://npm-registry-packages"}},"15.0.0-canary.54feb3020.0":{"name":"@material/dom","version":"15.0.0-canary.54feb3020.0","license":"MIT","_id":"@material/dom@15.0.0-canary.54feb3020.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ddc866fd069cb3b921c7beae4861497efbdb34c7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.54feb3020.0.tgz","fileCount":28,"integrity":"sha512-Q8zKF0jbN8knQVOUdFghccXcP/a9O/ZoFTLLtk4pxH7CR3yHwSUEXvF0iw3HC98hAY/YZujvtpiLmpPeJnlCdQ==","signatures":[{"sig":"MEYCIQC/e6dCXlSsZyEndW9iITarSgOBkIrudINzXeCLUBGx1gIhAKUERNyhCRBhI1pBl0A8fzn3Eg4gQHF8m4EZITEjCAsB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"5dc5cb94463af21f898ddd58cc4d9e4fbf803222","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.54feb3020.0","@material/feature-targeting":"15.0.0-canary.54feb3020.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.54feb3020.0_1694466259300_0.9237199107109411","host":"s3://npm-registry-packages"}},"15.0.0-canary.6cda3ce8d.0":{"name":"@material/dom","version":"15.0.0-canary.6cda3ce8d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.6cda3ce8d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"390c905a14e471789430829c742408f21371e0fb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.6cda3ce8d.0.tgz","fileCount":28,"integrity":"sha512-4XvQap3Rld34mbG6P5rLsGLBOMhcYFHBBWgi6jpAZvaI+yRQWbULLdrh9yL0BZafmHFri5RXCv0XoryOHpMk8g==","signatures":[{"sig":"MEUCIBHk8x9reUt8a6c2UXV8XctexrxTBRVXJE50P7e/hlO4AiEA6zr+uwbovybH3YpC5rZCqgq8Crh2cL9l2TT763mbTh8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"adb36c6339e7bf37fe1e8ca96526a9673ca602e7","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.6cda3ce8d.0","@material/feature-targeting":"15.0.0-canary.6cda3ce8d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.6cda3ce8d.0_1694483059466_0.13405198462557366","host":"s3://npm-registry-packages"}},"15.0.0-canary.205b20b36.0":{"name":"@material/dom","version":"15.0.0-canary.205b20b36.0","license":"MIT","_id":"@material/dom@15.0.0-canary.205b20b36.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"1723c96413c17b2407102a38dab544f86b5a7c42","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.205b20b36.0.tgz","fileCount":28,"integrity":"sha512-K3iawGKPrjMdL+WOyX1dE3yDgMuNKGET7T3TeUMlUtSSiAsM7pKQdRCfiZ9Qw4L50K1JVBbsYKeCXN/QdNvviw==","signatures":[{"sig":"MEUCID5Mev21WYL35G0/trAPaiuLAuT2mcdqUXMi1aKZnaeRAiEA+a5E++N6/9hJzzZi1ZRgxzLBMzjjjNjEnMGsCYavFYE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"00fdcf619c34c502844acb0f2485e99595aa138d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.205b20b36.0","@material/feature-targeting":"15.0.0-canary.205b20b36.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.205b20b36.0_1694625344972_0.13763250428183627","host":"s3://npm-registry-packages"}},"15.0.0-canary.22bf82024.0":{"name":"@material/dom","version":"15.0.0-canary.22bf82024.0","license":"MIT","_id":"@material/dom@15.0.0-canary.22bf82024.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"060dbb257c47742385a9c3ec703c2d63bed2692c","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.22bf82024.0.tgz","fileCount":28,"integrity":"sha512-XdkDBIPlZwo6M/Ha5tPz+pHZB3R47q2Q3n2J/k0c/ZorR7VEKiBGDfVtsLRDSEd7ntl7bpMcoInZBIAwiRdkiA==","signatures":[{"sig":"MEQCIHv2rTggvcOXMv6c5wcuu+WBxe/YeX+lmH65Ind8PTk0AiBsJ+1NP5fbRj8+KFCWSmTaMNffJtmz0Qmv3SooBRdJvg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113764},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(evt: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(evt: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"eda4fad2a8a727b69db60b828bd92df7a8956143","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.22bf82024.0","@material/feature-targeting":"15.0.0-canary.22bf82024.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.22bf82024.0_1695028272778_0.06281589409674382","host":"s3://npm-registry-packages"}},"15.0.0-canary.a246a4439.0":{"name":"@material/dom","version":"15.0.0-canary.a246a4439.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a246a4439.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"040dbc4c2e75ed99cfc4a51e0e5ce75851dd304b","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a246a4439.0.tgz","fileCount":28,"integrity":"sha512-AftSOGQoQg/Ys2kOVjZzvqWmsnhg3Kam/2UC4Gj0DMMCu36J4MAoD+3PpnOd1aG3wiJKtUXR2vPIwE8I/PM9yg==","signatures":[{"sig":"MEQCIQDfIqinV6oUerUzc+QXydw1wIZoJ3FWdRmgkrRUWUuEcQIfe0WqES+1Z8TgI0cNVCiwJpIkizn7ep2aXfpQE2k3pQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"40201df8b7e53b61aead4acdfa34b48fb1d155b8","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a246a4439.0","@material/feature-targeting":"15.0.0-canary.a246a4439.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a246a4439.0_1695059098862_0.29553905735999386","host":"s3://npm-registry-packages"}},"15.0.0-canary.d153db62b.0":{"name":"@material/dom","version":"15.0.0-canary.d153db62b.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d153db62b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"e7b435c28d3c1b07e6a6b1f2285aba819b42eb04","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d153db62b.0.tgz","fileCount":28,"integrity":"sha512-qlmt4FornfqsYvCsd739v11l3BIaWAl1b9ZBJACA4YHyaB07di8yIIyVnIp0TxeWfcz7yXd9OXDg3BlolMFGwA==","signatures":[{"sig":"MEQCIDQ9bcGsvnVzlzC4lnuDvF9joQgOGe/D4R3v9IMXWtf0AiAa/jD52NLmxsdalL7H1IAiWA2GrtURAeYr3WCEC/L+TQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4ca05c144c691cd06cd5926fe0bc54818e462202","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.d153db62b.0","@material/feature-targeting":"15.0.0-canary.d153db62b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d153db62b.0_1695150854276_0.7298986625609059","host":"s3://npm-registry-packages"}},"15.0.0-canary.2528c1c3b.0":{"name":"@material/dom","version":"15.0.0-canary.2528c1c3b.0","license":"MIT","_id":"@material/dom@15.0.0-canary.2528c1c3b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"0701adae33e9dd6abea0a05e14e6e8a39e7a3f07","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.2528c1c3b.0.tgz","fileCount":28,"integrity":"sha512-fmI3Quoy4VNkq0Sz1s+G3RqbfvX0R/axYSDetd/ens690ak/Zn2E6NdYXVM/jS8/7IjbjelXEsp38ClFwvnFWg==","signatures":[{"sig":"MEUCIE7HMZBeFQ2eAD12+w0/xoXkZ3jxljxHaQdOHPZzLHiiAiEA3g1pv9p75iPWUQRMc+cpp0XKRDp/y0P1H+mFAGOc7FA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"98b5b57bd5356f48610a254e8c4acff388d5fb7b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.2528c1c3b.0","@material/feature-targeting":"15.0.0-canary.2528c1c3b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.2528c1c3b.0_1695233132761_0.922544693337741","host":"s3://npm-registry-packages"}},"15.0.0-canary.1728a6dcf.0":{"name":"@material/dom","version":"15.0.0-canary.1728a6dcf.0","license":"MIT","_id":"@material/dom@15.0.0-canary.1728a6dcf.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c3054851a7a195ddf2e5feb64b66f94b1855665d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.1728a6dcf.0.tgz","fileCount":28,"integrity":"sha512-mx/ZecyOpav1DhIrtpYB2cvqYvG8hpRf8KbxZJAkx7WJ2R+C8fjkXg63+fDpFIFbFfG9vS3lQDm1LwhFLDnTGQ==","signatures":[{"sig":"MEQCIDQOsRFrzZtmRYbsmAI3YuvBJDN4+choc4sFWnkJfEe5AiAt4+0H+0gtrb42maTpVuIc+c9ADWMqp1I8Rzn31IqFzQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"3828aedf4f344a948780a69956ca4f069cef3daa","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.1728a6dcf.0","@material/feature-targeting":"15.0.0-canary.1728a6dcf.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.1728a6dcf.0_1695691344013_0.019727012725114346","host":"s3://npm-registry-packages"}},"15.0.0-canary.ebb636f3d.0":{"name":"@material/dom","version":"15.0.0-canary.ebb636f3d.0","license":"MIT","_id":"@material/dom@15.0.0-canary.ebb636f3d.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"7e84db86905dfae71dfbd77353db761c9dbc03f9","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.ebb636f3d.0.tgz","fileCount":28,"integrity":"sha512-GiBSV63UsWNdvQCVMVMsnP/YTBkz0GOBzu8XsLjJMwl1Xqd7k2VbwbUJklt0/eXnqLKABIGaRGHnyWjrYGKs2Q==","signatures":[{"sig":"MEUCIAa11QT0e+n2j/loNOFkhhs+U1syrS2G1YEll98EqXpHAiEAq/goL24uGTZAd1Jg9Hik5Pm2QdVM9ILsam7OF/zM8qw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"6f62607a00dd885ebbe422b247dc4acc1ded22cb","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.ebb636f3d.0","@material/feature-targeting":"15.0.0-canary.ebb636f3d.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.ebb636f3d.0_1696016623284_0.8478100519093053","host":"s3://npm-registry-packages"}},"15.0.0-canary.c0d21ecc9.0":{"name":"@material/dom","version":"15.0.0-canary.c0d21ecc9.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c0d21ecc9.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"385d710d12b30ae650253d78a7409f317ace74fe","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c0d21ecc9.0.tgz","fileCount":28,"integrity":"sha512-ioUVmQ6x7thoMARvmg72t5LIdCBXvoNywVuMoMFcQ9dIza/52m/dBQhWoHa2QgP+/HgJmxX8SIopxfpLQdMd1g==","signatures":[{"sig":"MEQCIB9F2TDp703MW7xpK9zYVh+mJbJ+9Tm637O4cfzalD17AiBl+gz5UUC6ELJ6gw+0xeqJtKpyksifOsh4eWw70+TWbw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0a932ea790a12d359ce4ec7c5c4c7aec7edf565d","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.c0d21ecc9.0","@material/feature-targeting":"15.0.0-canary.c0d21ecc9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c0d21ecc9.0_1696880164544_0.31227906068493994","host":"s3://npm-registry-packages"}},"15.0.0-canary.127a44b28.0":{"name":"@material/dom","version":"15.0.0-canary.127a44b28.0","license":"MIT","_id":"@material/dom@15.0.0-canary.127a44b28.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"ddaf9e8c080c67c54d7e934feced37fb5cbc052a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.127a44b28.0.tgz","fileCount":28,"integrity":"sha512-FqymnmfuVGt7aFBSJqSGU0Hg3OURAjdfspMUig/1GnGJ37rDV9zQHeKKbLsHO1NMtzl5RPIxb4uQwqJKTTNMwQ==","signatures":[{"sig":"MEQCIDwNs4WXYiYkMnq5++ZhvqR7Tno7UlUNCrELrbNv9awbAiAOH7QD+8YlCFhAMJ/RGRF2bRgLpoqK9UpNEWPuIWICTw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"88d1fc2c5354e751ea3ab567d26bb1886ee152d3","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.127a44b28.0","@material/feature-targeting":"15.0.0-canary.127a44b28.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.127a44b28.0_1697140752716_0.12299304866370409","host":"s3://npm-registry-packages"}},"15.0.0-canary.0ad128337.0":{"name":"@material/dom","version":"15.0.0-canary.0ad128337.0","license":"MIT","_id":"@material/dom@15.0.0-canary.0ad128337.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"3b133a5ef8c903ac57f3a347fd4c8f7a7018d8fb","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.0ad128337.0.tgz","fileCount":28,"integrity":"sha512-K6fzG1+LcDOn2MNiUVVPn1lsr3kyLfyFjgUY8WO/rK2ZCx6SJ1o0aPnmUbRH0UofCHb5wZueDhq/BFlbJTHZ8g==","signatures":[{"sig":"MEQCIH5AN23pCyYco0dUePTKl6kmcCLvPC4Hmij0Y1fEBbidAiAOXW4E0vipwLdJQ/r+MkgWC7XRJwcVSdd6PeVfwY/oSw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"bb76f531b61a52aae34c7a1efa45824fd32e49f4","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.0ad128337.0","@material/feature-targeting":"15.0.0-canary.0ad128337.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.0ad128337.0_1697741461429_0.376453335227682","host":"s3://npm-registry-packages"}},"15.0.0-canary.9cec94097.0":{"name":"@material/dom","version":"15.0.0-canary.9cec94097.0","license":"MIT","_id":"@material/dom@15.0.0-canary.9cec94097.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"f92acdac6d48ac73211611a214bb51d101620ca8","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.9cec94097.0.tgz","fileCount":28,"integrity":"sha512-ns5ba0LUgBMTdwME+saBAefpphfLxLfqFXUiGMk2w/XZvMkM7m9pTB219wu/GFkI+ctU/wM8aidDeFcZg7KaWA==","signatures":[{"sig":"MEUCIBjytqu0nRUKy0Dy0P1Nxs48jdqmghkM+0HeWje5/6SEAiEA/O0RAC9vJYfyrqxfzxLA59Ln2o8HeljTfg0nyCotA/A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1a8019402daf97efb72456551503dfb3fa31466b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.9cec94097.0","@material/feature-targeting":"15.0.0-canary.9cec94097.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.9cec94097.0_1697756919859_0.31879420523458046","host":"s3://npm-registry-packages"}},"15.0.0-canary.c51a0bbcc.0":{"name":"@material/dom","version":"15.0.0-canary.c51a0bbcc.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c51a0bbcc.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c355e75a50ec5e91acef61ebdf13d18bcfa22674","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c51a0bbcc.0.tgz","fileCount":28,"integrity":"sha512-lF4NGJD5wvGaJO5xcKCPwdTC3hMwagWbaBg04fF/FurezM9K9OwUabpug7tb1XLs2I0mOp+3KWHQoanJzv+CLQ==","signatures":[{"sig":"MEYCIQDrr+OSNbvOj6tGBp0XeI//4wuOMICxMY40TqTzVWGR/QIhAMfIixWfFrNjq8zmeKUJBkABwebMu0GJSFfDLWft2mpl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e65c7fe6dcc6d6069f00d4d2f8c55e61710d046b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.c51a0bbcc.0","@material/feature-targeting":"15.0.0-canary.c51a0bbcc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c51a0bbcc.0_1700081895050_0.7168415351451991","host":"s3://npm-registry-packages"}},"15.0.0-canary.d76666ad4.0":{"name":"@material/dom","version":"15.0.0-canary.d76666ad4.0","license":"MIT","_id":"@material/dom@15.0.0-canary.d76666ad4.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"01e6ea401d66ce6ce2a54fda131e22ae80db383d","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.d76666ad4.0.tgz","fileCount":28,"integrity":"sha512-NzjfSHoQBaYjSbHr3UPcPf7ufG/0I9G9JPHQuZoQpTrg0iXCqj5nU1uBbPR9tNgMQVfxUpAKCSpy/Q0ABswFgQ==","signatures":[{"sig":"MEUCIQDnY1ui8usQ9EB1Fh6jJbA5exXU4EUlwFidQr1gNCxrmQIgYumDhpw6cY9dK7jTqsdzCxTNs6hhW0USV1sMKtqSCSM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"8fc3640e389fda0098b42091a9a1ab8653fc6470","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.d76666ad4.0","@material/feature-targeting":"15.0.0-canary.d76666ad4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.d76666ad4.0_1701123158904_0.8519191627850067","host":"s3://npm-registry-packages"}},"15.0.0-canary.8656bf0e0.0":{"name":"@material/dom","version":"15.0.0-canary.8656bf0e0.0","license":"MIT","_id":"@material/dom@15.0.0-canary.8656bf0e0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"98f5a83bc77c5db3559bae4c7a71ac7071e090ba","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.8656bf0e0.0.tgz","fileCount":28,"integrity":"sha512-PM/k3i5NWpQGl4igyUJnDnmMlr0MTK8iP+5k9EPZtFrI2Qpp/zl1ZxOYLWRPeWeVSkxLXLfOf7f61dY1aMhP4g==","signatures":[{"sig":"MEYCIQDuU9WjaoRBhLtfmLG1QsZvgdx1ZgDItjuuLgVCy67RogIhAJJOlg6ZyAizASQ52+g2CRU753SPLGwr7qANT0bYn00F","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"36cab37e468233da3044a10c1df388f634163cc1","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.8656bf0e0.0","@material/feature-targeting":"15.0.0-canary.8656bf0e0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.8656bf0e0.0_1702415889169_0.4159111612464559","host":"s3://npm-registry-packages"}},"15.0.0-canary.7f224ddd4.0":{"name":"@material/dom","version":"15.0.0-canary.7f224ddd4.0","license":"MIT","_id":"@material/dom@15.0.0-canary.7f224ddd4.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"4650cdc01439d033073bca09bbe94e5cbdc1a70e","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.7f224ddd4.0.tgz","fileCount":28,"integrity":"sha512-mQ1HT186GPQSkRg5S18i70typ5ZytfjL09R0gJ2Qg5/G+MLCGi7TAjZZSH65tuD/QGOjel4rDdWOTmYbPYV6HA==","signatures":[{"sig":"MEUCIFItLPFIqoI7SQp6swKhos9oSQhFRIARmnG8SMfa2H4vAiEAoB0yIfNEsGeXhx/XdM4y8bnTY5nmwpoKR3gQEv09LK4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ff8ff3ce455054f1532d1ae0983f40634a524886","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.7f224ddd4.0","@material/feature-targeting":"15.0.0-canary.7f224ddd4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.7f224ddd4.0_1703743714388_0.12681253427053019","host":"s3://npm-registry-packages"}},"15.0.0-canary.a0b8a90c0.0":{"name":"@material/dom","version":"15.0.0-canary.a0b8a90c0.0","license":"MIT","_id":"@material/dom@15.0.0-canary.a0b8a90c0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"c190e145844fd41d6b0c0ed517cce20350879ae1","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.a0b8a90c0.0.tgz","fileCount":28,"integrity":"sha512-NkvsOLnI232p3v8lL82CgOWRRM1M0SBcgBZz1giUnhyvYMN8m3N1gXY0KDdvY0oAW2l7dYsq5rvD5E0CoFZISw==","signatures":[{"sig":"MEQCIEEqc6oqF8YklxwgSezG5v6/lcQIaAISyL50RRnljAlDAiBNiQ0mAXVdwZuCBHFBaTh1furVHj54WbPKOyN2suLDDA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"85d5965379b080c9f852ecbbd95031e363636dfd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.a0b8a90c0.0","@material/feature-targeting":"15.0.0-canary.a0b8a90c0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.a0b8a90c0.0_1707333538742_0.4864548283281622","host":"s3://npm-registry-packages"}},"15.0.0-canary.e50b478eb.0":{"name":"@material/dom","version":"15.0.0-canary.e50b478eb.0","license":"MIT","_id":"@material/dom@15.0.0-canary.e50b478eb.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"056ddad66893ed0f662463d7546c32ad7f71c8c0","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.e50b478eb.0.tgz","fileCount":28,"integrity":"sha512-8WlBSAvD7IO1TGNv9YFU1kcUIpeo7yFlqD7raYlnZ81WnnH/mW+DnpG+ykxPeCh5a5boW5layxZMCoYRhS5oQg==","signatures":[{"sig":"MEUCIQDHIErF0xKyFtIYngcwt9AP/UZcDLkFD4lSOHyP314aYAIgRRF3Gk2mwmw2VKTLdO1Des3Fjklg9roBsm5mSKMW9Ok=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"4691455eaee76f99b18be70913c9fefb7cf3c2ae","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.e50b478eb.0","@material/feature-targeting":"15.0.0-canary.e50b478eb.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.e50b478eb.0_1707415648191_0.6225385448594443","host":"s3://npm-registry-packages"}},"15.0.0-canary.c43b3438b.0":{"name":"@material/dom","version":"15.0.0-canary.c43b3438b.0","license":"MIT","_id":"@material/dom@15.0.0-canary.c43b3438b.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"fffc37e69fee680797b992c75b09d77b4f1879ad","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.c43b3438b.0.tgz","fileCount":28,"integrity":"sha512-FXIzmnj/4uIfRQGW4FC+37cVx7Z70FkiZueo8ffROO1nH8QFZx93bamGIbHK9h0bPMJnllLRr8clDAAKJ8mvhQ==","signatures":[{"sig":"MEUCIDZrgo1H9b0E6F/7+jcGq3fbuUxP1OxXg3n9XYy+Izt3AiEA945T4/QqUb4Zr0iDS9BVH6OfH+MK68Eh6sHgQonk6iw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"e69adcf897de97b302f026f07bbc2571b1a488ca","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.c43b3438b.0","@material/feature-targeting":"15.0.0-canary.c43b3438b.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.c43b3438b.0_1708719421365_0.026005341037843355","host":"s3://npm-registry-packages"}},"15.0.0-canary.819498d8c.0":{"name":"@material/dom","version":"15.0.0-canary.819498d8c.0","license":"MIT","_id":"@material/dom@15.0.0-canary.819498d8c.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8c243b11be5c9a2256d47250050b2fe46b244d24","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.819498d8c.0.tgz","fileCount":28,"integrity":"sha512-FQTVkiNS/d8rBJnLs4mnzU9uiMax0eYlHSZXJqW/CCQYhL3NNpv7s8ot9utyo7Y0+umbWpQra9XY5rZSxrsfHw==","signatures":[{"sig":"MEUCIQDzp8jcB7D56q4pmz6Lk5CY5NdsMY+2J2kfIJlDBQI74QIgQzmb4x0pFulTZGWI/fjh7Td9azmk6Zqxavgka0YDolI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"886876a8252aacefe1942b13ba9251af9204bcdd","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.819498d8c.0","@material/feature-targeting":"15.0.0-canary.819498d8c.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.819498d8c.0_1710515647729_0.19385343926785237","host":"s3://npm-registry-packages"}},"15.0.0-canary.453a6248a.0":{"name":"@material/dom","version":"15.0.0-canary.453a6248a.0","license":"MIT","_id":"@material/dom@15.0.0-canary.453a6248a.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"593cfbea601396ca653bfed96a3529906b6aafb7","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.453a6248a.0.tgz","fileCount":28,"integrity":"sha512-Q1PkgG2e7X8PixBYeD7oGbVUlsjqhNwY3xDkiKinvufMSp2DC7pBnvlJvLXN5jWusyu5hHuwSUz18qFAT6yCEg==","signatures":[{"sig":"MEYCIQD4yJkQ3PSbtdyY37QoUYvhLnp8Vl6XTUILi+G8h1N6GwIhALp70EKTbRdi44ifLldU3Nhv12q5hM7wPYuX0DuSHg/v","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1eea6443d63f2bc64fe8f6f86664b54266c41244","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.453a6248a.0","@material/feature-targeting":"15.0.0-canary.453a6248a.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.453a6248a.0_1711386781658_0.20469001538907916","host":"s3://npm-registry-packages"}},"15.0.0-canary.68edc03c6.0":{"name":"@material/dom","version":"15.0.0-canary.68edc03c6.0","license":"MIT","_id":"@material/dom@15.0.0-canary.68edc03c6.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"d82d8b84183357cabe2af8591395c66c49ee7de5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.68edc03c6.0.tgz","fileCount":28,"integrity":"sha512-S/LxjgmCEhhUbwvlAx/fpK9nYltijLgVgbk6S28+LRNAJ/Lypw+QJ1vlbDAWW0sGRdPNiliuBwAME7y+PxRrGQ==","signatures":[{"sig":"MEQCIF1oB/soAl34/gStbVe6Ohs4lobFQv5qCWAVDvSqCNPXAiBsI9BPz16mwjV+mGwswWhXe10g7cit51q5PgLBJtUonQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"04046ad51f4d581f93e797ec929d219422dd0235","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.68edc03c6.0","@material/feature-targeting":"15.0.0-canary.68edc03c6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.68edc03c6.0_1712603113875_0.4750235000852243","host":"s3://npm-registry-packages"}},"15.0.0-canary.5bebc0064.0":{"name":"@material/dom","version":"15.0.0-canary.5bebc0064.0","license":"MIT","_id":"@material/dom@15.0.0-canary.5bebc0064.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8f2ef4407901d74cbf2f5ae8215bb5caa4e31f6f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.5bebc0064.0.tgz","fileCount":28,"integrity":"sha512-GHHP9Fk7zPhg7bYGtQCk4sp4g6Ouvamu0e2QceoMwc7cs2YU5xTrgpN0UCjJ+sWsGNxOkoHkqPHINURL2xasYA==","signatures":[{"sig":"MEUCIQD/V7n05nCaXP2w876HMgxit1xvgUpwuTurtzIyZDjxygIgcK7w9PnrpdvmEv9BoEzZ9UUZsH3+Y+8ZTrTSOV8+4AM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"ff39e65972de013a29dd14429e111139bc616366","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.5bebc0064.0","@material/feature-targeting":"15.0.0-canary.5bebc0064.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.5bebc0064.0_1712871584469_0.21682829178366303","host":"s3://npm-registry-packages"}},"15.0.0-canary.311f29a60.0":{"name":"@material/dom","version":"15.0.0-canary.311f29a60.0","license":"MIT","_id":"@material/dom@15.0.0-canary.311f29a60.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"52ed37788b0a4085b7829fc0159dd0fc82b1468a","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.311f29a60.0.tgz","fileCount":28,"integrity":"sha512-BdsGDNXeHnE67BV89UK+sBVVD6S1jc/BeyG+EFJUZC66UIUmMgadwjnT9ZkMQeb6NYj0pdah2jIRxNbrtxcSAg==","signatures":[{"sig":"MEQCIDKpvHeHHeenyLjIE8RMmq4tpL3pWqSNLuXo8oab/B4CAiAWWEiqVUz0OU8JIBHoSU3NX0wXGXULG3SYuzqL0TtTVQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"7bc0264e163e842f0f96c1dbf7a468c022db1497","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.311f29a60.0","@material/feature-targeting":"15.0.0-canary.311f29a60.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.311f29a60.0_1713895140044_0.5549425344964505","host":"s3://npm-registry-packages"}},"15.0.0-canary.65c10a622.0":{"name":"@material/dom","version":"15.0.0-canary.65c10a622.0","license":"MIT","_id":"@material/dom@15.0.0-canary.65c10a622.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"8ca0f9a120733ff2c70cec8bfe260e76dfbdc908","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.65c10a622.0.tgz","fileCount":28,"integrity":"sha512-6nBHjJj6eLBd5iHWKsJgh/VLuwYZzn82/h0+jo2JWxJpSs4Wbw3z6rjGvzcVZBdLVxWKhftVBlLSNt22Zqy3WA==","signatures":[{"sig":"MEQCIG6K5evS9e7/k5ywvvBwfB/Z8JuUCXvN+5y2jEWrN5HFAiB8AObd3xqyM2RBbCFlMnFknTgGnXJEJgQ8/KYMhK+rTQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"1f3126503c812250084b65b6edbb26f25ef4a174","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.65c10a622.0","@material/feature-targeting":"15.0.0-canary.65c10a622.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.65c10a622.0_1714070891605_0.9904905757872706","host":"s3://npm-registry-packages"}},"15.0.0-canary.4b35cb7d0.0":{"name":"@material/dom","version":"15.0.0-canary.4b35cb7d0.0","license":"MIT","_id":"@material/dom@15.0.0-canary.4b35cb7d0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"eda5f634a6013300ca622afc7aae89c14232a280","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.4b35cb7d0.0.tgz","fileCount":28,"integrity":"sha512-dq41Ugm+fdJm72wFHo/ljAKv+CmIgajIYrw6kPZoucvSKEtiZly1HO+PJMzCRV1UbOmi90xYoWqXrPcQZRZvEQ==","signatures":[{"sig":"MEYCIQCb484ACgaoO/V+vzTQMPSjdTT/IaFX+QY/vkSPnvpb8gIhAL4qD12ioDJQcuxQX0morrfk2ySl86JdY+c3P+OGlMMA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"cba29aaa21c1bc2b1f1a02e5ddfa4a5110d9ef63","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.4b35cb7d0.0","@material/feature-targeting":"15.0.0-canary.4b35cb7d0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.4b35cb7d0.0_1714651336369_0.9347634584195428","host":"s3://npm-registry-packages"}},"15.0.0-canary.f80ac92b0.0":{"name":"@material/dom","version":"15.0.0-canary.f80ac92b0.0","license":"MIT","_id":"@material/dom@15.0.0-canary.f80ac92b0.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b1998c67baae733c1d949d071fabc18530df0fc5","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.f80ac92b0.0.tgz","fileCount":28,"integrity":"sha512-Z2wvMkgEhNwFpFcCMYeN7coCI+S/uLmOo+TVNVQqNBNy4uU2nOO1Yr1eL0Oz+32p4w+x+SLx7P5sEiLj3Wld9w==","signatures":[{"sig":"MEUCIQDZr4LaUNXYl8jUjJAtdwY8RJusBJN2YTmu4niQ0UQniwIgFxbbo3/CJhyn+xK7lKwR+7/43k95qumfi3pxmS5BFBA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"514a3afe9efc5bcebf1ace1e335357184ee1a9e0","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.f80ac92b0.0","@material/feature-targeting":"15.0.0-canary.f80ac92b0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.f80ac92b0.0_1714651955132_0.7368173405045519","host":"s3://npm-registry-packages"}},"15.0.0-canary.2f5b899bc.0":{"name":"@material/dom","version":"15.0.0-canary.2f5b899bc.0","license":"MIT","_id":"@material/dom@15.0.0-canary.2f5b899bc.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cb1194f75295a3e80bde23c1f799d62ca1e4af87","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.2f5b899bc.0.tgz","fileCount":28,"integrity":"sha512-f+4BkbxEgckdCP+wYjyZnu48gE8Uq9sCylrbahANrtTUQlKZ/yH6QJRHcsoZTprw9GmiXErqLrpZBJkdAX/0Xw==","signatures":[{"sig":"MEQCIC6HtDXIRNPrfuEEL3T++8TnmWY7tKL6ZJ/sQ1VCkrWRAiBtCH5qtRwSvG6jSDUNxhkQaW9w11Y+CJ4LFf8hTKdmNw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"751553ca74ad43074c963487257a8862de87844b","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.2f5b899bc.0","@material/feature-targeting":"15.0.0-canary.2f5b899bc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.2f5b899bc.0_1716213257171_0.6074620553178942","host":"s3://npm-registry-packages"}},"15.0.0-canary.cfec83c74.0":{"name":"@material/dom","version":"15.0.0-canary.cfec83c74.0","license":"MIT","_id":"@material/dom@15.0.0-canary.cfec83c74.0","maintainers":[{"name":"anonymous","email":"hi@yef.im"},{"name":"anonymous","email":"abhiomkar@gmail.com"},{"name":"anonymous","email":"dfreedm2@gmail.com"},{"name":"anonymous","email":"bicknellr@gmail.com"},{"name":"anonymous","email":"aprigogin+npm@google.com"},{"name":"anonymous","email":"andrey.prigogin@gmail.com"},{"name":"anonymous","email":"prodee@google.com"},{"name":"anonymous","email":"aomarks@gmail.com"},{"name":"anonymous","email":"emarquez@google.com"},{"name":"anonymous","email":"esgonzalez@google.com"},{"name":"anonymous","email":"asyncliz@gmail.com"},{"name":"anonymous","email":"wangchan518@gmail.com"},{"name":"anonymous","email":"sayrisuarez@google.com"},{"name":"anonymous","email":"brian.t.vann@gmail.com"}],"homepage":"https://github.com/material-components/material-components-web#readme","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"cbc648f99e15daf241edb8e085d53b667f240f0f","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.cfec83c74.0.tgz","fileCount":28,"integrity":"sha512-ddRHl0B5NkR83F7ajYyZ3ofPlfplm5JZ+DrR9UX5knWPf4z1VqaWy8smNtSqEUXRuzmWfGGc7zeiOPhHQCzDEQ==","signatures":[{"sig":"MEUCIBlJsaD5PyMOoe6HIIhl/3YbiHDNv8kHhCdKTXr02wNWAiEA3H0z3xrCMOCJfXpTDPOzoTiijnMxIzuf7RYDxK6S5j8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113802},"main":"dist/mdc.dom.js","module":"index.js","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","gitHead":"0ec8b129344ebbe45f00b6ad892b682b054ea892","_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git","directory":"packages/mdc-dom"},"_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","description":"DOM manipulation utilities for Material Components for the web","directories":{},"sideEffects":false,"_nodeVersion":"14.21.3","dependencies":{"tslib":"^2.1.0","@material/rtl":"15.0.0-canary.cfec83c74.0","@material/feature-targeting":"15.0.0-canary.cfec83c74.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/dom_15.0.0-canary.cfec83c74.0_1716231371632_0.5895348909039968","host":"s3://npm-registry-packages"}},"15.0.0-canary.423edc3dc.0":{"name":"@material/dom","description":"DOM manipulation utilities for Material Components for the web","version":"15.0.0-canary.423edc3dc.0","license":"MIT","main":"dist/mdc.dom.js","module":"index.js","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/material-components/material-components-web.git","directory":"packages/mdc-dom"},"publishConfig":{"access":"public"},"dependencies":{"@material/feature-targeting":"15.0.0-canary.423edc3dc.0","@material/rtl":"15.0.0-canary.423edc3dc.0","tslib":"^2.1.0"},"gitHead":"19b2c5a95782b4928b3aecb29a1075c42aee53e5","readme":"<!--docs:\ntitle: \"DOM\"\nlayout: detail\nsection: components\nexcerpt: \"Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\"\npath: /catalog/dom/\n-->\n\n# DOM\n\nMDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.\n\nMost of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.\n\n## Installation\n\n```\nnpm install @material/dom\n```\n\n## Basic Usage\n\n```js\nimport * as ponyfill from '@material/dom/ponyfill';\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Ponyfill Functions\n\nThe `ponyfill` module provides the following functions:\n\nFunction Signature | Description\n--- | ---\n`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.\n`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.\n`estimateScrollWidth(element: Element) => number`  | Returns the true optical width of the element if visible or an estimation if hidden by a parent element with `display: none;`.\n\n## Event Functions\n\nExternal frameworks and libraries can use the following event utility methods.\n\nMethod Signature | Description\n--- | ---\n`util.applyPassive(globalObj = window) => object` | Determine whether the current browser supports passive event listeners\n\n## Focus Trap\n\nThe `FocusTrap` utility traps focus within a given element. It is intended for usage from MDC-internal\ncomponents like dialog and modal drawer.\n\nMethod Signature | Description\n--- | ---\n`trapFocus() => void` | Traps focus in the root element. Also focuses on `initialFocusEl` if set; otherwise, sets initial focus to the first focusable child element.\n`releaseFocus() => void` | Releases focus from the root element. Also restores focus to the previously focused element.\n\n## Announce\n\nThe `announce` utility file contains a single helper method for announcing a message via an `aria-live` region. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`announce(message: string, options?: AnnouncerMessageOptions) => void` | Announces the message via an `aria-live` region with the given options. `AnnouncerMessageOptions.priority` defaults to polite and `AnnouncerMessageOptions.ownerDocument` defaults to the global document.\n<!-- TODO(b/148462294): Remove once only exported members are required in docs `say()` --> <!-- | --> <!-- DO NOT USE -->\n\n## Keyboard\n\nThe `keyboard` utility provides helper methods for normalizing `KeyboardEvent` keys across browsers. It is intended for usage from MDC-internal components.\n\nMethod Signature | Description\n--- | ---\n`normalizeKey(event: KeyboardEvent) => string` | Returns a normalized string derived from `KeyboardEvent`'s `keyCode` property to be standard across browsers.\n`isNavigationEvent(event: KeyboardEvent) => boolean` | Returns `true` if the event is a navigation event (Page Up, Page Down, Home, End, Left, Up, Right, Down).\n\n## Mixins\n\nThe module provides a single SASS mixin which helps improves a DOM element's UX for high-contrast mode users.\n\nMixin | Description\n--- | ---\n`transparent-border` | Emits necessary layout styles to set a transparent border around an element without interfering with the rest of its component layout. The border is only visible in high-contrast mode. The target element should be a child of a relatively positioned top-level element (i.e. a ::before pseudo-element).\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"homepage":"https://github.com/material-components/material-components-web#readme","_id":"@material/dom@15.0.0-canary.423edc3dc.0","_nodeVersion":"14.21.3","_npmVersion":"lerna/3.20.2/node@v14.21.3+x64 (linux)","dist":{"integrity":"sha512-w0QiKgluGrLA0pcczFO1FSw7a1AyvqkJs4KluWTfoz4RWWwTT3A90Uol0qqWdnuwsLqsrWgGD2Sr4PbAhvOmHA==","shasum":"18efd652acfe206d7407e9f0639896b9edb70d82","tarball":"http://repository.ncinga.com/nexus/content/repositories/npm-js-registry/@material/dom/-/dom-15.0.0-canary.423edc3dc.0.tgz","fileCount":28,"unpackedSize":113802,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGn4Jmzmk5Psyv+EhSsAjzeVlhzwfOeioM+UBOdozYBHAiEA7fU3nR9zlGwcRW3XfzyjrqUHinMGjwQPtv7Hu8nOjvg="}]},"_npmUser":{"name":"anonymous","email":"abhiomkar@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dom_15.0.0-canary.423edc3dc.0_1719425502574_0.9091589727251166"},"_hasShrinkwrap":false}},"name":"@material/dom","time":{"created":"2018-09-24T20:00:30.515Z","modified":"2024-06-26T18:11:43.117Z","0.40.0":"2018-09-24T20:00:30.762Z","0.41.0":"2018-10-29T20:21:32.413Z","1.0.0-0":"2019-02-27T23:59:04.763Z","1.0.0-1":"2019-03-04T23:32:58.147Z","1.0.0":"2019-03-06T21:07:40.861Z","1.0.1":"2019-03-11T22:07:08.675Z","1.1.0":"2019-03-26T19:25:35.425Z","3.0.0-alpha.0":"2019-06-12T04:06:33.361Z","3.0.0-alpha.1":"2019-06-12T19:01:57.274Z","3.0.0":"2019-06-25T22:27:41.476Z","3.1.0":"2019-07-22T22:02:16.468Z","4.0.0-alpha.0":"2019-08-07T21:08:47.283Z","4.0.0-canary.0":"2019-09-05T04:37:31.280Z","4.0.0-canary.1":"2019-09-09T20:20:22.216Z","4.0.0-canary.79d881baf.0":"2019-09-13T02:21:13.689Z","4.0.0-canary.e851d4f40.0":"2019-09-13T04:06:54.567Z","4.0.0-canary.905884690.0":"2019-09-16T23:47:47.182Z","4.0.0-canary.199534d61.0":"2019-09-27T18:57:25.616Z","4.0.0-canary.22d7ad2fb.0":"2019-10-15T18:56:53.236Z","4.0.0-canary.735147131.0":"2019-10-16T01:23:12.150Z","4.0.0-canary.062ade5c0.0":"2019-10-17T01:01:14.349Z","4.0.0-canary.774ad4f8.0":"2019-10-17T04:03:55.587Z","4.0.0-canary.5916d18c.0":"2019-10-18T20:08:07.870Z","4.0.0-canary.d4141c95.0":"2019-10-24T01:37:50.342Z","4.0.0-canary.2b878b3e.0":"2019-10-25T02:10:15.906Z","4.0.0-canary.b06c0efe.0":"2019-10-26T01:34:44.842Z","4.0.0-canary.01628efa.0":"2019-10-29T00:02:34.791Z","4.0.0-canary.b5c6d66b.0":"2019-10-29T17:56:13.668Z","4.0.0-canary.cdf858ea.0":"2019-11-01T17:58:24.251Z","4.0.0-canary.719b57e1.0":"2019-11-01T20:01:06.149Z","4.0.0-canary.97cbbdc2.0":"2019-11-01T20:28:41.391Z","4.0.0-canary.8e36b3b7.0":"2019-11-01T21:00:37.572Z","4.0.0-canary.62d3a09b.0":"2019-11-01T21:10:16.284Z","4.0.0":"2019-11-02T18:11:24.606Z","5.0.0-canary.b5eb51e94.0":"2019-11-07T18:33:10.150Z","5.0.0-canary.58500806e.0":"2019-11-08T15:35:11.009Z","5.0.0-canary.66299b646.0":"2019-11-08T20:33:16.809Z","5.0.0-canary.821871e04.0":"2019-11-08T21:27:46.359Z","5.0.0-canary.491fddc31.0":"2019-11-08T22:06:46.820Z","5.0.0-canary.b0cecf145.0":"2019-11-09T18:42:01.109Z","5.0.0-canary.afe0dd1bc.0":"2019-11-11T15:37:14.948Z","5.0.0-canary.b4cfdc40b.0":"2019-11-14T15:58:00.882Z","5.0.0-canary.525989b5d.0":"2019-11-14T23:30:24.184Z","5.0.0-canary.7084b403a.0":"2019-11-15T01:05:29.995Z","5.0.0-canary.3cbee6dac.0":"2019-11-15T22:32:21.472Z","5.0.0-canary.591a6ad44.0":"2019-11-18T23:48:03.301Z","5.0.0-canary.5729943ba.0":"2019-11-20T05:18:55.929Z","5.0.0-canary.e89750dc7.0":"2019-11-27T02:09:20.531Z","5.0.0-canary.3e560b33a.0":"2019-11-27T02:10:03.276Z","5.0.0-canary.7fd17ce5e.0":"2019-11-27T02:10:15.856Z","5.0.0-canary.ec729683b.0":"2019-11-27T15:54:22.074Z","5.0.0-canary.b8bc4a26e.0":"2019-11-27T19:16:19.829Z","5.0.0-canary.f978109c3.0":"2019-12-02T17:06:56.567Z","5.0.0-canary.ad9dfe706.0":"2019-12-03T23:17:32.481Z","5.0.0-canary.5e45d77f3.0":"2019-12-03T23:18:39.437Z","5.0.0-canary.d10e8cdf3.0":"2019-12-03T23:19:23.015Z","5.0.0-canary.a5dbd8a2a.0":"2019-12-03T23:54:31.572Z","5.0.0-canary.ba879b68b.0":"2019-12-04T20:22:12.574Z","5.0.0-canary.aa0eba489.0":"2019-12-06T01:58:43.353Z","5.0.0-canary.cb7b71a86.0":"2019-12-06T23:55:26.411Z","5.0.0-canary.50f110a6c.0":"2019-12-10T16:59:06.864Z","5.0.0-canary.878a08b7c.0":"2019-12-11T20:15:51.770Z","5.0.0-canary.397905b4e.0":"2019-12-12T02:46:48.413Z","5.0.0-canary.1fbf5bd1d.0":"2019-12-12T18:58:49.980Z","5.0.0-canary.b723dfa78.0":"2019-12-12T20:09:15.677Z","5.0.0-canary.1c494e567.0":"2019-12-12T23:36:12.079Z","5.0.0-canary.c9e98a125.0":"2019-12-17T18:09:15.328Z","5.0.0-canary.5ffe8f7e3.0":"2019-12-17T22:32:51.875Z","5.0.0-canary.47949b08e.0":"2019-12-18T17:40:07.833Z","5.0.0-canary.b240bcc1b.0":"2019-12-18T19:16:13.772Z","5.0.0-canary.391674a26.0":"2019-12-18T19:16:22.171Z","5.0.0-canary.c4837746c.0":"2019-12-18T19:34:23.421Z","5.0.0-canary.e41a70425.0":"2019-12-18T23:19:34.220Z","5.0.0-canary.bac43eb43.0":"2019-12-18T23:23:18.082Z","5.0.0-canary.2e491de55.0":"2019-12-19T10:49:10.759Z","5.0.0-canary.ae101c144.0":"2019-12-19T16:24:15.734Z","5.0.0-canary.a51c31f26.0":"2019-12-19T17:13:48.814Z","5.0.0-canary.21fc4e13b.0":"2019-12-19T21:26:37.424Z","5.0.0-canary.d2ae6e17d.0":"2019-12-19T22:23:39.659Z","5.0.0-canary.ba30399ad.0":"2019-12-20T01:09:12.703Z","5.0.0-canary.a08ccec35.0":"2019-12-20T23:26:18.395Z","5.0.0-canary.a2f75105e.0":"2019-12-23T19:47:05.225Z","5.0.0-canary.c054a24c7.0":"2019-12-23T21:49:30.319Z","5.0.0-canary.c6808c51c.0":"2019-12-23T21:54:12.476Z","5.0.0-canary.7bce9cf77.0":"2019-12-26T18:45:03.280Z","5.0.0-canary.c92f038c3.0":"2019-12-30T22:02:30.472Z","5.0.0-canary.1f1ac7558.0":"2020-01-02T20:53:32.165Z","5.0.0-canary.ec26e799c.0":"2020-01-02T21:41:55.730Z","5.0.0-canary.0a40ced40.0":"2020-01-03T17:08:53.429Z","5.0.0-canary.3adf84899.0":"2020-01-03T18:21:52.696Z","5.0.0-canary.0d42ee650.0":"2020-01-03T21:36:28.563Z","5.0.0-canary.7be9e4a04.0":"2020-01-06T17:03:50.578Z","5.0.0-canary.847dd1ada.0":"2020-01-06T19:25:43.971Z","5.0.0-canary.39df7e5df.0":"2020-01-07T00:54:57.613Z","5.0.0-canary.f1a2581ab.0":"2020-01-07T14:59:00.524Z","5.0.0-canary.7c7ddf347.0":"2020-01-07T15:14:51.981Z","5.0.0-canary.a1c84d4b5.0":"2020-01-07T18:09:30.183Z","5.0.0-canary.ec9f16578.0":"2020-01-07T19:39:00.911Z","5.0.0-canary.b602226ce.0":"2020-01-07T20:14:44.288Z","5.0.0-canary.b2d2dc08c.0":"2020-01-07T21:25:28.945Z","5.0.0-canary.61f2d7580.0":"2020-01-07T21:39:08.606Z","5.0.0-canary.d1be53a2e.0":"2020-01-07T22:16:19.954Z","5.0.0-canary.9b0d06e32.0":"2020-01-07T22:18:48.765Z","5.0.0-canary.730c807a0.0":"2020-01-07T22:20:25.654Z","5.0.0-canary.2213152cd.0":"2020-01-08T17:21:39.212Z","5.0.0-canary.5750f7169.0":"2020-01-08T17:56:14.073Z","5.0.0-canary.f7abc7a43.0":"2020-01-08T18:27:09.690Z","5.0.0-canary.bf7b4a061.0":"2020-01-08T18:40:58.038Z","5.0.0-canary.784fa7903.0":"2020-01-08T19:09:46.277Z","5.0.0-canary.823c050ba.0":"2020-01-08T20:10:10.689Z","5.0.0-canary.70c708dee.0":"2020-01-08T20:21:26.284Z","5.0.0-canary.5ed9d13d0.0":"2020-01-08T21:42:03.784Z","5.0.0-canary.4819cc7e5.0":"2020-01-08T21:57:26.064Z","5.0.0-canary.fe3ffd2c3.0":"2020-01-08T22:15:39.629Z","5.0.0-canary.c0e850090.0":"2020-01-08T22:22:41.490Z","5.0.0-canary.615f86f38.0":"2020-01-08T22:39:25.912Z","5.0.0-canary.1eb032637.0":"2020-01-08T22:59:26.420Z","5.0.0-canary.5bc5ebfea.0":"2020-01-08T23:00:11.787Z","5.0.0-canary.1112b8def.0":"2020-01-09T22:09:29.136Z","5.0.0-canary.aab102017.0":"2020-01-10T00:11:45.689Z","5.0.0-canary.426913342.0":"2020-01-10T01:43:36.562Z","5.0.0-canary.d4ea9a706.0":"2020-01-10T17:24:42.610Z","5.0.0-canary.7d4ee2996.0":"2020-01-10T17:56:12.010Z","5.0.0-canary.981ec9b6f.0":"2020-01-10T19:26:05.868Z","5.0.0-canary.737da83fc.0":"2020-01-10T21:18:12.459Z","5.0.0-canary.aca8e6c18.0":"2020-01-13T19:30:56.565Z","5.0.0-canary.c38d84e21.0":"2020-01-13T22:12:48.225Z","5.0.0-canary.a4db5fbad.0":"2020-01-14T02:14:51.152Z","5.0.0-canary.faa9af310.0":"2020-01-14T16:52:04.218Z","5.0.0-canary.60354c577.0":"2020-01-14T22:45:21.272Z","5.0.0-canary.d07c78daa.0":"2020-01-14T23:38:00.227Z","5.0.0-canary.8ddd5c6dc.0":"2020-01-15T01:42:31.128Z","5.0.0-canary.a9511d870.0":"2020-01-15T19:09:41.195Z","5.0.0-canary.7c8583c4c.0":"2020-01-15T22:46:53.421Z","5.0.0-canary.5d4b82bac.0":"2020-01-15T22:47:03.535Z","5.0.0-canary.57d0186e4.0":"2020-01-16T18:16:47.194Z","5.0.0-canary.071a6ab70.0":"2020-01-16T18:23:19.662Z","5.0.0-canary.22e0cb618.0":"2020-01-16T18:46:27.758Z","5.0.0-canary.f16f15b8f.0":"2020-01-17T00:06:18.405Z","5.0.0-canary.aa8e43e9a.0":"2020-01-17T00:36:09.320Z","5.0.0-canary.fe1f3ca07.0":"2020-01-17T00:59:33.921Z","5.0.0-canary.d405af26b.0":"2020-01-17T18:16:30.466Z","5.0.0-canary.6e857aae2.0":"2020-01-17T18:20:11.987Z","5.0.0-canary.e2e764f7c.0":"2020-01-17T18:35:23.724Z","5.0.0-canary.7ef986a87.0":"2020-01-17T19:30:11.877Z","5.0.0-canary.29402e2d4.0":"2020-01-17T20:39:03.158Z","5.0.0-canary.2b3ec563c.0":"2020-01-17T23:10:54.856Z","5.0.0-canary.e8a993677.0":"2020-01-21T16:49:03.040Z","5.0.0-canary.cd4903304.0":"2020-01-21T21:36:49.178Z","5.0.0-canary.7e4b04b25.0":"2020-01-21T22:45:11.323Z","5.0.0-canary.ebc296937.0":"2020-01-21T23:44:14.800Z","5.0.0-canary.cf33f113d.0":"2020-01-22T01:21:36.947Z","5.0.0-canary.e1d5f1be5.0":"2020-01-22T16:54:30.453Z","5.0.0-canary.6b6a4ff92.0":"2020-01-22T17:56:55.160Z","5.0.0-canary.6092f71ee.0":"2020-01-22T21:16:19.879Z","5.0.0-canary.d8d95020f.0":"2020-01-22T23:08:55.947Z","5.0.0-canary.b7facc628.0":"2020-01-23T18:11:52.654Z","5.0.0-canary.63f357dbf.0":"2020-01-23T21:54:42.285Z","5.0.0-canary.f2426d26e.0":"2020-01-23T23:54:43.870Z","5.0.0-canary.7f5e0c23f.0":"2020-01-24T16:46:59.533Z","5.0.0-canary.3fc3ab520.0":"2020-01-24T17:20:07.985Z","5.0.0-canary.80a4d326f.0":"2020-01-24T20:45:10.426Z","5.0.0-canary.ef7de4def.0":"2020-01-24T21:31:16.988Z","5.0.0-canary.93e2288b6.0":"2020-01-28T16:54:28.606Z","5.0.0-canary.34ef15f67.0":"2020-01-28T17:23:25.977Z","5.0.0-canary.d3d176ba5.0":"2020-01-28T17:28:45.412Z","5.0.0-canary.32c1df133.0":"2020-01-28T19:42:41.891Z","5.0.0-canary.f3adce86f.0":"2020-01-28T21:48:15.686Z","5.0.0-canary.a4423f890.0":"2020-01-29T21:08:50.262Z","5.0.0-canary.9351f167d.0":"2020-01-29T21:54:52.855Z","5.0.0-canary.29b89dbc1.0":"2020-01-29T22:16:09.045Z","5.0.0-canary.45985457b.0":"2020-01-29T23:32:09.743Z","5.0.0-canary.a1a0deb3e.0":"2020-01-30T17:36:35.324Z","5.0.0-canary.181486643.0":"2020-01-30T20:55:16.876Z","5.0.0-canary.3a85313ac.0":"2020-01-31T16:22:31.427Z","5.0.0-canary.b6c7f624b.0":"2020-01-31T17:02:20.492Z","5.0.0-canary.b3f70ebde.0":"2020-01-31T20:09:25.294Z","5.0.0-canary.3e782d8f8.0":"2020-02-02T01:12:08.284Z","5.0.0-canary.535398572.0":"2020-02-03T18:10:22.461Z","5.0.0-canary.5ff33802c.0":"2020-02-04T18:03:07.016Z","5.0.0-canary.1eb29491c.0":"2020-02-04T20:59:43.350Z","5.0.0-canary.4c7154b26.0":"2020-02-05T16:01:56.464Z","5.0.0-canary.ab5f49a2c.0":"2020-02-05T23:32:26.265Z","5.0.0-canary.c541ebe15.0":"2020-02-06T22:29:09.534Z","5.0.0-canary.98f7faa05.0":"2020-02-07T19:20:33.180Z","5.0.0-canary.b4727e43a.0":"2020-02-07T19:54:46.681Z","5.0.0-canary.91d9d5a65.0":"2020-02-07T22:58:18.682Z","5.0.0-canary.d5c006ed1.0":"2020-02-10T16:47:39.103Z","5.0.0-canary.559f1a570.0":"2020-02-10T17:23:58.185Z","5.0.0-canary.ad3bbf782.0":"2020-02-10T19:10:44.433Z","5.0.0-canary.570d8e49c.0":"2020-02-10T20:42:35.130Z","5.0.0-canary.48b06b89a.0":"2020-02-11T18:42:23.876Z","5.0.0-canary.612443dfb.0":"2020-02-11T19:48:01.396Z","5.0.0-canary.8c11ea2a3.0":"2020-02-12T08:50:44.513Z","5.0.0-canary.b2f3d311e.0":"2020-02-13T21:42:55.390Z","5.0.0-canary.4f488d0ee.0":"2020-02-13T23:05:25.144Z","6.0.0-canary.fe79de07d.0":"2020-02-13T23:22:37.767Z","5.0.0":"2020-02-14T00:08:13.415Z","6.0.0-canary.5e313b1f2.0":"2020-02-14T23:47:17.016Z","6.0.0-canary.6a56f387c.0":"2020-02-18T19:42:40.376Z","6.0.0-canary.bdfd52632.0":"2020-02-19T20:21:47.581Z","6.0.0-canary.ad2e4376a.0":"2020-02-20T23:15:15.228Z","6.0.0-canary.765caef18.0":"2020-02-21T17:32:06.090Z","6.0.0-canary.949562303.0":"2020-02-21T20:36:41.799Z","6.0.0-canary.7ec96974e.0":"2020-02-24T18:57:19.665Z","6.0.0-canary.265ecbad5.0":"2020-02-25T20:59:55.942Z","5.1.0":"2020-02-25T21:37:07.585Z","6.0.0-canary.2cf87456f.0":"2020-02-25T21:37:50.313Z","6.0.0-canary.781434a92.0":"2020-02-25T23:27:17.663Z","6.0.0-canary.d6f60c98b.0":"2020-02-28T22:02:43.990Z","6.0.0-canary.69edc6e28.0":"2020-02-28T22:11:17.478Z","6.0.0-canary.9372e4939.0":"2020-03-03T19:08:50.939Z","6.0.0-canary.9cf5e9842.0":"2020-03-03T23:24:53.362Z","6.0.0-canary.3657f8863.0":"2020-03-04T17:43:19.110Z","6.0.0-canary.98b843417.0":"2020-03-05T18:30:13.266Z","6.0.0-canary.17b9699c4.0":"2020-03-05T19:21:31.406Z","6.0.0-canary.6ee035572.0":"2020-03-09T16:45:40.865Z","6.0.0-canary.bd33cb56b.0":"2020-03-09T17:21:01.775Z","6.0.0-canary.9ebee4ceb.0":"2020-03-09T21:12:50.255Z","6.0.0-canary.26c049afa.0":"2020-03-10T17:01:41.577Z","6.0.0-canary.a731fd0a4.0":"2020-03-10T20:31:06.390Z","6.0.0-canary.1db5c9fc8.0":"2020-03-10T20:35:33.506Z","6.0.0-canary.4971637f4.0":"2020-03-10T22:57:07.840Z","6.0.0-canary.1ae8130ce.0":"2020-03-10T23:04:42.267Z","6.0.0-canary.8639c2690.0":"2020-03-11T06:32:30.956Z","6.0.0-canary.d5808057f.0":"2020-03-11T16:24:48.247Z","6.0.0-canary.b3f58203d.0":"2020-03-11T19:37:13.777Z","6.0.0-canary.bec065920.0":"2020-03-12T20:19:24.076Z","6.0.0-canary.776291ef0.0":"2020-03-17T19:19:55.489Z","6.0.0-canary.ece19f3dd.0":"2020-03-17T22:00:33.434Z","6.0.0-canary.4dc45af6c.0":"2020-03-18T01:47:06.034Z","6.0.0-canary.6b48781bf.0":"2020-03-18T15:33:44.527Z","6.0.0-canary.a88c8e4dc.0":"2020-03-19T17:35:07.723Z","6.0.0-canary.cafe18860.0":"2020-03-20T14:52:46.520Z","6.0.0-canary.35a32aaea.0":"2020-03-20T19:58:23.400Z","6.0.0-canary.e75deb854.0":"2020-03-20T22:14:14.940Z","6.0.0-canary.2cc6966f6.0":"2020-03-24T18:42:40.026Z","6.0.0-canary.8707953b6.0":"2020-03-24T18:46:08.412Z","6.0.0-canary.10af6cf39.0":"2020-03-25T18:17:45.874Z","6.0.0-canary.7d8f9c8d7.0":"2020-03-27T18:04:02.644Z","6.0.0-canary.d6315efe2.0":"2020-03-27T19:55:31.801Z","6.0.0-canary.a3016368d.0":"2020-03-27T21:18:51.507Z","6.0.0-canary.4b45b6620.0":"2020-03-31T15:55:34.473Z","6.0.0-canary.e84b9c8.0":"2020-04-01T16:55:11.865Z","6.0.0-canary.e33c49e.0":"2020-04-02T00:08:43.566Z","6.0.0-canary.f1f8e60.0":"2020-04-02T19:13:01.661Z","6.0.0-canary.1e17c49b3.0":"2020-04-03T18:03:14.556Z","6.0.0-canary.6a40ef217.0":"2020-04-03T19:23:52.708Z","6.0.0-canary.5f24faacb.0":"2020-04-08T15:35:21.222Z","6.0.0-canary.82fa986b9.0":"2020-04-08T15:40:57.367Z","6.0.0-canary.9930d9cc5.0":"2020-04-08T19:31:36.703Z","6.0.0-canary.6601d24af.0":"2020-04-09T00:29:12.101Z","6.0.0-canary.05f5e1583.0":"2020-04-09T00:46:25.840Z","6.0.0-canary.bce00e186.0":"2020-04-09T15:21:51.731Z","6.0.0-canary.927fa902c.0":"2020-04-09T18:45:48.118Z","6.0.0-canary.eb28b6ecc.0":"2020-04-10T19:30:19.761Z","6.0.0-canary.816a43b42.0":"2020-04-10T20:52:00.391Z","6.0.0-canary.008c4d319.0":"2020-04-13T16:33:12.847Z","6.0.0-canary.cbb3f28ca.0":"2020-04-14T05:05:20.031Z","6.0.0-canary.f172b0f90.0":"2020-04-14T23:09:44.281Z","6.0.0-canary.c02642273.0":"2020-04-15T16:16:36.579Z","6.0.0-canary.8a299b568.0":"2020-04-15T22:42:43.461Z","6.0.0-canary.490fbdc09.0":"2020-04-16T05:59:07.523Z","6.0.0-canary.f838c6e55.0":"2020-04-16T14:25:47.303Z","6.0.0-canary.ce6cb7024.0":"2020-04-16T17:18:26.174Z","6.0.0-canary.0ab62a65b.0":"2020-04-16T18:53:39.110Z","6.0.0-canary.ca61b656f.0":"2020-04-16T19:59:23.494Z","6.0.0-canary.45a6615e3.0":"2020-04-16T20:32:19.225Z","6.0.0-canary.4b04cdb0f.0":"2020-04-17T17:40:24.683Z","6.0.0-canary.b273afa93.0":"2020-04-17T23:02:19.138Z","6.0.0-canary.b70bc601e.0":"2020-04-17T23:20:54.896Z","6.0.0-canary.c4b4bba96.0":"2020-04-18T00:17:09.141Z","6.0.0-canary.6c1ebc721.0":"2020-04-20T19:57:37.649Z","6.0.0-canary.9cff4318f.0":"2020-04-20T20:55:07.611Z","6.0.0-canary.7b4482402.0":"2020-04-20T22:19:34.483Z","6.0.0-canary.deda86d8c.0":"2020-04-21T01:14:25.306Z","6.0.0-canary.d10412cb2.0":"2020-04-21T18:17:57.251Z","6.0.0-canary.c141801d5.0":"2020-04-21T19:41:32.241Z","6.0.0-canary.28d10a96e.0":"2020-04-22T22:06:44.029Z","7.0.0-canary.8540808be.0":"2020-04-23T17:25:24.675Z","6.0.0":"2020-04-23T17:25:57.658Z","7.0.0-canary.2673adb74.0":"2020-04-23T22:45:08.933Z","7.0.0-canary.b10d0d7f1.0":"2020-04-24T00:20:42.536Z","7.0.0-canary.3bd8c1bac.0":"2020-04-24T21:05:37.769Z","7.0.0-canary.b83c8dc22.0":"2020-04-24T21:18:25.703Z","7.0.0-canary.1b3dd846d.0":"2020-04-25T00:43:32.368Z","7.0.0-canary.29debfea7.0":"2020-04-27T12:31:40.318Z","7.0.0-canary.28d32f8e0.0":"2020-04-27T14:06:18.754Z","7.0.0-canary.af71cfdd6.0":"2020-04-28T23:17:02.631Z","7.0.0-canary.99d2fc961.0":"2020-04-29T10:43:26.034Z","7.0.0-canary.0e052b24f.0":"2020-04-30T01:29:03.053Z","7.0.0-canary.ff4bc632a.0":"2020-04-30T08:27:14.744Z","7.0.0-canary.b0f83d2fd.0":"2020-04-30T14:32:12.645Z","7.0.0-canary.e59906a57.0":"2020-05-01T15:41:52.788Z","7.0.0-canary.c02712b59.0":"2020-05-01T18:25:18.701Z","7.0.0-canary.15d65448e.0":"2020-05-01T19:22:05.858Z","7.0.0-canary.142b1549e.0":"2020-05-01T22:35:24.320Z","7.0.0-canary.524b7b812.0":"2020-05-03T20:47:08.255Z","7.0.0-canary.bd8ca9678.0":"2020-05-04T17:18:32.388Z","7.0.0-canary.2553e86fe.0":"2020-05-04T17:30:40.033Z","7.0.0-canary.03dec929e.0":"2020-05-04T23:33:14.617Z","7.0.0-canary.d92d8c93e.0":"2020-05-05T16:58:23.833Z","7.0.0-canary.09f591967.0":"2020-05-05T21:03:43.791Z","7.0.0-canary.3846ce311.0":"2020-05-06T14:09:00.024Z","7.0.0-canary.ed7f32463.0":"2020-05-06T16:06:43.400Z","7.0.0-canary.8135cc085.0":"2020-05-06T19:54:37.361Z","7.0.0-canary.deb212de4.0":"2020-05-06T22:18:13.352Z","7.0.0-canary.f83e00898.0":"2020-05-07T16:49:01.749Z","7.0.0-canary.047e6b337.0":"2020-05-08T18:37:56.524Z","7.0.0-canary.119e21426.0":"2020-05-08T20:21:55.864Z","7.0.0-canary.2f052d824.0":"2020-05-08T21:06:38.724Z","7.0.0-canary.e84444387.0":"2020-05-08T21:31:05.021Z","7.0.0-canary.893eb1876.0":"2020-05-11T14:12:28.283Z","7.0.0-canary.a5aeb3001.0":"2020-05-11T14:28:16.510Z","7.0.0-canary.610c68d97.0":"2020-05-11T19:31:53.251Z","7.0.0-canary.ed52af767.0":"2020-05-11T20:26:41.814Z","7.0.0-canary.058cfd23c.0":"2020-05-11T21:24:37.867Z","7.0.0-canary.0a371b4fe.0":"2020-05-12T23:17:33.923Z","7.0.0-canary.2139200b3.0":"2020-05-13T14:46:42.061Z","7.0.0-canary.744d751a0.0":"2020-05-14T04:42:16.378Z","7.0.0-canary.ad0c0c103.0":"2020-05-14T14:50:57.610Z","7.0.0-canary.fd8f8f2b7.0":"2020-05-18T17:53:10.112Z","7.0.0-canary.730920fbb.0":"2020-05-18T19:43:28.842Z","7.0.0-canary.bcdad99bb.0":"2020-05-19T03:17:32.963Z","7.0.0-canary.4497b86ed.0":"2020-05-19T03:50:19.245Z","7.0.0-canary.2e60575da.0":"2020-05-19T16:08:43.123Z","7.0.0-canary.e3eacefcc.0":"2020-05-19T17:37:35.324Z","7.0.0-canary.b065a4d2b.0":"2020-05-20T14:35:57.127Z","7.0.0-canary.4ebce8d78.0":"2020-05-20T20:49:58.997Z","7.0.0-canary.b0fdca492.0":"2020-05-20T23:02:17.352Z","7.0.0-canary.c67667e8e.0":"2020-05-21T14:12:00.220Z","7.0.0-canary.62b5f37db.0":"2020-05-21T16:40:40.866Z","7.0.0-canary.2e218dbf8.0":"2020-05-21T17:01:36.535Z","7.0.0-canary.7fd792bb9.0":"2020-05-21T17:14:08.360Z","7.0.0-canary.a66493cd8.0":"2020-05-21T17:17:36.132Z","7.0.0-canary.da05f66e1.0":"2020-05-21T17:19:28.470Z","7.0.0-canary.740860e78.0":"2020-05-21T17:26:10.645Z","7.0.0-canary.5cea2610f.0":"2020-05-21T17:28:09.735Z","7.0.0-canary.cf7747ef7.0":"2020-05-21T17:28:28.887Z","7.0.0-canary.862d0d7bc.0":"2020-05-21T17:31:10.344Z","7.0.0-canary.0008c8a91.0":"2020-05-21T19:32:38.103Z","7.0.0-canary.541638fa2.0":"2020-05-21T19:47:34.050Z","7.0.0-canary.6167cd075.0":"2020-05-21T20:20:30.765Z","7.0.0-canary.863ac1b0f.0":"2020-05-21T20:59:11.569Z","7.0.0-canary.d30a214ac.0":"2020-05-21T21:03:22.153Z","7.0.0-canary.62abbc8d7.0":"2020-05-21T21:28:08.456Z","7.0.0-canary.49bf31d5c.0":"2020-05-21T21:31:27.229Z","7.0.0-canary.8e17857d0.0":"2020-05-21T21:32:19.920Z","7.0.0-canary.c113fc942.0":"2020-05-21T22:45:54.255Z","7.0.0-canary.912d9021d.0":"2020-05-26T18:44:45.905Z","7.0.0-canary.68a2af131.0":"2020-05-26T19:06:51.941Z","7.0.0-canary.01de07011.0":"2020-05-26T19:52:09.493Z","7.0.0-canary.51d4535fe.0":"2020-05-26T21:34:16.386Z","7.0.0-canary.b86d826b7.0":"2020-05-26T22:13:08.572Z","7.0.0-canary.d91794c7e.0":"2020-05-26T23:54:27.682Z","7.0.0-canary.8c6d7e076.0":"2020-05-27T18:58:47.646Z","7.0.0-canary.5b5f62f93.0":"2020-05-27T19:15:50.476Z","7.0.0-canary.d9972abb1.0":"2020-05-27T20:20:18.395Z","7.0.0-canary.6556eda2b.0":"2020-05-27T20:29:28.742Z","7.0.0-canary.32aa23641.0":"2020-05-27T21:37:43.931Z","7.0.0-canary.654934dfa.0":"2020-05-28T00:36:22.153Z","7.0.0-canary.41910b8b8.0":"2020-05-28T00:50:49.954Z","7.0.0-canary.d66d22bf9.0":"2020-05-28T19:54:41.217Z","7.0.0-canary.8904f3cbe.0":"2020-05-29T16:49:50.544Z","7.0.0-canary.51512a4ac.0":"2020-05-29T19:14:34.334Z","7.0.0-canary.0743288fb.0":"2020-05-29T20:04:31.424Z","7.0.0-canary.06ef147b5.0":"2020-05-29T20:40:11.238Z","7.0.0-canary.8073a20a9.0":"2020-05-29T23:25:02.268Z","7.0.0-canary.72ff42330.0":"2020-06-01T16:43:20.131Z","7.0.0-canary.9ea52070f.0":"2020-06-01T16:48:33.994Z","7.0.0-canary.d86ad3b60.0":"2020-06-01T17:48:18.982Z","7.0.0-canary.b9776b1d0.0":"2020-06-01T18:25:28.561Z","7.0.0-canary.ba6f7c294.0":"2020-06-02T17:02:08.348Z","7.0.0-canary.cf3b664ab.0":"2020-06-02T18:22:59.441Z","7.0.0-canary.4ba3c9a31.0":"2020-06-02T23:51:44.485Z","7.0.0-canary.388b042c7.0":"2020-06-03T13:45:59.245Z","7.0.0-canary.cca1ca84d.0":"2020-06-03T16:02:10.350Z","7.0.0-canary.9b0b5f2e0.0":"2020-06-03T18:57:02.790Z","7.0.0-canary.0a7895f4d.0":"2020-06-03T21:08:29.887Z","7.0.0-canary.7461aad68.0":"2020-06-03T22:11:48.082Z","7.0.0-canary.a0dc2b5c4.0":"2020-06-04T21:13:21.627Z","7.0.0-canary.2b420c5b3.0":"2020-06-08T16:13:50.920Z","7.0.0-canary.8fa22aacc.0":"2020-06-08T18:04:03.649Z","7.0.0-canary.21c4e4ed8.0":"2020-06-08T18:43:41.609Z","7.0.0-canary.dfde46516.0":"2020-06-08T19:41:17.145Z","7.0.0-canary.05cc5c206.0":"2020-06-08T20:56:11.173Z","7.0.0-canary.3ee488f1c.0":"2020-06-09T14:53:27.931Z","7.0.0-canary.b83d720ee.0":"2020-06-09T17:25:44.880Z","7.0.0-canary.afb1c11a9.0":"2020-06-09T20:15:54.609Z","7.0.0-canary.39e6f71e2.0":"2020-06-09T23:39:02.537Z","7.0.0-canary.d4c66dc7d.0":"2020-06-11T17:45:23.088Z","7.0.0-canary.be4a19f9f.0":"2020-06-12T06:07:37.626Z","7.0.0-canary.a6ac8f629.0":"2020-06-15T21:30:12.581Z","7.0.0-canary.9833dc287.0":"2020-06-16T19:48:43.994Z","7.0.0-canary.3aa33998e.0":"2020-06-16T20:20:30.576Z","7.0.0-canary.d2b54d183.0":"2020-06-18T01:15:08.512Z","7.0.0-canary.f2a488e95.0":"2020-06-18T15:03:36.539Z","7.0.0-canary.bd8d1aafa.0":"2020-06-18T15:15:47.160Z","7.0.0-canary.1321eb968.0":"2020-06-19T19:20:47.033Z","7.0.0-canary.db5cc0382.0":"2020-06-19T19:27:10.609Z","7.0.0-canary.6ac9bf031.0":"2020-06-19T19:47:33.799Z","7.0.0-canary.c21b5c367.0":"2020-06-19T20:09:53.297Z","7.0.0-canary.bfdd7fd39.0":"2020-06-19T20:19:22.030Z","7.0.0-canary.10b505785.0":"2020-06-19T20:20:48.733Z","7.0.0-canary.6483d3f44.0":"2020-06-19T20:36:58.651Z","7.0.0-canary.30a74e921.0":"2020-06-19T20:39:15.484Z","7.0.0-canary.c20727498.0":"2020-06-19T20:42:08.316Z","7.0.0-canary.4e360ae94.0":"2020-06-19T20:58:54.777Z","7.0.0-canary.8550fa53b.0":"2020-06-19T21:01:06.807Z","7.0.0-canary.93ade142e.0":"2020-06-19T21:02:17.080Z","7.0.0-canary.a0032f5bb.0":"2020-06-19T21:27:16.930Z","7.0.0-canary.3f342e721.0":"2020-06-19T21:29:19.107Z","7.0.0-canary.ff89457cc.0":"2020-06-19T21:30:43.882Z","7.0.0-canary.4a1855cf8.0":"2020-06-19T21:33:28.125Z","7.0.0-canary.8602f1b4d.0":"2020-06-22T17:23:01.016Z","7.0.0-canary.69f9f0982.0":"2020-06-22T21:13:48.937Z","7.0.0-canary.369a293f0.0":"2020-06-22T21:16:04.725Z","7.0.0-canary.f1432b5c6.0":"2020-06-22T21:24:42.438Z","7.0.0-canary.4757a16b4.0":"2020-06-22T21:52:44.718Z","7.0.0-canary.f8f472762.0":"2020-06-22T21:56:50.253Z","7.0.0-canary.7e4d55c34.0":"2020-06-22T22:28:43.422Z","7.0.0-canary.bd1dbc91f.0":"2020-06-23T14:27:22.827Z","7.0.0-canary.31523bc62.0":"2020-06-23T14:32:44.208Z","7.0.0-canary.a96b6d4d6.0":"2020-06-23T14:39:21.532Z","7.0.0-canary.ef3a09533.0":"2020-06-23T14:47:26.425Z","7.0.0-canary.080965f39.0":"2020-06-23T15:16:55.868Z","7.0.0-canary.1bd67b65d.0":"2020-06-23T15:59:23.097Z","7.0.0-canary.18ca31248.0":"2020-06-23T18:24:07.195Z","7.0.0-canary.39cf00836.0":"2020-06-23T18:47:17.590Z","7.0.0-canary.1bfda9e05.0":"2020-06-23T18:59:46.189Z","7.0.0-canary.08731bd95.0":"2020-06-23T19:02:23.191Z","7.0.0":"2020-06-23T19:10:05.187Z","8.0.0-canary.a3212b209.0":"2020-06-23T19:10:59.661Z","8.0.0-canary.15e81fe98.0":"2020-06-23T19:39:55.690Z","8.0.0-canary.004c9d392.0":"2020-06-23T22:55:22.395Z","8.0.0-canary.03bde00f5.0":"2020-06-24T00:31:01.101Z","8.0.0-canary.599b8c319.0":"2020-06-24T14:55:40.592Z","8.0.0-canary.87e3be418.0":"2020-06-24T17:52:40.137Z","8.0.0-canary.035cf2a6f.0":"2020-06-24T18:38:03.502Z","8.0.0-canary.2fed2c12f.0":"2020-06-25T20:00:16.534Z","8.0.0-canary.38197b443.0":"2020-06-25T21:21:56.022Z","8.0.0-canary.69a35e80c.0":"2020-06-26T17:38:05.827Z","8.0.0-canary.df7154fb3.0":"2020-06-26T18:16:05.910Z","8.0.0-canary.d5618602a.0":"2020-06-26T21:47:40.362Z","8.0.0-canary.e590b376b.0":"2020-06-26T23:22:59.704Z","8.0.0-canary.0c9d6bd2d.0":"2020-06-29T17:14:42.262Z","8.0.0-canary.c1fec4246.0":"2020-06-29T17:29:50.173Z","8.0.0-canary.c678a9d34.0":"2020-06-29T17:51:06.476Z","8.0.0-canary.521afaf6e.0":"2020-06-30T15:04:46.621Z","8.0.0-canary.a2ad48839.0":"2020-06-30T19:13:43.201Z","8.0.0-canary.ec2385881.0":"2020-06-30T21:46:18.351Z","8.0.0-canary.610c26c4a.0":"2020-07-01T14:55:29.056Z","8.0.0-canary.e2ea4a99e.0":"2020-07-01T19:26:31.028Z","8.0.0-canary.a78ceb112.0":"2020-07-01T19:38:19.972Z","8.0.0-canary.b0c456d33.0":"2020-07-06T22:40:30.943Z","8.0.0-canary.2e5711e04.0":"2020-07-08T16:47:20.051Z","8.0.0-canary.811fc5d24.0":"2020-07-08T17:15:12.431Z","8.0.0-canary.6ed717ddd.0":"2020-07-08T19:43:28.070Z","8.0.0-canary.d850de590.0":"2020-07-09T18:04:52.366Z","8.0.0-canary.e07a70841.0":"2020-07-09T18:34:43.928Z","8.0.0-canary.37947ed6c.0":"2020-07-09T20:35:21.623Z","8.0.0-canary.5d443afec.0":"2020-07-09T20:51:11.461Z","8.0.0-canary.9ac1ed914.0":"2020-07-09T21:20:05.945Z","8.0.0-canary.1e7cb6198.0":"2020-07-09T22:11:42.807Z","8.0.0-canary.843f636c0.0":"2020-07-10T17:42:06.794Z","8.0.0-canary.b2edaeead.0":"2020-07-10T18:06:36.579Z","8.0.0-canary.5dac1f624.0":"2020-07-13T16:33:42.770Z","8.0.0-canary.4497acef8.0":"2020-07-14T14:19:23.305Z","8.0.0-canary.e6e23019d.0":"2020-07-14T20:09:50.029Z","8.0.0-canary.d548d7a92.0":"2020-07-14T21:12:30.025Z","8.0.0-canary.58ce529cc.0":"2020-07-14T21:14:26.750Z","8.0.0-canary.a0f1202dc.0":"2020-07-14T21:33:34.904Z","8.0.0-canary.ad4df58c1.0":"2020-07-15T00:08:48.510Z","8.0.0-canary.01db89053.0":"2020-07-16T16:38:28.532Z","8.0.0-canary.fb5a4cdeb.0":"2020-07-20T19:19:25.490Z","8.0.0-canary.8df0f517c.0":"2020-07-20T23:55:04.159Z","8.0.0-canary.abcdbcfeb.0":"2020-07-21T00:49:34.468Z","8.0.0-canary.7bd5075de.0":"2020-07-21T18:46:33.971Z","8.0.0-canary.405a29a20.0":"2020-07-22T22:22:39.263Z","8.0.0-canary.f3693ac4c.0":"2020-07-22T22:33:01.826Z","8.0.0-canary.12a109680.0":"2020-07-22T23:02:54.497Z","8.0.0-canary.bbd06696e.0":"2020-07-22T23:52:19.600Z","8.0.0-canary.4951e7651.0":"2020-07-23T01:48:54.255Z","8.0.0-canary.75deebbef.0":"2020-07-23T17:45:14.425Z","8.0.0-canary.95aff33ee.0":"2020-07-23T18:46:50.970Z","8.0.0-canary.9d9f47473.0":"2020-07-23T19:58:04.812Z","8.0.0-canary.00dfbf6be.0":"2020-07-23T20:58:55.166Z","8.0.0-canary.b87e522d2.0":"2020-07-23T21:23:07.013Z","8.0.0-canary.5b3e150e5.0":"2020-07-24T01:23:20.190Z","8.0.0-canary.f0ae11786.0":"2020-07-24T01:43:04.723Z","8.0.0-canary.fb4ee66c0.0":"2020-07-24T02:10:12.217Z","8.0.0-canary.5511e0aeb.0":"2020-07-24T16:56:18.701Z","8.0.0-canary.8388a9bf6.0":"2020-07-24T20:12:30.061Z","8.0.0-canary.ac405eae1.0":"2020-07-27T15:05:45.806Z","8.0.0-canary.75553837c.0":"2020-07-27T15:11:41.159Z","8.0.0-canary.b96fbfc7a.0":"2020-07-27T15:37:14.772Z","8.0.0-canary.61f1a8d85.0":"2020-07-27T15:46:24.473Z","8.0.0-canary.81dc33377.0":"2020-07-27T15:58:31.555Z","8.0.0-canary.ffd9ede58.0":"2020-07-27T16:31:37.971Z","8.0.0-canary.52dc55acf.0":"2020-07-27T17:07:50.101Z","8.0.0-canary.d4274ff05.0":"2020-07-27T19:50:25.064Z","8.0.0-canary.b82d0696d.0":"2020-07-27T19:57:23.321Z","8.0.0-canary.c2852000d.0":"2020-07-27T20:57:35.840Z","8.0.0-canary.f86f83f54.0":"2020-07-27T21:53:29.521Z","8.0.0-canary.41eb1684c.0":"2020-07-28T17:49:36.958Z","8.0.0-canary.9e2f6c450.0":"2020-07-28T22:38:32.328Z","8.0.0-canary.e6950b55a.0":"2020-07-28T22:51:32.752Z","8.0.0-canary.5e51ee38e.0":"2020-07-28T23:15:16.744Z","8.0.0-canary.a3898ffcf.0":"2020-07-29T00:35:44.518Z","8.0.0-canary.bc5cc6c96.0":"2020-07-29T00:48:33.564Z","8.0.0-canary.9bdeaf928.0":"2020-07-29T01:19:51.826Z","8.0.0-canary.fde2c1f9d.0":"2020-07-29T01:34:21.714Z","8.0.0-canary.6b3876d5d.0":"2020-07-29T01:38:05.705Z","8.0.0-canary.30ce17873.0":"2020-07-29T17:14:01.738Z","8.0.0-canary.f6bb43bf0.0":"2020-07-29T18:24:33.499Z","8.0.0-canary.6af75f6ab.0":"2020-07-30T00:00:44.250Z","8.0.0-canary.42d7a65aa.0":"2020-07-30T00:09:35.613Z","8.0.0-canary.85abdabb7.0":"2020-07-30T00:14:40.634Z","8.0.0-canary.49fb20ca3.0":"2020-07-30T01:26:57.752Z","8.0.0-canary.962d4abbb.0":"2020-07-30T16:09:36.523Z","8.0.0-canary.2fcee40cb.0":"2020-07-30T17:20:54.814Z","8.0.0-canary.bd5987f5a.0":"2020-07-30T17:45:31.076Z","8.0.0-canary.005e86a9b.0":"2020-07-30T17:59:07.148Z","8.0.0-canary.e309c7c68.0":"2020-07-30T18:07:55.466Z","8.0.0-canary.935a51cc0.0":"2020-07-30T18:19:41.289Z","8.0.0-canary.74839da7b.0":"2020-07-30T18:30:38.371Z","8.0.0-canary.f041a48c9.0":"2020-07-30T22:58:44.038Z","8.0.0-canary.fbb1381e1.0":"2020-07-31T15:49:42.726Z","8.0.0-canary.7f61d5785.0":"2020-07-31T17:22:23.014Z","8.0.0-canary.e1bc84d10.0":"2020-08-03T17:50:02.934Z","8.0.0-canary.096a7a066.0":"2020-08-03T17:52:52.463Z","8.0.0-canary.aa3a3e5a4.0":"2020-08-03T17:53:01.276Z","8.0.0-canary.5903d39af.0":"2020-08-03T17:53:26.592Z","8.0.0-canary.72258f898.0":"2020-08-04T01:16:37.659Z","8.0.0-canary.1b44b43c8.0":"2020-08-04T16:47:27.995Z","8.0.0-canary.e9d2e2f96.0":"2020-08-04T20:23:34.472Z","8.0.0-canary.b9dff0a19.0":"2020-08-05T03:48:02.435Z","8.0.0-canary.2bd09a706.0":"2020-08-05T03:53:08.837Z","8.0.0-canary.e0560522f.0":"2020-08-05T17:18:58.991Z","8.0.0-canary.08ca4d0ec.0":"2020-08-05T17:38:44.963Z","8.0.0-canary.08090126b.0":"2020-08-06T19:31:58.505Z","8.0.0-canary.e8bf5b2ac.0":"2020-08-06T21:49:17.554Z","8.0.0-canary.e3b746208.0":"2020-08-06T22:26:00.341Z","8.0.0-canary.96a640534.0":"2020-08-06T22:40:49.486Z","8.0.0-canary.9f9aac825.0":"2020-08-07T20:50:41.353Z","8.0.0-canary.fc65fd00b.0":"2020-08-10T15:19:39.564Z","8.0.0-canary.02e372c5f.0":"2020-08-10T15:47:44.445Z","8.0.0-canary.66669e3b6.0":"2020-08-10T15:51:52.379Z","8.0.0-canary.6d1ea9761.0":"2020-08-11T14:30:09.058Z","8.0.0-canary.79414bf9f.0":"2020-08-11T19:00:57.617Z","8.0.0-canary.85a5272df.0":"2020-08-11T20:07:26.662Z","8.0.0-canary.fda053eb8.0":"2020-08-12T20:03:23.670Z","8.0.0-canary.760873445.0":"2020-08-12T21:42:30.028Z","8.0.0-canary.2f4711a30.0":"2020-08-12T21:52:30.208Z","8.0.0-canary.2d72f3659.0":"2020-08-12T21:59:56.477Z","8.0.0-canary.1fee70a5e.0":"2020-08-12T23:27:57.811Z","8.0.0-canary.023f3fa34.0":"2020-08-13T01:11:35.702Z","8.0.0-canary.80f3a9e5d.0":"2020-08-13T01:28:17.838Z","8.0.0-canary.a1dcfe97c.0":"2020-08-13T08:48:59.737Z","8.0.0-canary.af332d5be.0":"2020-08-13T21:16:36.509Z","8.0.0-canary.7dd4567c4.0":"2020-08-14T00:50:08.884Z","8.0.0-canary.ff870005a.0":"2020-08-14T01:15:28.111Z","8.0.0-canary.150f427a0.0":"2020-08-14T13:28:47.100Z","8.0.0-canary.bcc58290a.0":"2020-08-14T23:21:47.141Z","8.0.0-canary.4f55400bb.0":"2020-08-17T16:37:43.081Z","8.0.0-canary.000d64815.0":"2020-08-17T17:03:33.609Z","8.0.0-canary.defa599a8.0":"2020-08-17T20:31:03.859Z","8.0.0-canary.66b8ed7e6.0":"2020-08-18T18:36:02.756Z","8.0.0-canary.e2b1033df.0":"2020-08-19T18:41:11.271Z","8.0.0-canary.2e8c3dd2e.0":"2020-08-19T19:23:14.260Z","8.0.0-canary.b2e80a5d9.0":"2020-08-19T22:20:12.249Z","8.0.0-canary.ff88df637.0":"2020-08-19T22:32:14.208Z","8.0.0-canary.32fb314cd.0":"2020-08-20T10:36:44.299Z","8.0.0-canary.546277d32.0":"2020-08-20T16:42:14.019Z","8.0.0-canary.da72839f4.0":"2020-08-20T17:59:07.538Z","8.0.0-canary.346069ccb.0":"2020-08-20T18:17:37.629Z","8.0.0-canary.e27c5802f.0":"2020-08-20T19:14:23.984Z","8.0.0-canary.f4532b9c8.0":"2020-08-20T19:57:01.393Z","8.0.0-canary.fbf73c2a6.0":"2020-08-20T21:05:34.145Z","8.0.0-canary.cf800124f.0":"2020-08-20T21:51:54.584Z","8.0.0-canary.95e4eeea7.0":"2020-08-20T23:28:08.845Z","8.0.0-canary.91ab1c62a.0":"2020-08-21T15:11:02.146Z","8.0.0-canary.58eaa9f02.0":"2020-08-21T19:59:38.583Z","8.0.0-canary.238216fc4.0":"2020-08-24T15:40:03.269Z","8.0.0-canary.a1c65593d.0":"2020-08-25T03:03:06.589Z","8.0.0-canary.708cc09c4.0":"2020-08-25T15:55:39.356Z","8.0.0-canary.19bea2ad3.0":"2020-08-26T18:48:35.277Z","8.0.0-canary.911014711.0":"2020-08-27T16:07:12.958Z","8.0.0-canary.d3387f54c.0":"2020-09-03T20:53:45.958Z","8.0.0-canary.2ccf996cc.0":"2020-09-03T20:54:07.078Z","8.0.0-canary.744bfe5d8.0":"2020-09-03T20:55:17.407Z","8.0.0-canary.78da96eaf.0":"2020-09-08T19:12:02.051Z","8.0.0-canary.b0ed593cc.0":"2020-09-09T06:15:15.714Z","8.0.0-canary.85a1fa9ea.0":"2020-09-10T21:09:45.458Z","8.0.0-canary.0bc41a9c7.0":"2020-09-11T17:48:54.980Z","8.0.0-canary.fc0eb5013.0":"2020-09-11T19:54:48.099Z","8.0.0-canary.319bf66de.0":"2020-09-11T23:09:27.204Z","8.0.0-canary.5bfc305ec.0":"2020-09-13T22:59:26.960Z","8.0.0-canary.83d83f131.0":"2020-09-14T00:31:58.395Z","8.0.0-canary.40d8e4726.0":"2020-09-14T23:27:29.070Z","8.0.0-canary.c25d70a31.0":"2020-09-15T02:26:55.480Z","8.0.0-canary.d52b165b5.0":"2020-09-15T14:53:34.845Z","8.0.0-canary.a831d4799.0":"2020-09-15T17:51:08.872Z","8.0.0-canary.a306aa488.0":"2020-09-17T00:57:45.007Z","8.0.0-canary.fd608ff66.0":"2020-09-17T14:24:53.921Z","8.0.0-canary.3e435ba57.0":"2020-09-17T14:42:11.827Z","8.0.0-canary.c250ec52a.0":"2020-09-17T20:09:45.770Z","8.0.0-canary.e34e411b1.0":"2020-09-17T20:17:12.122Z","8.0.0-canary.4e9343929.0":"2020-09-17T20:42:24.526Z","8.0.0-canary.4e5c350c2.0":"2020-09-21T21:13:25.548Z","8.0.0-canary.16c563ef7.0":"2020-09-22T19:45:29.497Z","8.0.0-canary.fd8af3d43.0":"2020-09-23T19:31:31.435Z","8.0.0-canary.d4cd83a85.0":"2020-09-25T00:34:24.276Z","8.0.0-canary.199aecdfb.0":"2020-09-25T15:50:32.521Z","8.0.0-canary.38ef4501f.0":"2020-09-30T18:23:32.364Z","8.0.0-canary.774dcfc8e.0":"2020-10-01T09:53:20.015Z","8.0.0-canary.0f60323a8.0":"2020-10-08T21:09:19.405Z","8.0.0-canary.d71622574.0":"2020-10-09T16:30:50.626Z","8.0.0-canary.7a9afaf4b.0":"2020-10-09T22:53:09.866Z","8.0.0-canary.8a39352c8.0":"2020-10-12T17:45:41.317Z","8.0.0-canary.790ca85fd.0":"2020-10-12T21:56:00.941Z","8.0.0-canary.174c0becf.0":"2020-10-14T02:15:02.337Z","8.0.0-canary.c71ebfa02.0":"2020-10-14T04:16:42.107Z","8.0.0-canary.2ab716cbd.0":"2020-10-16T00:03:31.849Z","8.0.0-canary.43c1c5e2f.0":"2020-10-19T14:07:19.433Z","8.0.0-canary.ccc64eea3.0":"2020-10-26T22:50:47.728Z","8.0.0-canary.a79cdd019.0":"2020-10-27T16:30:28.296Z","8.0.0-canary.596e98424.0":"2020-10-28T16:02:43.258Z","8.0.0-canary.05d5facc2.0":"2020-10-28T16:11:15.481Z","8.0.0-canary.291b3553d.0":"2020-10-28T17:44:08.582Z","8.0.0-canary.dbc449b09.0":"2020-10-28T18:11:56.883Z","8.0.0-canary.4794b25da.0":"2020-10-28T18:40:29.787Z","8.0.0-canary.c61db90a5.0":"2020-10-28T18:58:51.099Z","8.0.0-canary.6d9648ab2.0":"2020-10-29T20:31:42.310Z","8.0.0-canary.5511c5254.0":"2020-10-30T17:59:29.088Z","8.0.0-canary.bd6e302a4.0":"2020-11-02T17:04:04.356Z","9.0.0-canary.d6b5cd418.0":"2020-11-02T22:58:15.260Z","8.0.0":"2020-11-02T22:58:37.032Z","9.0.0-canary.fdf9a2634.0":"2020-11-03T23:20:32.416Z","9.0.0-canary.4a86f30a0.0":"2020-11-03T23:26:59.789Z","9.0.0-canary.fc8b045f1.0":"2020-11-03T23:36:26.622Z","9.0.0-canary.a0b2db26b.0":"2020-11-04T00:08:00.413Z","9.0.0-canary.419e03572.0":"2020-11-04T01:32:21.481Z","9.0.0-canary.a432ad542.0":"2020-11-06T01:45:17.704Z","9.0.0-canary.e2e8aef1e.0":"2020-11-06T02:04:35.083Z","9.0.0-canary.ec6b68b34.0":"2020-11-06T18:55:45.383Z","9.0.0-canary.b39094d14.0":"2020-11-06T21:15:17.711Z","9.0.0-canary.8648b8258.0":"2020-11-12T10:43:57.339Z","9.0.0-canary.240c5f74f.0":"2020-11-12T20:19:51.842Z","9.0.0-canary.6cf6ba4f4.0":"2020-11-16T18:49:12.273Z","9.0.0-canary.07f3e01b7.0":"2020-11-16T21:44:58.277Z","9.0.0-canary.23491cf85.0":"2020-11-17T00:16:32.373Z","9.0.0-canary.b659d4fc3.0":"2020-11-17T00:24:13.614Z","9.0.0-canary.d8a3aed67.0":"2020-11-17T15:26:25.760Z","9.0.0-canary.482ff9091.0":"2020-11-17T17:57:12.596Z","9.0.0-canary.99cfb6bd5.0":"2020-11-18T18:42:58.391Z","9.0.0-canary.b98d15d90.0":"2020-11-18T22:34:11.342Z","9.0.0-canary.30c11bfc2.0":"2020-11-19T01:25:17.373Z","9.0.0-canary.1b731d51b.0":"2020-11-19T18:51:31.905Z","9.0.0-canary.4ae94ff78.0":"2020-11-19T18:54:22.908Z","9.0.0-canary.7ad038e1d.0":"2020-11-19T19:17:42.053Z","9.0.0-canary.a41527604.0":"2020-11-19T19:59:12.019Z","9.0.0-canary.7b0e2b377.0":"2020-11-20T22:54:47.512Z","9.0.0-canary.c927a5d05.0":"2020-11-23T19:46:38.623Z","9.0.0-canary.b349b5185.0":"2020-11-24T17:07:56.994Z","9.0.0-canary.9083b7d61.0":"2020-11-24T21:14:51.316Z","9.0.0-canary.eff7b46ac.0":"2020-11-24T23:30:13.527Z","9.0.0-canary.ae27b44b0.0":"2020-11-25T15:31:54.793Z","9.0.0-canary.2fbba2554.0":"2020-11-30T17:39:36.213Z","9.0.0-canary.6d8574fe1.0":"2020-11-30T17:50:41.313Z","9.0.0-canary.fd22355f7.0":"2020-11-30T22:58:47.242Z","9.0.0-canary.c4ab98722.0":"2020-12-02T00:55:43.771Z","9.0.0-canary.977585650.0":"2020-12-02T14:41:08.982Z","9.0.0-canary.c7edfc7b6.0":"2020-12-02T14:48:49.747Z","9.0.0-canary.4f3347306.0":"2020-12-02T15:06:44.467Z","9.0.0-canary.37fbae10d.0":"2020-12-02T18:15:38.653Z","9.0.0-canary.11da3c0db.0":"2020-12-02T20:21:34.858Z","9.0.0-canary.489d4c219.0":"2020-12-03T15:28:53.378Z","9.0.0-canary.6557a69d9.0":"2020-12-03T15:40:43.365Z","9.0.0-canary.4ea1b7c69.0":"2020-12-03T15:57:26.126Z","9.0.0-canary.eaeb78ce3.0":"2020-12-03T17:00:32.193Z","9.0.0-canary.1c156d69d.0":"2020-12-03T20:43:56.352Z","9.0.0-canary.832668d33.0":"2020-12-04T18:04:57.830Z","9.0.0-canary.4321323e4.0":"2020-12-07T11:28:14.004Z","9.0.0-canary.2d5f32d41.0":"2020-12-07T16:41:03.279Z","9.0.0-canary.8239afc64.0":"2020-12-07T19:48:41.853Z","9.0.0-canary.6871336f1.0":"2020-12-08T16:00:38.067Z","9.0.0-canary.9f718da94.0":"2020-12-08T16:12:21.624Z","9.0.0-canary.1fccb1418.0":"2020-12-08T16:27:30.722Z","9.0.0-canary.afb68894e.0":"2020-12-08T16:31:23.943Z","9.0.0-canary.fd88d40c2.0":"2020-12-08T16:44:23.851Z","9.0.0-canary.ba9e3109c.0":"2020-12-08T19:04:30.171Z","9.0.0-canary.1085c3b2d.0":"2020-12-09T19:10:12.246Z","9.0.0-canary.c5dda809d.0":"2020-12-09T20:48:52.594Z","9.0.0-canary.f5f1bd86a.0":"2020-12-09T21:07:07.179Z","9.0.0-canary.00f38200f.0":"2020-12-11T15:43:00.303Z","9.0.0-canary.ac41a5729.0":"2020-12-11T16:27:11.360Z","9.0.0-canary.7fe0e4f05.0":"2020-12-11T17:04:32.883Z","9.0.0-canary.9244508bd.0":"2020-12-11T19:06:07.239Z","9.0.0-canary.384a8eeb1.0":"2020-12-16T17:01:03.262Z","9.0.0-canary.eabf9d5c2.0":"2020-12-16T18:26:44.160Z","9.0.0-canary.30fdfd06e.0":"2020-12-16T19:06:38.167Z","9.0.0-canary.9590a8f90.0":"2020-12-22T17:41:12.337Z","9.0.0-canary.f89d8b8f2.0":"2020-12-22T23:04:11.541Z","9.0.0-canary.fb194dd35.0":"2020-12-28T20:44:53.890Z","9.0.0-canary.64f36e287.0":"2020-12-28T21:07:43.240Z","9.0.0-canary.b7bbe7022.0":"2020-12-29T18:47:05.696Z","9.0.0":"2020-12-29T19:45:10.944Z","10.0.0-canary.555aecce5.0":"2020-12-29T19:45:20.350Z","10.0.0-canary.776c18681.0":"2020-12-30T00:39:23.694Z","10.0.0-canary.671d72d95.0":"2020-12-30T20:11:01.684Z","10.0.0-canary.b4f5a1c9e.0":"2020-12-30T21:45:41.199Z","10.0.0-canary.a94bd8deb.0":"2020-12-30T22:03:31.219Z","10.0.0-canary.5d128511b.0":"2020-12-30T22:08:55.425Z","10.0.0-canary.365c69360.0":"2021-01-05T17:47:28.717Z","10.0.0-canary.700a8261a.0":"2021-01-05T20:59:39.912Z","10.0.0-canary.766981c15.0":"2021-01-05T22:39:22.516Z","10.0.0-canary.b28c576d9.0":"2021-01-05T22:49:12.618Z","10.0.0-canary.968735356.0":"2021-01-06T15:49:51.341Z","10.0.0-canary.c5e18b020.0":"2021-01-06T19:43:17.986Z","10.0.0-canary.bcff8a66a.0":"2021-01-06T20:25:25.644Z","10.0.0-canary.79328c9ff.0":"2021-01-07T02:33:21.230Z","10.0.0-canary.121e1f303.0":"2021-01-07T23:19:00.146Z","10.0.0-canary.abdd10065.0":"2021-01-08T17:50:41.546Z","10.0.0-canary.089de519c.0":"2021-01-08T22:19:50.694Z","10.0.0-canary.163119837.0":"2021-01-08T23:44:17.452Z","10.0.0-canary.b8a1a58e4.0":"2021-01-11T16:23:16.333Z","10.0.0-canary.7584267ff.0":"2021-01-12T01:11:20.432Z","10.0.0-canary.251ac04c0.0":"2021-01-12T19:54:09.957Z","10.0.0-canary.772cc1068.0":"2021-01-14T00:05:56.528Z","10.0.0-canary.fe13dd130.0":"2021-01-14T01:09:24.421Z","10.0.0-canary.c7c5da28f.0":"2021-01-14T01:33:06.791Z","10.0.0-canary.b2faa116a.0":"2021-01-19T19:25:43.143Z","10.0.0-canary.0c95c9f7b.0":"2021-01-19T22:53:01.685Z","10.0.0-canary.5268222c4.0":"2021-01-20T19:18:17.440Z","10.0.0-canary.2ed2d829b.0":"2021-01-20T23:07:10.464Z","10.0.0-canary.df00c2b30.0":"2021-01-21T19:53:56.761Z","10.0.0-canary.fd61b0476.0":"2021-01-21T20:08:41.566Z","10.0.0-canary.3fb3a0265.0":"2021-01-22T00:03:54.370Z","10.0.0-canary.07deaec27.0":"2021-01-22T16:55:27.624Z","10.0.0-canary.d2959b16c.0":"2021-01-22T18:51:17.203Z","10.0.0-canary.75f3bfe7c.0":"2021-01-22T22:50:29.265Z","10.0.0-canary.b9adb7a0f.0":"2021-01-22T23:34:23.335Z","10.0.0-canary.d29ec2862.0":"2021-01-25T16:22:41.334Z","10.0.0-canary.96be07c68.0":"2021-01-26T00:09:01.909Z","10.0.0-canary.e383944e9.0":"2021-01-26T01:44:10.349Z","10.0.0-canary.623af861e.0":"2021-01-26T03:44:28.304Z","10.0.0-canary.6863fd43a.0":"2021-01-26T21:31:53.514Z","10.0.0-canary.ea55b87ca.0":"2021-01-26T23:44:52.449Z","10.0.0-canary.e902ff05f.0":"2021-01-27T00:03:07.984Z","10.0.0-canary.2c9fc538a.0":"2021-01-27T00:26:22.131Z","10.0.0-canary.6bf56aaa4.0":"2021-01-27T01:19:07.871Z","10.0.0-canary.994873795.0":"2021-01-27T14:50:06.989Z","10.0.0-canary.96878e1d0.0":"2021-01-27T18:01:11.794Z","10.0.0-canary.3c117cdcc.0":"2021-01-27T18:31:21.284Z","10.0.0-canary.b411e7033.0":"2021-01-27T22:02:35.709Z","10.0.0-canary.a9ac16b4a.0":"2021-01-27T23:02:30.037Z","10.0.0-canary.fec7b42ca.0":"2021-01-28T19:13:44.699Z","10.0.0-canary.8e66dbfee.0":"2021-02-01T23:19:30.415Z","10.0.0-canary.637d15da6.0":"2021-02-02T18:48:05.292Z","10.0.0-canary.fb793939e.0":"2021-02-02T23:41:46.036Z","10.0.0-canary.15a4d40dd.0":"2021-02-03T02:17:42.644Z","10.0.0-canary.7a003acf0.0":"2021-02-04T02:33:03.257Z","10.0.0-canary.05f249666.0":"2021-02-04T17:49:08.862Z","10.0.0-canary.1a3a39629.0":"2021-02-04T18:42:14.074Z","10.0.0-canary.8b1cdb1be.0":"2021-02-04T22:33:46.246Z","10.0.0-canary.8271f00f7.0":"2021-02-04T22:59:45.704Z","10.0.0-canary.533092a90.0":"2021-02-05T03:45:55.106Z","11.0.0-canary.633a9fc7a.0":"2021-02-05T16:16:23.313Z","10.0.0":"2021-02-05T16:17:48.839Z","11.0.0-canary.b5227247d.0":"2021-02-05T17:41:04.400Z","11.0.0-canary.95322b11e.0":"2021-02-05T23:30:48.391Z","11.0.0-canary.1f318ff0f.0":"2021-02-06T00:03:59.399Z","11.0.0-canary.ab12cf7a3.0":"2021-02-08T15:02:13.990Z","11.0.0-canary.98db2c5ec.0":"2021-02-08T15:33:08.725Z","11.0.0-canary.1f86b9f6d.0":"2021-02-08T17:16:13.148Z","11.0.0-canary.aac8f5d9a.0":"2021-02-08T17:59:18.305Z","11.0.0-canary.750e18fc7.0":"2021-02-08T21:40:25.208Z","11.0.0-canary.b62b1266d.0":"2021-02-09T21:51:34.773Z","11.0.0-canary.a6b3101fb.0":"2021-02-11T23:16:00.348Z","11.0.0-canary.ed88df700.0":"2021-02-12T00:05:44.781Z","11.0.0-canary.d30efe6b4.0":"2021-02-12T02:40:57.384Z","11.0.0-canary.0393bdc4b.0":"2021-02-12T04:29:50.447Z","11.0.0-canary.7cd26af4d.0":"2021-02-12T15:58:26.372Z","11.0.0-canary.71fe9a067.0":"2021-02-12T16:29:42.569Z","11.0.0-canary.0fd56a86b.0":"2021-02-13T00:10:48.461Z","11.0.0-canary.f19bbc4af.0":"2021-02-16T22:15:13.102Z","11.0.0-canary.f9cac96cc.0":"2021-02-17T16:08:43.908Z","11.0.0-canary.79ce0878b.0":"2021-02-17T19:23:57.568Z","11.0.0-canary.d6e507b5b.0":"2021-02-17T19:57:14.124Z","11.0.0-canary.f2658381b.0":"2021-02-17T22:43:44.215Z","11.0.0-canary.97c4d4035.0":"2021-02-18T02:34:08.783Z","11.0.0-canary.f5bb4648c.0":"2021-02-18T16:04:04.555Z","11.0.0-canary.302c7a960.0":"2021-02-18T18:36:38.499Z","11.0.0-canary.aa0aaf026.0":"2021-02-18T19:22:08.589Z","11.0.0-canary.07ff0c452.0":"2021-02-18T19:41:33.712Z","11.0.0-canary.bed7ecd3e.0":"2021-02-18T23:26:37.632Z","11.0.0-canary.06dead2d6.0":"2021-02-19T00:35:59.026Z","11.0.0-canary.cddb03553.0":"2021-02-19T03:12:14.246Z","11.0.0-canary.d6d8d0476.0":"2021-02-19T05:35:35.148Z","11.0.0-canary.0b4a4b2eb.0":"2021-02-19T15:44:40.868Z","11.0.0-canary.3201cae47.0":"2021-02-19T22:59:37.374Z","11.0.0-canary.f1b1fd5d3.0":"2021-02-22T19:48:26.690Z","11.0.0-canary.7899e0fe0.0":"2021-02-22T22:44:51.652Z","11.0.0-canary.f19c86d13.0":"2021-02-22T23:29:38.366Z","11.0.0-canary.60e892d79.0":"2021-02-23T01:12:29.185Z","11.0.0-canary.c96bfa495.0":"2021-02-23T19:31:47.949Z","11.0.0-canary.fa9b59f67.0":"2021-02-23T19:33:01.833Z","11.0.0-canary.869e3497c.0":"2021-02-23T19:33:43.175Z","11.0.0-canary.8ecd7c9a9.0":"2021-02-23T19:49:36.915Z","11.0.0-canary.9c85d505b.0":"2021-02-23T22:14:29.855Z","11.0.0-canary.9f2e85fb8.0":"2021-02-24T01:46:39.215Z","11.0.0-canary.19c4f29ef.0":"2021-02-25T19:21:19.879Z","11.0.0-canary.63df6e9bf.0":"2021-02-25T19:36:11.799Z","11.0.0-canary.981ad970a.0":"2021-02-26T00:06:17.753Z","11.0.0-canary.f9c9e39d6.0":"2021-02-26T18:37:51.775Z","11.0.0-canary.c97d7d881.0":"2021-03-01T20:52:10.355Z","11.0.0-canary.bf670dad7.0":"2021-03-03T00:19:54.618Z","11.0.0-canary.c7d98fcde.0":"2021-03-03T20:30:39.882Z","11.0.0-canary.4fef8bc1e.0":"2021-03-03T23:23:10.400Z","11.0.0-canary.afae3a3ec.0":"2021-03-03T23:41:21.244Z","11.0.0-canary.0a0b10f22.0":"2021-03-03T23:59:44.022Z","11.0.0-canary.6f678a91a.0":"2021-03-04T18:39:01.604Z","11.0.0-canary.f5f1b613c.0":"2021-03-04T20:48:22.241Z","11.0.0-canary.606e767ef.0":"2021-03-04T21:44:16.337Z","11.0.0-canary.f77a4dd1a.0":"2021-03-06T04:38:51.994Z","11.0.0-canary.2d6ba2c23.0":"2021-03-08T22:43:11.726Z","11.0.0-canary.7522dcaca.0":"2021-03-09T00:26:27.937Z","11.0.0-canary.5c0ab7401.0":"2021-03-09T22:51:21.965Z","11.0.0-canary.59010b6dc.0":"2021-03-10T16:56:00.561Z","11.0.0-canary.9e52f5544.0":"2021-03-10T23:24:01.212Z","11.0.0-canary.a678806f5.0":"2021-03-11T01:48:50.537Z","11.0.0-canary.b2d22df5b.0":"2021-03-11T17:01:39.884Z","11.0.0-canary.81911b707.0":"2021-03-11T18:22:07.704Z","11.0.0-canary.9eeb35c38.0":"2021-03-11T19:35:40.903Z","11.0.0-canary.12be3e95a.0":"2021-03-11T20:00:25.499Z","11.0.0-canary.e683bdf4a.0":"2021-03-11T20:07:35.279Z","11.0.0-canary.a07b6d486.0":"2021-03-11T20:31:52.169Z","11.0.0-canary.1e0653477.0":"2021-03-11T20:39:18.774Z","11.0.0-canary.148e8cfcc.0":"2021-03-11T22:43:10.314Z","11.0.0-canary.73a227194.0":"2021-03-12T00:22:42.393Z","11.0.0-canary.f8579b7ea.0":"2021-03-13T02:01:29.019Z","11.0.0-canary.d2a39d300.0":"2021-03-16T00:33:44.558Z","11.0.0-canary.7cf67823e.0":"2021-03-16T18:18:58.508Z","11.0.0-canary.67d780c79.0":"2021-03-16T19:46:38.816Z","11.0.0-canary.0f358ddae.0":"2021-03-16T22:11:05.661Z","11.0.0-canary.67eb0df80.0":"2021-03-16T22:38:24.395Z","11.0.0-canary.941ca3b3c.0":"2021-03-16T22:40:09.418Z","11.0.0-canary.3344d12ad.0":"2021-03-17T10:00:35.481Z","11.0.0-canary.6072ed604.0":"2021-03-17T22:58:25.790Z","11.0.0-canary.d3a6862af.0":"2021-03-18T16:18:39.939Z","11.0.0-canary.40dd242d5.0":"2021-03-18T21:16:05.275Z","11.0.0-canary.ec8f8465f.0":"2021-03-18T21:42:55.670Z","11.0.0-canary.da38969ec.0":"2021-03-18T22:16:40.454Z","11.0.0-canary.f5246264d.0":"2021-03-19T00:36:36.576Z","11.0.0-canary.03d34bbad.0":"2021-03-19T00:49:48.099Z","11.0.0-canary.cbc57c600.0":"2021-03-19T00:58:35.443Z","11.0.0-canary.d6c5bcf37.0":"2021-03-19T01:10:47.715Z","11.0.0-canary.fefc668d7.0":"2021-03-19T01:32:36.360Z","11.0.0-canary.faa7d3226.0":"2021-03-19T17:42:46.557Z","11.0.0-canary.c60449bc8.0":"2021-03-19T18:03:55.205Z","11.0.0-canary.5f0fc444a.0":"2021-03-19T18:36:31.648Z","11.0.0-canary.4567a750d.0":"2021-03-20T02:06:25.976Z","11.0.0-canary.0cde52f5a.0":"2021-03-23T00:01:41.119Z","11.0.0-canary.48f4b67fb.0":"2021-03-23T19:52:33.764Z","11.0.0-canary.0b8cff734.0":"2021-03-23T20:03:27.422Z","11.0.0-canary.8943b991f.0":"2021-03-23T20:28:23.385Z","11.0.0-canary.3955d8d3d.0":"2021-03-24T19:15:07.236Z","11.0.0-canary.23ea2d85e.0":"2021-03-25T17:31:08.340Z","11.0.0-canary.e3ec22f45.0":"2021-03-25T17:54:17.154Z","11.0.0-canary.4ceb42220.0":"2021-03-26T07:56:10.420Z","11.0.0-canary.dc9c84023.0":"2021-03-30T17:47:24.479Z","11.0.0-canary.56fc26962.0":"2021-03-31T00:19:51.892Z","11.0.0-canary.bc318250e.0":"2021-03-31T01:32:36.514Z","11.0.0-canary.edaee19aa.0":"2021-03-31T02:10:40.828Z","11.0.0-canary.24609b822.0":"2021-03-31T20:56:07.885Z","11.0.0-canary.b6cddc2b7.0":"2021-04-01T15:03:57.766Z","11.0.0-canary.94937c78c.0":"2021-04-01T20:59:39.991Z","11.0.0-canary.e7202cb57.0":"2021-04-01T22:46:16.734Z","11.0.0-canary.1f636b205.0":"2021-04-02T22:22:59.273Z","11.0.0-canary.94f50b260.0":"2021-04-05T15:03:57.543Z","11.0.0-canary.a4009b80a.0":"2021-04-05T21:59:26.126Z","11.0.0-canary.15604bd0d.0":"2021-04-05T22:41:11.769Z","11.0.0-canary.76da7876c.0":"2021-04-07T01:43:27.988Z","11.0.0-canary.6bcb6cbd2.0":"2021-04-07T18:52:51.771Z","11.0.0-canary.c91e8d141.0":"2021-04-07T18:56:47.617Z","11.0.0-canary.f77c50860.0":"2021-04-08T15:34:57.986Z","11.0.0-canary.367d88bdb.0":"2021-04-08T16:37:38.145Z","11.0.0-canary.0ec437d3b.0":"2021-04-08T19:34:27.061Z","11.0.0-canary.b2fa996a1.0":"2021-04-09T15:10:02.135Z","11.0.0-canary.24255c408.0":"2021-04-09T20:11:13.945Z","11.0.0-canary.7d6a4bb72.0":"2021-04-09T22:52:41.099Z","11.0.0-canary.352b295c1.0":"2021-04-12T18:14:37.314Z","11.0.0-canary.ab99b8064.0":"2021-04-13T14:42:25.130Z","11.0.0-canary.8f0a11e32.0":"2021-04-14T20:02:07.082Z","11.0.0-canary.f5c6db8fc.0":"2021-04-15T18:03:04.998Z","11.0.0-canary.3793a3143.0":"2021-04-15T18:30:15.025Z","11.0.0-canary.bc104bae7.0":"2021-04-15T19:45:15.209Z","12.0.0-canary.3f342c3f4.0":"2021-04-15T22:53:21.100Z","11.0.0":"2021-04-15T22:57:26.982Z","12.0.0-canary.2ebfc5374.0":"2021-04-16T20:44:04.544Z","12.0.0-canary.5631828e1.0":"2021-04-17T07:45:58.752Z","12.0.0-canary.bd685395b.0":"2021-04-19T18:40:26.108Z","12.0.0-canary.b52196498.0":"2021-04-19T19:57:00.418Z","12.0.0-canary.8ba3e298c.0":"2021-04-21T14:07:37.607Z","12.0.0-canary.c629eab71.0":"2021-04-21T19:56:01.132Z","12.0.0-canary.8ace3b810.0":"2021-04-21T20:36:57.108Z","12.0.0-canary.70beaf42d.0":"2021-04-21T20:48:34.450Z","12.0.0-canary.cad489689.0":"2021-04-22T16:48:31.527Z","12.0.0-canary.d928692b5.0":"2021-04-23T17:33:31.686Z","12.0.0-canary.8f68de8f3.0":"2021-04-23T18:12:05.846Z","12.0.0-canary.05753cf77.0":"2021-04-23T23:42:17.955Z","12.0.0-canary.ef43e6d96.0":"2021-04-23T23:48:36.154Z","12.0.0-canary.197f64fa2.0":"2021-04-26T17:08:42.743Z","12.0.0-canary.55ad2d7d8.0":"2021-04-27T01:18:56.394Z","12.0.0-canary.ec4ac5234.0":"2021-04-27T07:57:45.909Z","12.0.0-canary.b0579acdb.0":"2021-04-27T08:35:16.287Z","12.0.0-canary.81e2d4ff3.0":"2021-04-27T20:56:39.961Z","12.0.0-canary.c8edee52c.0":"2021-04-27T21:45:05.392Z","12.0.0-canary.f5b6110d6.0":"2021-04-27T22:06:36.249Z","12.0.0-canary.cee9b9e22.0":"2021-04-28T00:11:53.330Z","12.0.0-canary.96e83fca7.0":"2021-04-28T02:47:02.632Z","12.0.0-canary.4c497bd19.0":"2021-04-28T17:52:39.695Z","12.0.0-canary.105b15b96.0":"2021-04-28T21:43:49.194Z","12.0.0-canary.6e20259e3.0":"2021-04-28T21:48:22.603Z","12.0.0-canary.0f79a5d74.0":"2021-04-28T22:42:12.698Z","12.0.0-canary.84f3db9ed.0":"2021-04-29T14:16:50.612Z","12.0.0-canary.8fc29273c.0":"2021-04-29T21:22:28.031Z","12.0.0-canary.c50d20bab.0":"2021-04-29T23:01:00.862Z","12.0.0-canary.474836ad0.0":"2021-05-01T03:36:49.116Z","12.0.0-canary.f5ad92287.0":"2021-05-03T18:21:27.985Z","12.0.0-canary.af453daf8.0":"2021-05-03T18:52:33.170Z","12.0.0-canary.1f1918c24.0":"2021-05-03T19:21:39.762Z","12.0.0-canary.33148231f.0":"2021-05-03T19:38:00.666Z","12.0.0-canary.06b76fa74.0":"2021-05-03T19:45:03.552Z","12.0.0-canary.7c5000473.0":"2021-05-03T22:40:46.422Z","12.0.0-canary.de997644b.0":"2021-05-04T17:27:23.481Z","12.0.0-canary.d4d7f1cc2.0":"2021-05-04T17:54:06.661Z","12.0.0-canary.be999eb08.0":"2021-05-04T17:59:21.838Z","12.0.0-canary.eda1705fc.0":"2021-05-04T19:09:27.291Z","12.0.0-canary.718c90178.0":"2021-05-04T19:26:45.297Z","12.0.0-canary.0e3917299.0":"2021-05-04T19:29:34.734Z","12.0.0-canary.836b3c7db.0":"2021-05-04T20:32:58.459Z","12.0.0-canary.53d4e6d59.0":"2021-05-04T20:48:40.924Z","12.0.0-canary.18d147e27.0":"2021-05-04T20:57:13.198Z","12.0.0-canary.b9984794e.0":"2021-05-04T23:02:12.127Z","12.0.0-canary.b76f5fc9d.0":"2021-05-04T23:05:40.216Z","12.0.0-canary.055d4f10a.0":"2021-05-04T23:20:47.961Z","12.0.0-canary.5b6a46016.0":"2021-05-05T16:15:26.058Z","12.0.0-canary.33c9a737a.0":"2021-05-05T17:26:19.268Z","12.0.0-canary.9bc0effaf.0":"2021-05-05T20:59:08.802Z","12.0.0-canary.a1e0f2af5.0":"2021-05-05T21:40:04.448Z","12.0.0-canary.06930c96b.0":"2021-05-05T23:38:21.164Z","12.0.0-canary.03f525f9f.0":"2021-05-06T00:29:05.010Z","12.0.0-canary.e82ba2a26.0":"2021-05-06T15:55:26.614Z","12.0.0-canary.fc7c4e5ce.0":"2021-05-06T17:28:28.222Z","12.0.0-canary.65c04514d.0":"2021-05-06T18:42:20.425Z","12.0.0-canary.c97779ca6.0":"2021-05-06T21:42:00.077Z","12.0.0-canary.869d890d4.0":"2021-05-07T15:17:45.626Z","12.0.0-canary.ec22e1da9.0":"2021-05-10T18:22:42.710Z","12.0.0-nightly.7427449f0.0":"2021-05-10T18:44:47.338Z","12.0.0-canary.957cc3bf5.0":"2021-05-10T21:55:54.781Z","12.0.0-canary.88a33cd70.0":"2021-05-11T00:08:06.548Z","12.0.0-canary.d20dc6dba.0":"2021-05-11T00:23:53.484Z","12.0.0-canary.0ce2fdb02.0":"2021-05-11T00:57:45.921Z","12.0.0-canary.cb162da37.0":"2021-05-11T01:57:30.337Z","12.0.0-canary.573dc7ffd.0":"2021-05-11T02:16:29.940Z","12.0.0-canary.d5f6ad3fe.0":"2021-05-11T23:21:47.139Z","12.0.0-canary.25751d2ed.0":"2021-05-12T16:18:50.170Z","12.0.0-canary.a23ecb682.0":"2021-05-12T18:22:21.166Z","12.0.0-canary.33a954852.0":"2021-05-13T15:06:46.190Z","12.0.0-canary.a4484849b.0":"2021-05-13T15:30:05.721Z","12.0.0-canary.b4c3f513e.0":"2021-05-13T16:06:59.282Z","12.0.0-canary.1a8d06483.0":"2021-05-13T16:12:52.185Z","12.0.0-canary.8e6081836.0":"2021-05-14T21:39:51.207Z","12.0.0-canary.a2b0f4cee.0":"2021-05-14T21:53:02.986Z","12.0.0-canary.e8e39ad19.0":"2021-05-18T20:12:23.618Z","12.0.0-canary.4bb5eea2b.0":"2021-05-19T15:27:30.009Z","12.0.0-canary.ccce99cd6.0":"2021-05-20T00:56:00.850Z","12.0.0-canary.14767a8db.0":"2021-05-20T20:50:06.502Z","12.0.0-canary.22c6dcff9.0":"2021-05-24T15:17:46.043Z","12.0.0-canary.fadab3372.0":"2021-05-24T16:04:53.070Z","12.0.0-canary.caa73aeee.0":"2021-05-25T14:13:32.453Z","12.0.0-canary.ec31ae1ed.0":"2021-05-25T20:34:36.220Z","12.0.0-canary.8530d3514.0":"2021-05-27T16:03:59.749Z","12.0.0-canary.00b5899dc.0":"2021-06-01T22:44:48.228Z","12.0.0-canary.f1525ea3e.0":"2021-06-03T13:53:35.183Z","12.0.0-canary.464a00286.0":"2021-06-03T14:44:52.271Z","12.0.0-canary.474de7878.0":"2021-06-03T15:13:27.963Z","12.0.0-canary.b87ebf74d.0":"2021-06-03T17:45:35.289Z","12.0.0-canary.2daa49b35.0":"2021-06-04T16:13:21.143Z","12.0.0-canary.08db3d737.0":"2021-06-04T19:40:56.551Z","12.0.0-canary.5823407a7.0":"2021-06-08T00:47:27.815Z","12.0.0-canary.23b0c5e22.0":"2021-06-08T16:21:26.210Z","12.0.0-canary.2952c6a76.0":"2021-06-08T17:39:59.269Z","12.0.0-canary.f12425f88.0":"2021-06-10T01:05:03.387Z","12.0.0-canary.e543628c3.0":"2021-06-10T01:06:05.872Z","12.0.0-canary.e0c346286.0":"2021-06-10T16:35:01.614Z","12.0.0-canary.f43af5633.0":"2021-06-10T20:34:57.235Z","12.0.0-canary.8415ae585.0":"2021-06-11T16:04:58.048Z","12.0.0-canary.598fcccc8.0":"2021-06-11T21:45:38.081Z","12.0.0-canary.5d0605188.0":"2021-06-14T17:38:20.704Z","12.0.0-canary.f147a2271.0":"2021-06-14T19:17:16.062Z","12.0.0-canary.33579e00b.0":"2021-06-15T00:21:06.274Z","12.0.0-canary.a6909c0e6.0":"2021-06-15T18:29:20.823Z","12.0.0-canary.c18b5925b.0":"2021-06-15T21:02:43.193Z","12.0.0-canary.7ea2e830d.0":"2021-06-15T22:49:54.120Z","12.0.0-canary.271fff902.0":"2021-06-15T22:50:17.322Z","12.0.0-canary.d96f0a1e0.0":"2021-06-16T21:05:16.520Z","12.0.0-canary.a6183801a.0":"2021-06-16T22:04:32.600Z","12.0.0-canary.940550232.0":"2021-06-17T19:39:15.114Z","12.0.0-canary.f705e8048.0":"2021-06-18T15:23:35.065Z","12.0.0-canary.08d791f37.0":"2021-06-18T21:10:50.155Z","12.0.0-canary.e38d7440f.0":"2021-06-21T17:39:33.055Z","12.0.0-canary.75900a5a9.0":"2021-06-21T18:35:51.141Z","12.0.0-canary.33e6f50e9.0":"2021-06-23T00:11:05.979Z","12.0.0-canary.8c685301d.0":"2021-06-23T18:23:43.892Z","12.0.0-canary.8c7d994ae.0":"2021-06-23T19:26:35.849Z","12.0.0-canary.4ccd39bdd.0":"2021-06-24T16:13:58.558Z","12.0.0-canary.17553e9f8.0":"2021-06-28T22:51:36.504Z","12.0.0-canary.4c80072fd.0":"2021-06-29T18:40:02.151Z","12.0.0-canary.796811db7.0":"2021-07-01T00:02:34.666Z","12.0.0-canary.70e1efdca.0":"2021-07-01T17:05:34.614Z","12.0.0-canary.435866d32.0":"2021-07-02T18:20:23.637Z","12.0.0-canary.d0f9f3f2e.0":"2021-07-02T23:59:10.895Z","12.0.0-canary.adeac0549.0":"2021-07-08T15:08:20.447Z","12.0.0-canary.068fd5028.0":"2021-07-08T19:02:43.606Z","12.0.0-canary.5dfec7a14.0":"2021-07-12T20:03:23.068Z","12.0.0-canary.07a73750c.0":"2021-07-12T20:24:36.091Z","12.0.0-canary.3e4c6dca1.0":"2021-07-13T01:50:18.534Z","12.0.0-canary.ea77795b1.0":"2021-07-13T15:48:19.351Z","12.0.0-canary.15a179fad.0":"2021-07-13T18:08:22.434Z","12.0.0-canary.c73142a1b.0":"2021-07-13T18:43:22.722Z","12.0.0-canary.d923db73a.0":"2021-07-13T20:53:05.692Z","12.0.0-canary.22d29cbb4.0":"2021-07-13T22:49:36.706Z","12.0.0-canary.2749604bc.0":"2021-07-14T16:21:25.133Z","12.0.0-canary.e1703bed9.0":"2021-07-14T21:47:11.050Z","12.0.0-canary.de48eff0d.0":"2021-07-15T17:07:13.900Z","12.0.0-canary.4f060adc5.0":"2021-07-15T19:21:07.658Z","12.0.0-canary.bd25779b2.0":"2021-07-15T20:41:27.880Z","12.0.0-canary.9f68a932e.0":"2021-07-15T22:06:15.523Z","12.0.0-canary.4eecdeaf0.0":"2021-07-16T14:57:00.434Z","12.0.0-canary.7239684d4.0":"2021-07-16T15:58:13.538Z","12.0.0-canary.d5f1f7c72.0":"2021-07-16T16:13:08.749Z","12.0.0-canary.4d95812f9.0":"2021-07-16T19:42:21.055Z","12.0.0-canary.38d1846cc.0":"2021-07-19T18:41:02.834Z","12.0.0-canary.3f691eccf.0":"2021-07-20T16:07:54.366Z","12.0.0-canary.ebb5c73bb.0":"2021-07-20T16:56:00.349Z","12.0.0-nightly.778a0e8a.0":"2021-07-20T21:04:44.292Z","12.0.0-canary.791311bba.0":"2021-07-20T22:06:42.913Z","12.0.0-canary.85e9a6ac3.0":"2021-07-21T15:35:08.380Z","12.0.0-canary.6b0442278.0":"2021-07-21T18:49:02.386Z","12.0.0-canary.5f00e454a.0":"2021-07-22T17:05:33.571Z","12.0.0-canary.90e08fc6b.0":"2021-07-22T23:37:31.943Z","12.0.0-canary.cf5b9eb86.0":"2021-07-23T18:11:26.420Z","12.0.0-canary.3f36ac75c.0":"2021-07-23T18:31:28.681Z","12.0.0-canary.ea1e1b850.0":"2021-07-24T20:54:59.638Z","12.0.0-canary.22f390c43.0":"2021-07-27T18:59:03.247Z","12.0.0":"2021-07-27T19:49:04.279Z","13.0.0-canary.ae85f7eba.0":"2021-07-27T19:50:35.906Z","13.0.0-canary.5981207f7.0":"2021-07-27T23:17:22.229Z","13.0.0-canary.83bdd0222.0":"2021-07-28T17:24:57.801Z","13.0.0-canary.28656298a.0":"2021-07-29T18:12:17.746Z","13.0.0-canary.9e797daaf.0":"2021-07-29T18:34:33.394Z","13.0.0-canary.adb9f1ad8.0":"2021-07-30T19:04:05.830Z","13.0.0-canary.cc5377458.0":"2021-07-30T21:32:39.315Z","13.0.0-canary.a395972cf.0":"2021-08-03T21:22:35.532Z","13.0.0-canary.7c96e6b98.0":"2021-08-03T22:13:07.304Z","13.0.0-canary.a80c8b2c2.0":"2021-08-04T23:58:58.221Z","13.0.0-canary.3dd611091.0":"2021-08-05T03:55:35.636Z","13.0.0-canary.5dee37ff6.0":"2021-08-05T17:41:29.542Z","13.0.0-canary.bf405d22a.0":"2021-08-05T20:17:18.936Z","13.0.0-canary.b47dd37a6.0":"2021-08-05T20:49:09.100Z","13.0.0-canary.6c82b965b.0":"2021-08-06T16:14:04.205Z","13.0.0-canary.4ca11fe76.0":"2021-08-06T17:06:35.830Z","13.0.0-canary.510cf90f2.0":"2021-08-09T17:16:28.891Z","13.0.0-canary.17580ebf7.0":"2021-08-09T18:16:30.470Z","13.0.0-canary.7249a3060.0":"2021-08-09T18:20:45.866Z","13.0.0-canary.4c405863b.0":"2021-08-10T17:40:00.766Z","13.0.0-canary.f4241a42a.0":"2021-08-11T16:58:36.320Z","13.0.0-canary.0ad12ed3c.0":"2021-08-11T21:28:03.197Z","13.0.0-canary.077dcfcfe.0":"2021-08-12T17:54:32.810Z","13.0.0-canary.e3346766f.0":"2021-08-13T19:44:30.470Z","13.0.0-canary.2fb068fb0.0":"2021-08-13T19:47:45.787Z","13.0.0-canary.fb76c5069.0":"2021-08-16T20:07:23.580Z","13.0.0-canary.457d89aad.0":"2021-08-17T15:21:00.254Z","13.0.0-canary.0de2f2edc.0":"2021-08-17T20:53:27.860Z","13.0.0-canary.1f9259b9d.0":"2021-08-17T22:13:19.364Z","13.0.0-canary.3b9290351.0":"2021-08-18T05:22:36.567Z","13.0.0-canary.43d2eed2a.0":"2021-08-18T16:01:26.184Z","13.0.0-canary.0a9069300.0":"2021-08-19T16:16:51.787Z","13.0.0-canary.7da413ed8.0":"2021-08-20T15:47:50.302Z","13.0.0-canary.e1e69fd8e.0":"2021-08-20T19:31:34.238Z","13.0.0-canary.f5afc16df.0":"2021-08-20T20:25:53.704Z","13.0.0-canary.28d0d75bb.0":"2021-08-20T22:19:39.958Z","13.0.0-canary.21ece5360.0":"2021-08-20T23:43:30.217Z","13.0.0-canary.8de07c02a.0":"2021-08-23T15:25:52.694Z","13.0.0-canary.65aa63b0c.0":"2021-08-24T15:27:47.445Z","13.0.0-canary.15981e9d9.0":"2021-08-24T16:16:20.280Z","13.0.0-canary.fa7520f62.0":"2021-08-24T22:27:10.388Z","13.0.0-canary.ce25bc3ec.0":"2021-08-24T22:47:38.525Z","13.0.0-canary.12f5622e1.0":"2021-08-24T23:17:24.491Z","13.0.0-canary.d97f8f133.0":"2021-08-25T18:32:30.126Z","13.0.0-canary.d86fb6fac.0":"2021-08-25T18:53:06.047Z","13.0.0-canary.e8554dbbf.0":"2021-08-25T21:58:37.702Z","13.0.0-canary.877e3fb0d.0":"2021-08-26T15:37:16.528Z","13.0.0-canary.6236f3576.0":"2021-08-26T16:04:58.769Z","13.0.0-canary.1d19158a1.0":"2021-08-26T17:08:10.754Z","13.0.0-canary.6adc9e83f.0":"2021-08-30T22:43:36.203Z","13.0.0-canary.d082790f0.0":"2021-09-01T21:53:37.588Z","13.0.0-canary.e2c4f0196.0":"2021-09-02T02:10:27.290Z","13.0.0-canary.611db508e.0":"2021-09-02T03:14:09.742Z","13.0.0-canary.d4706933f.0":"2021-09-02T15:36:58.917Z","13.0.0-canary.c16fe03ce.0":"2021-09-02T17:44:02.041Z","13.0.0-canary.9203a958a.0":"2021-09-02T23:45:40.747Z","13.0.0-canary.fddd5ae93.0":"2021-09-03T07:29:11.030Z","13.0.0-canary.117599a8b.0":"2021-09-03T07:30:37.772Z","13.0.0-canary.e4180d07b.0":"2021-09-03T07:31:07.060Z","13.0.0-canary.42d175efc.0":"2021-09-03T15:42:08.289Z","13.0.0-canary.72464476c.0":"2021-09-07T15:33:24.173Z","13.0.0-canary.37d4db866.0":"2021-09-09T14:32:38.513Z","13.0.0-canary.6df682e74.0":"2021-09-09T15:42:25.759Z","13.0.0-canary.b49359c35.0":"2021-09-09T17:34:46.178Z","13.0.0-canary.470bd34e8.0":"2021-09-09T18:00:14.138Z","13.0.0-canary.d48a01771.0":"2021-09-09T18:09:31.900Z","13.0.0-canary.13db34b34.0":"2021-09-09T18:24:32.930Z","13.0.0-canary.864798678.0":"2021-09-09T18:35:59.376Z","13.0.0-canary.d04bda3fb.0":"2021-09-10T15:20:41.340Z","13.0.0-canary.5533f73d3.0":"2021-09-13T23:02:52.109Z","13.0.0-canary.08398f880.0":"2021-09-13T23:33:33.728Z","13.0.0-canary.818f4ee93.0":"2021-09-15T17:49:32.280Z","13.0.0-canary.8355e14dc.0":"2021-09-15T19:11:27.246Z","13.0.0-canary.d4e16a6c4.0":"2021-09-15T21:58:14.923Z","13.0.0-canary.65125b3a6.0":"2021-09-16T21:16:32.886Z","13.0.0-canary.80a583365.0":"2021-09-17T20:35:03.916Z","13.0.0-canary.83900936a.0":"2021-09-17T23:23:36.746Z","13.0.0-canary.860ad06a1.0":"2021-09-17T23:35:16.047Z","13.0.0-canary.3b8d4429e.0":"2021-09-20T17:46:47.817Z","13.0.0-canary.2da3606b9.0":"2021-09-20T19:37:00.655Z","13.0.0-canary.e8c598d1e.0":"2021-09-20T21:11:10.067Z","13.0.0-canary.1340ee9f7.0":"2021-09-22T17:57:10.542Z","13.0.0-canary.65084baff.0":"2021-09-23T21:24:41.177Z","13.0.0-canary.c79aa0cdd.0":"2021-09-24T13:40:56.342Z","13.0.0":"2021-09-24T19:45:09.613Z","14.0.0-canary.198431fcd.0":"2021-09-24T19:45:52.107Z","14.0.0-canary.9a02b6ef8.0":"2021-09-25T13:10:19.950Z","14.0.0-canary.758ce31d9.0":"2021-09-27T17:28:33.302Z","14.0.0-canary.86b50ef74.0":"2021-09-28T17:42:14.668Z","14.0.0-canary.b2fe3528b.0":"2021-09-29T22:56:07.920Z","14.0.0-canary.586e740dd.0":"2021-09-30T16:30:30.826Z","14.0.0-canary.2ac92d766.0":"2021-10-05T19:27:45.374Z","14.0.0-canary.353ca7e9f.0":"2021-10-08T18:46:12.341Z","14.0.0-canary.c78ff0429.0":"2021-10-11T17:21:19.278Z","14.0.0-canary.261f2db59.0":"2021-10-20T16:58:54.987Z","14.0.0-canary.9803d2dc1.0":"2021-10-20T19:21:08.915Z","14.0.0-canary.348665978.0":"2021-10-21T14:49:52.674Z","14.0.0-canary.b2b979a8a.0":"2021-10-28T15:11:25.744Z","14.0.0-canary.1af7c1c4a.0":"2021-10-28T17:52:03.868Z","14.0.0-canary.4afd353cd.0":"2021-10-29T15:00:51.081Z","14.0.0-canary.a986df922.0":"2021-10-29T21:34:20.308Z","14.0.0-canary.c3cdff07b.0":"2021-11-09T19:05:11.352Z","14.0.0-canary.468392606.0":"2021-11-11T19:39:24.058Z","14.0.0-canary.828f9803b.0":"2021-11-11T19:50:08.518Z","14.0.0-canary.8795cba87.0":"2021-11-11T19:56:04.877Z","14.0.0-canary.cd7f8cace.0":"2021-11-11T19:57:43.549Z","14.0.0-canary.207230eb8.0":"2021-11-11T22:23:37.423Z","14.0.0-canary.991fb99f7.0":"2021-11-11T22:35:43.149Z","14.0.0-canary.15db4f164.0":"2021-11-12T17:29:06.647Z","14.0.0-canary.8fcad5a3c.0":"2021-11-12T19:13:06.660Z","14.0.0-canary.f81fb1d23.0":"2021-11-12T22:39:32.775Z","14.0.0-canary.783f6fd5a.0":"2021-11-16T05:49:03.109Z","14.0.0-canary.d57ec74c7.0":"2021-11-16T16:15:25.218Z","14.0.0-canary.554c71829.0":"2021-11-16T16:18:17.819Z","14.0.0-canary.3ef470efe.0":"2021-11-16T16:23:12.420Z","14.0.0-canary.61a28b2b5.0":"2021-11-17T18:58:21.635Z","14.0.0-canary.fae6c652d.0":"2021-11-18T16:24:04.231Z","14.0.0-canary.978a3b5bb.0":"2021-11-19T19:38:08.430Z","14.0.0-canary.e6f43cf44.0":"2021-11-22T17:34:14.154Z","14.0.0-canary.39cf14bc3.0":"2021-11-22T23:03:34.312Z","14.0.0-canary.93134d453.0":"2021-11-23T15:37:52.068Z","14.0.0-canary.bbd11268f.0":"2021-11-23T22:31:17.799Z","14.0.0-canary.3db9c4d3d.0":"2021-11-24T15:36:24.417Z","14.0.0-canary.78305b6d5.0":"2021-11-24T19:49:44.005Z","14.0.0-canary.43d08ba77.0":"2021-11-30T22:55:08.711Z","14.0.0-canary.17a072535.0":"2021-12-02T18:04:19.058Z","14.0.0-canary.5d809696c.0":"2021-12-08T17:43:22.630Z","14.0.0-canary.b6510c8c1.0":"2021-12-08T18:05:24.662Z","14.0.0-canary.f460e23da.0":"2021-12-10T15:24:24.098Z","14.0.0-canary.7d8ea4624.0":"2021-12-10T19:28:16.941Z","14.0.0-canary.8fffcb5dd.0":"2021-12-14T08:54:01.219Z","14.0.0-canary.21e1cb9be.0":"2021-12-14T19:38:54.765Z","14.0.0-canary.ba78e8724.0":"2021-12-15T22:11:59.769Z","14.0.0-canary.e3e073c00.0":"2021-12-20T21:08:49.036Z","14.0.0-canary.3366a71d7.0":"2021-12-22T12:31:27.359Z","14.0.0-canary.c047f7c19.0":"2022-01-05T16:44:47.407Z","14.0.0-canary.05db65ec0.0":"2022-01-06T17:13:14.627Z","14.0.0-canary.6ca8b8f85.0":"2022-01-07T15:59:55.692Z","14.0.0-canary.173ee7a7a.0":"2022-01-10T16:53:11.301Z","14.0.0-canary.b704e4dfc.0":"2022-01-10T18:32:01.487Z","14.0.0-canary.c14e977ee.0":"2022-01-11T15:48:26.699Z","14.0.0-canary.b094eaa4e.0":"2022-01-14T18:41:24.790Z","14.0.0-canary.390220e42.0":"2022-01-17T16:45:06.997Z","14.0.0-canary.4b5391f8b.0":"2022-01-19T23:51:49.958Z","14.0.0-canary.cef6bc623.0":"2022-01-20T00:16:26.429Z","14.0.0-canary.0379179c4.0":"2022-01-20T18:53:27.159Z","14.0.0-canary.e62f3dabf.0":"2022-01-21T23:02:25.513Z","14.0.0-canary.3e20c1de8.0":"2022-01-25T15:30:40.634Z","14.0.0-canary.9f9d928b2.0":"2022-01-27T18:12:10.703Z","14.0.0-canary.a2bcb065c.0":"2022-01-28T19:36:10.517Z","14.0.0-canary.4e66fb2e1.0":"2022-01-28T19:40:28.781Z","14.0.0-canary.9736ddce9.0":"2022-01-29T09:48:57.112Z","14.0.0-canary.cc4ed13cc.0":"2022-02-04T18:21:43.881Z","14.0.0-canary.dcba26fe1.0":"2022-02-04T21:56:10.765Z","14.0.0-canary.ec54d9046.0":"2022-02-07T15:45:33.586Z","14.0.0-canary.ea9b5b463.0":"2022-02-09T17:52:36.606Z","14.0.0-canary.96ea061c1.0":"2022-02-09T18:58:20.207Z","14.0.0-canary.e00181e59.0":"2022-02-10T20:05:39.422Z","14.0.0-canary.037285f9b.0":"2022-02-11T18:28:28.789Z","14.0.0-canary.1aaa68dda.0":"2022-02-16T19:48:01.715Z","14.0.0-canary.ab4aba1af.0":"2022-02-17T18:15:34.125Z","14.0.0-canary.e58552c6e.0":"2022-02-18T18:03:22.679Z","14.0.0-canary.868793776.0":"2022-02-22T19:34:32.604Z","14.0.0-canary.fdc37a445.0":"2022-02-28T18:45:25.953Z","14.0.0-canary.43c7d87dc.0":"2022-03-01T15:32:24.556Z","14.0.0-canary.23043acd0.0":"2022-03-02T20:26:45.182Z","14.0.0-canary.6505e61c5.0":"2022-03-03T19:59:32.586Z","14.0.0-canary.16c166154.0":"2022-03-08T23:21:37.429Z","14.0.0-canary.bdf1d3771.0":"2022-03-14T14:27:40.430Z","14.0.0-canary.cf4292778.0":"2022-03-15T00:28:53.093Z","14.0.0-canary.bbd43e0e0.0":"2022-03-16T20:49:23.335Z","14.0.0-canary.1b6afad86.0":"2022-03-16T21:02:53.993Z","14.0.0-canary.bdf9d4af9.0":"2022-03-16T21:17:09.764Z","14.0.0-canary.32b391398.0":"2022-03-17T17:58:28.561Z","14.0.0-canary.ae8a6a3a3.0":"2022-03-18T16:38:29.575Z","14.0.0-canary.cbd9358a6.0":"2022-03-18T22:51:17.628Z","14.0.0-canary.dcfe49c98.0":"2022-03-21T18:43:21.805Z","14.0.0-canary.f31a833fa.0":"2022-03-23T00:49:57.929Z","14.0.0-canary.4b92e210a.0":"2022-03-24T20:17:50.721Z","14.0.0-canary.a657abb61.0":"2022-03-24T20:39:14.971Z","14.0.0-canary.443f63f50.0":"2022-03-25T23:03:53.703Z","14.0.0-canary.eb382f318.0":"2022-03-29T17:34:13.043Z","14.0.0-canary.344d52823.0":"2022-03-29T18:42:32.392Z","14.0.0-canary.4e372fb49.0":"2022-04-07T20:32:11.676Z","14.0.0-canary.3e30054fb.0":"2022-04-13T22:13:27.953Z","14.0.0-canary.8c4da223a.0":"2022-04-19T15:23:27.587Z","14.0.0-canary.7de8965cc.0":"2022-04-19T20:22:40.880Z","14.0.0-canary.641ed0851.0":"2022-04-20T16:04:51.543Z","14.0.0-canary.e88f83024.0":"2022-04-20T17:46:55.939Z","14.0.0-canary.7321d6254.0":"2022-04-20T20:10:28.165Z","14.0.0-canary.3ab956515.0":"2022-04-25T15:01:06.135Z","14.0.0-canary.53b3cad2f.0":"2022-04-27T12:44:31.523Z","14.0.0":"2022-04-28T16:55:04.106Z","15.0.0-canary.432c815e5.0":"2022-04-28T16:56:10.591Z","15.0.0-canary.a0f01f669.0":"2022-05-06T20:13:54.469Z","15.0.0-canary.276cb39a4.0":"2022-05-06T21:30:44.669Z","15.0.0-canary.4fe98ed70.0":"2022-05-06T21:55:17.627Z","15.0.0-canary.58b130a3d.0":"2022-05-06T21:57:36.713Z","15.0.0-canary.ae278a2fe.0":"2022-05-09T15:23:38.645Z","15.0.0-canary.bebf5bfdf.0":"2022-05-11T02:39:34.895Z","15.0.0-canary.e6072cd6a.0":"2022-05-11T20:17:43.340Z","15.0.0-canary.5b40eb988.0":"2022-05-12T02:43:26.496Z","15.0.0-canary.6a61d62f6.0":"2022-05-12T20:25:58.734Z","15.0.0-canary.05930a453.0":"2022-05-13T18:46:43.640Z","15.0.0-canary.c0a11ef0d.0":"2022-05-18T22:00:19.925Z","15.0.0-canary.2f9b268c0.0":"2022-05-20T19:31:55.751Z","15.0.0-canary.7741345b8.0":"2022-05-20T20:02:02.529Z","15.0.0-canary.f807e793f.0":"2022-05-20T22:20:54.031Z","15.0.0-canary.9f53d4a8a.0":"2022-05-23T14:56:51.620Z","15.0.0-canary.77cf00e37.0":"2022-05-31T17:38:47.085Z","15.0.0-canary.3c7b844c2.0":"2022-06-07T22:20:09.213Z","15.0.0-canary.df47894db.0":"2022-06-13T17:07:49.288Z","15.0.0-canary.b18a873dc.0":"2022-06-14T06:29:07.125Z","15.0.0-canary.ba9c29637.0":"2022-06-14T18:56:46.605Z","15.0.0-canary.9bfd12f01.0":"2022-06-22T19:21:49.379Z","15.0.0-canary.764de225d.0":"2022-06-29T16:26:26.307Z","15.0.0-canary.31e517cea.0":"2022-07-01T18:27:47.623Z","15.0.0-canary.9ea4e8e9c.0":"2022-07-01T22:54:23.271Z","15.0.0-canary.cd5bafabb.0":"2022-07-06T17:53:45.124Z","15.0.0-canary.a02fe49d3.0":"2022-07-06T18:50:27.075Z","15.0.0-canary.826a3d8be.0":"2022-07-06T19:30:25.158Z","15.0.0-canary.ef276aa93.0":"2022-07-07T17:01:59.760Z","15.0.0-canary.59cf61d6b.0":"2022-07-07T17:30:47.001Z","15.0.0-canary.8647092f7.0":"2022-07-07T20:38:02.889Z","15.0.0-canary.02ecd4d85.0":"2022-07-11T16:38:31.830Z","15.0.0-canary.63d3a146e.0":"2022-07-12T11:36:21.023Z","15.0.0-canary.88db01990.0":"2022-07-12T11:39:18.481Z","15.0.0-canary.6432d8fd7.0":"2022-07-14T07:28:16.329Z","15.0.0-canary.085f9b25c.0":"2022-07-14T16:34:20.535Z","15.0.0-canary.39f9424b3.0":"2022-07-14T17:04:38.163Z","15.0.0-canary.ae9fce587.0":"2022-07-14T18:07:33.201Z","15.0.0-canary.1ebddc343.0":"2022-07-15T08:48:45.124Z","15.0.0-canary.c5018840c.0":"2022-07-18T09:42:33.085Z","15.0.0-canary.551b40d18.0":"2022-07-18T10:00:15.192Z","15.0.0-canary.cf9f12371.0":"2022-07-18T10:04:21.912Z","15.0.0-canary.2797ff8b6.0":"2022-07-19T00:23:27.948Z","15.0.0-canary.110fafa17.0":"2022-07-20T07:46:04.836Z","15.0.0-canary.386ef1d2f.0":"2022-07-20T18:19:10.408Z","15.0.0-canary.c3924efef.0":"2022-07-20T18:28:28.802Z","15.0.0-canary.cf5c5907c.0":"2022-07-20T21:21:15.922Z","15.0.0-canary.0617e2319.0":"2022-07-20T21:39:24.209Z","15.0.0-canary.a743b7967.0":"2022-07-20T21:56:31.211Z","15.0.0-canary.69fd619d0.0":"2022-07-20T22:08:22.545Z","15.0.0-canary.2a6ddc1cf.0":"2022-07-29T16:03:58.554Z","15.0.0-canary.86efd56f6.0":"2022-08-02T14:44:54.719Z","15.0.0-canary.ccfc24d19.0":"2022-08-03T18:12:46.526Z","15.0.0-canary.e4570146f.0":"2022-08-03T18:40:02.102Z","15.0.0-canary.6683a36cb.0":"2022-08-03T19:19:58.187Z","15.0.0-canary.10196647d.0":"2022-08-03T21:53:08.106Z","15.0.0-canary.b20d3d73c.0":"2022-08-04T22:42:10.805Z","15.0.0-canary.47c0c6b1e.0":"2022-08-09T15:19:43.598Z","15.0.0-canary.0e3dc8e38.0":"2022-08-11T18:45:18.251Z","15.0.0-canary.d5a11f1c8.0":"2022-08-30T23:00:37.442Z","15.0.0-canary.bac992a95.0":"2022-09-01T07:04:56.293Z","15.0.0-canary.d25f3404c.0":"2022-09-01T09:43:44.429Z","15.0.0-canary.920d8a79e.0":"2022-09-01T20:20:26.501Z","15.0.0-canary.c363f267b.0":"2022-09-01T21:17:38.917Z","15.0.0-canary.a4eb4937a.0":"2022-09-06T18:19:10.399Z","15.0.0-canary.4299717da.0":"2022-09-07T16:15:02.414Z","15.0.0-canary.fa7d8d44b.0":"2022-09-07T19:18:07.962Z","15.0.0-canary.a40e3c768.0":"2022-09-09T20:03:17.402Z","15.0.0-canary.18cdc9a00.0":"2022-09-12T21:02:13.308Z","15.0.0-canary.7ab3cd3c8.0":"2022-09-13T22:38:32.442Z","15.0.0-canary.2860d244d.0":"2022-09-16T22:54:14.454Z","15.0.0-canary.e8726533c.0":"2022-09-20T20:17:01.808Z","15.0.0-canary.00d8de0aa.0":"2022-09-21T15:19:24.633Z","15.0.0-canary.271aedc30.0":"2022-09-21T15:35:13.550Z","15.0.0-canary.9f17ff2cb.0":"2022-09-21T18:07:35.608Z","15.0.0-canary.d3344c16f.0":"2022-09-22T09:23:41.799Z","15.0.0-canary.94f20ccb8.0":"2022-09-22T20:47:02.728Z","15.0.0-canary.81e4cb7b2.0":"2022-09-23T15:07:23.273Z","15.0.0-canary.aa85f9413.0":"2022-09-26T17:55:43.895Z","15.0.0-canary.7134a7752.0":"2022-09-26T21:56:56.031Z","15.0.0-canary.70b8ac16e.0":"2022-09-27T22:44:11.805Z","15.0.0-canary.c20d74405.0":"2022-09-27T23:30:32.151Z","15.0.0-canary.f033fc8d1.0":"2022-09-27T23:56:39.088Z","15.0.0-canary.8d7ae912a.0":"2022-09-28T07:55:23.816Z","15.0.0-canary.db414b864.0":"2022-09-28T14:51:50.364Z","15.0.0-canary.c0462d134.0":"2022-09-28T17:51:23.287Z","15.0.0-canary.28cc6791f.0":"2022-09-28T18:06:05.773Z","15.0.0-canary.a515a2d18.0":"2022-09-28T18:54:56.709Z","15.0.0-canary.ce9523167.0":"2022-09-29T20:30:27.841Z","15.0.0-canary.b2310f7dc.0":"2022-09-30T00:13:07.872Z","15.0.0-canary.a44241e54.0":"2022-09-30T08:20:23.977Z","15.0.0-canary.0ce81e115.0":"2022-09-30T18:17:29.682Z","15.0.0-canary.3cc30f6ad.0":"2022-10-04T17:18:25.847Z","15.0.0-canary.d9cf98e60.0":"2022-10-04T19:03:00.418Z","15.0.0-canary.d71935c8b.0":"2022-10-06T08:14:07.431Z","15.0.0-canary.49c56a25d.0":"2022-10-06T18:50:08.955Z","15.0.0-canary.07acddef3.0":"2022-10-07T21:37:10.691Z","15.0.0-canary.1c74eb2c0.0":"2022-10-07T21:54:17.229Z","15.0.0-canary.dadfb713e.0":"2022-10-08T05:05:25.909Z","15.0.0-canary.395f1ce61.0":"2022-10-08T05:07:26.767Z","15.0.0-canary.e741b5c82.0":"2022-10-10T17:37:38.626Z","15.0.0-canary.582f3cc1c.0":"2022-10-11T04:48:34.121Z","15.0.0-canary.b1a6e3e88.0":"2022-10-12T12:01:55.213Z","15.0.0-canary.c9b1a31e4.0":"2022-10-12T16:58:00.083Z","15.0.0-canary.13e9b0d1f.0":"2022-10-12T19:20:29.552Z","15.0.0-canary.1dc797e7f.0":"2022-10-14T09:41:01.476Z","15.0.0-canary.ed4009397.0":"2022-10-14T16:50:49.561Z","15.0.0-canary.95ef196bc.0":"2022-10-14T23:13:28.430Z","15.0.0-canary.13eea1b2d.0":"2022-10-17T03:51:07.202Z","15.0.0-canary.ef9b2babb.0":"2022-10-17T09:17:27.852Z","15.0.0-canary.cec7fb987.0":"2022-10-17T10:55:50.438Z","15.0.0-canary.4fff58b08.0":"2022-10-17T15:21:57.519Z","15.0.0-canary.587d8f871.0":"2022-10-17T15:56:39.425Z","15.0.0-canary.edf4b98d0.0":"2022-10-17T16:39:59.821Z","15.0.0-canary.024ac5f16.0":"2022-10-17T22:41:51.912Z","15.0.0-canary.c8bdf6144.0":"2022-10-18T18:22:56.342Z","15.0.0-canary.bacda4885.0":"2022-10-18T18:42:13.677Z","15.0.0-canary.92b2556cf.0":"2022-10-19T01:12:56.931Z","15.0.0-canary.cc804509a.0":"2022-10-19T01:16:44.483Z","15.0.0-canary.982bedae9.0":"2022-10-19T01:36:33.316Z","15.0.0-canary.ee40081f4.0":"2022-10-19T20:11:19.056Z","15.0.0-canary.98f1b54e2.0":"2022-10-20T22:56:16.742Z","15.0.0-canary.e74b7ba7e.0":"2022-10-21T17:05:21.107Z","15.0.0-canary.ab55c07d2.0":"2022-10-22T18:18:44.762Z","15.0.0-canary.fc539db34.0":"2022-10-24T18:58:42.196Z","15.0.0-canary.e340b04c5.0":"2022-10-25T23:44:35.161Z","15.0.0-canary.2c1a8f8fd.0":"2022-10-26T17:29:52.971Z","15.0.0-canary.ecfee946f.0":"2022-10-26T20:14:42.751Z","15.0.0-canary.73ca9dbb0.0":"2022-10-31T17:31:56.017Z","15.0.0-canary.357f2e5f1.0":"2022-10-31T18:48:46.708Z","15.0.0-canary.eb103d4b5.0":"2022-10-31T19:55:54.257Z","15.0.0-canary.af5f01223.0":"2022-11-01T18:36:24.743Z","15.0.0-canary.58733ef41.0":"2022-11-02T18:10:14.476Z","15.0.0-canary.909b48215.0":"2022-11-03T04:07:18.905Z","15.0.0-canary.7f17127d5.0":"2022-11-03T18:18:38.188Z","15.0.0-canary.da95e2a05.0":"2022-11-04T16:58:34.458Z","15.0.0-canary.4832e2750.0":"2022-11-04T20:56:33.414Z","15.0.0-canary.215506426.0":"2022-11-05T01:05:30.853Z","15.0.0-canary.4cf917476.0":"2022-11-05T18:03:36.987Z","15.0.0-canary.eef14bd32.0":"2022-11-06T17:24:07.472Z","15.0.0-canary.6faa29fe9.0":"2022-11-07T03:12:58.407Z","15.0.0-canary.9af09b967.0":"2022-11-07T18:27:10.554Z","15.0.0-canary.0f54fbb93.0":"2022-11-08T21:56:08.032Z","15.0.0-canary.a8d47f9fe.0":"2022-11-09T04:17:10.015Z","15.0.0-canary.66a1e75e6.0":"2022-11-09T09:35:05.197Z","15.0.0-canary.5e5c2afc0.0":"2022-11-09T11:52:46.768Z","15.0.0-canary.3e3f43359.0":"2022-11-09T20:02:23.128Z","15.0.0-canary.3f667fac6.0":"2022-11-09T22:05:31.893Z","15.0.0-canary.faa28c1c5.0":"2022-11-11T16:35:18.588Z","15.0.0-canary.a868c7866.0":"2022-11-11T16:36:00.284Z","15.0.0-canary.602fe8efa.0":"2022-11-11T17:11:20.412Z","15.0.0-canary.558c2be62.0":"2022-11-11T22:44:48.546Z","15.0.0-canary.b5c13a7a8.0":"2022-11-14T15:58:02.318Z","15.0.0-canary.a6e1c0702.0":"2022-11-14T17:26:32.047Z","15.0.0-canary.b6f8a06de.0":"2022-11-15T09:27:47.488Z","15.0.0-canary.0163f3ba5.0":"2022-11-15T18:01:30.051Z","15.0.0-canary.66c5cbb94.0":"2022-11-15T19:29:29.840Z","15.0.0-canary.b01136063.0":"2022-11-16T00:15:14.128Z","15.0.0-canary.01da0cabb.0":"2022-11-16T09:12:38.802Z","15.0.0-canary.4ac393164.0":"2022-11-16T16:14:43.567Z","15.0.0-canary.6048fb563.0":"2022-11-16T16:17:01.855Z","15.0.0-canary.3777b03cb.0":"2022-11-16T18:40:51.055Z","15.0.0-canary.f7f56fff7.0":"2022-11-16T19:55:28.161Z","15.0.0-canary.7c73f6134.0":"2022-11-16T19:59:00.942Z","15.0.0-canary.f1e037150.0":"2022-11-16T20:04:38.641Z","15.0.0-canary.40b18d043.0":"2022-11-16T22:58:16.420Z","15.0.0-canary.86bde5c06.0":"2022-11-16T23:08:27.399Z","15.0.0-canary.bb7751002.0":"2022-11-16T23:59:38.137Z","15.0.0-canary.63aca9af6.0":"2022-11-17T19:00:39.661Z","15.0.0-canary.56482dc2e.0":"2022-11-17T21:54:43.936Z","15.0.0-canary.953e689f3.0":"2022-11-17T22:04:12.166Z","15.0.0-canary.b5606a793.0":"2022-11-18T10:20:40.121Z","15.0.0-canary.8c5675942.0":"2022-11-18T15:15:39.793Z","15.0.0-canary.697fbdebd.0":"2022-11-18T17:00:08.539Z","15.0.0-canary.d58410453.0":"2022-11-18T19:24:35.120Z","15.0.0-canary.7971d6ad5.0":"2022-11-19T08:44:45.851Z","15.0.0-canary.a0ae73b0e.0":"2022-11-21T10:53:14.910Z","15.0.0-canary.96f472604.0":"2022-11-21T12:52:11.647Z","15.0.0-canary.18b8f31e1.0":"2022-11-21T16:01:53.558Z","15.0.0-canary.912f33ce4.0":"2022-11-21T17:53:28.800Z","15.0.0-canary.1e1b1c369.0":"2022-11-23T19:00:02.571Z","15.0.0-canary.a2ec49244.0":"2022-11-23T19:30:29.045Z","15.0.0-canary.a7458ba0b.0":"2022-11-23T20:15:57.406Z","15.0.0-canary.7c35e5036.0":"2022-11-24T08:38:55.297Z","15.0.0-canary.4356e05c5.0":"2022-11-24T09:56:14.948Z","15.0.0-canary.cb605f8af.0":"2022-11-24T10:14:54.006Z","15.0.0-canary.05fb07f9f.0":"2022-11-24T17:13:17.286Z","15.0.0-canary.a911b386b.0":"2022-11-28T16:46:51.783Z","15.0.0-canary.2aa8050b4.0":"2022-11-28T19:11:05.402Z","15.0.0-canary.323904a9f.0":"2022-11-29T15:33:23.465Z","15.0.0-canary.168a629a4.0":"2022-11-29T16:48:19.502Z","15.0.0-canary.65c411674.0":"2022-11-29T17:37:44.181Z","15.0.0-canary.a86d36fd2.0":"2022-11-30T02:13:41.256Z","15.0.0-canary.3a1f46c66.0":"2022-11-30T12:06:29.700Z","15.0.0-canary.32d8a9648.0":"2022-12-01T17:28:37.115Z","15.0.0-canary.03618ab70.0":"2022-12-01T20:54:03.303Z","15.0.0-canary.68aaed940.0":"2022-12-01T21:23:39.578Z","15.0.0-canary.f0a0bbc75.0":"2022-12-02T09:01:17.720Z","15.0.0-canary.dd99c8764.0":"2022-12-02T14:00:30.825Z","15.0.0-canary.fabdcca3a.0":"2022-12-02T15:06:24.299Z","15.0.0-canary.2d26722d2.0":"2022-12-02T16:26:07.240Z","15.0.0-canary.eaa0c3a86.0":"2022-12-02T17:42:10.179Z","15.0.0-canary.79a613bbd.0":"2022-12-06T14:25:11.382Z","15.0.0-canary.c871fe61e.0":"2022-12-07T07:51:30.203Z","15.0.0-canary.9eaee7936.0":"2022-12-07T20:02:23.095Z","15.0.0-canary.1d37bf601.0":"2022-12-07T20:40:50.041Z","15.0.0-canary.a5fe069d5.0":"2022-12-09T18:43:42.975Z","15.0.0-canary.ce8b5326f.0":"2022-12-09T23:30:20.474Z","15.0.0-canary.43f5323bc.0":"2022-12-12T16:45:48.197Z","15.0.0-canary.5490e32e7.0":"2022-12-12T17:01:40.904Z","15.0.0-canary.817002c29.0":"2022-12-13T21:53:30.984Z","15.0.0-canary.313a1326a.0":"2022-12-14T10:28:20.212Z","15.0.0-canary.a69c14e10.0":"2022-12-14T11:18:24.174Z","15.0.0-canary.f43e0ceb5.0":"2022-12-14T16:44:23.721Z","15.0.0-canary.34767110.0":"2022-12-14T17:20:19.093Z","15.0.0-canary.1f99f3c50.0":"2022-12-15T14:25:06.302Z","15.0.0-canary.cfd69490f.0":"2022-12-16T20:08:06.120Z","15.0.0-canary.94ad8d986.0":"2022-12-19T19:26:40.425Z","15.0.0-canary.604264203.0":"2022-12-21T21:40:27.038Z","15.0.0-canary.85bcff6af.0":"2022-12-22T10:24:42.465Z","15.0.0-canary.ece3e8d21.0":"2022-12-22T17:11:47.362Z","15.0.0-canary.278ad53d1.0":"2022-12-27T17:04:36.999Z","15.0.0-canary.a7d8389e1.0":"2022-12-27T19:03:22.532Z","15.0.0-canary.8175d5eff.0":"2022-12-28T01:51:08.670Z","15.0.0-canary.16abb41ed.0":"2022-12-28T19:38:00.324Z","15.0.0-canary.e21dcb86d.0":"2022-12-29T14:01:45.927Z","15.0.0-canary.20ab6f5a8.0":"2022-12-29T19:40:34.763Z","15.0.0-canary.b9806f623.0":"2022-12-29T23:05:26.136Z","15.0.0-canary.50c9f550e.0":"2023-01-03T15:47:17.917Z","15.0.0-canary.af490a848.0":"2023-01-03T15:56:33.350Z","15.0.0-canary.7cf487c98.0":"2023-01-03T17:38:21.359Z","15.0.0-canary.a52be2d5e.0":"2023-01-03T19:12:47.425Z","15.0.0-canary.e38ba17c5.0":"2023-01-03T22:32:04.342Z","15.0.0-canary.49041a6c3.0":"2023-01-04T15:17:16.760Z","15.0.0-canary.c492898c2.0":"2023-01-04T17:36:39.358Z","15.0.0-canary.d7a2277de.0":"2023-01-04T21:35:15.938Z","15.0.0-canary.fd95ca7ef.0":"2023-01-05T01:02:25.621Z","15.0.0-canary.1eb44faf9.0":"2023-01-05T09:08:58.013Z","15.0.0-canary.adcdb7db9.0":"2023-01-05T16:21:10.695Z","15.0.0-canary.067af7eff.0":"2023-01-06T23:15:44.733Z","15.0.0-canary.21d1196a7.0":"2023-01-09T10:42:34.628Z","15.0.0-canary.8d2d8d3c4.0":"2023-01-09T22:23:32.464Z","15.0.0-canary.f476fdece.0":"2023-01-10T16:14:10.099Z","15.0.0-canary.fc6ee6c32.0":"2023-01-10T16:27:33.567Z","15.0.0-canary.73537ab0f.0":"2023-01-10T18:11:08.371Z","15.0.0-canary.684e33d25.0":"2023-01-10T19:18:08.384Z","15.0.0-canary.0e89aab6b.0":"2023-01-11T16:16:58.641Z","15.0.0-canary.b0103d10a.0":"2023-01-11T19:12:02.194Z","15.0.0-canary.50e7a5312.0":"2023-01-11T20:53:41.706Z","15.0.0-canary.202823f54.0":"2023-01-11T21:35:18.639Z","15.0.0-canary.199fe2a2a.0":"2023-01-11T21:55:13.064Z","15.0.0-canary.8c0786d6f.0":"2023-01-12T14:35:47.980Z","15.0.0-canary.8a74f7c6d.0":"2023-01-17T19:24:06.506Z","15.0.0-canary.b4687fdc1.0":"2023-01-19T19:48:51.848Z","15.0.0-canary.b836b9892.0":"2023-01-24T22:38:46.016Z","15.0.0-canary.e8912fd37.0":"2023-01-26T18:29:18.694Z","15.0.0-canary.16fbd30ff.0":"2023-01-26T18:34:25.146Z","15.0.0-canary.033ae083a.0":"2023-01-26T19:26:24.159Z","15.0.0-canary.3a705fa1d.0":"2023-01-27T22:43:11.257Z","15.0.0-canary.d6bea2ff2.0":"2023-01-31T15:29:33.188Z","15.0.0-canary.0c94182c8.0":"2023-02-01T17:43:40.100Z","15.0.0-canary.15b221540.0":"2023-02-01T17:51:58.059Z","15.0.0-canary.eeebb8bba.0":"2023-02-01T18:21:45.636Z","15.0.0-canary.6a4b3f834.0":"2023-02-01T18:57:47.946Z","15.0.0-canary.b177b40e2.0":"2023-02-02T03:33:31.458Z","15.0.0-canary.d9f821042.0":"2023-02-02T17:37:10.766Z","15.0.0-canary.47c7deb19.0":"2023-02-03T09:08:27.247Z","15.0.0-canary.a16dbd1a6.0":"2023-02-04T06:14:03.802Z","15.0.0-canary.93416f87a.0":"2023-02-07T13:23:30.194Z","15.0.0-canary.49b8e7442.0":"2023-02-07T23:08:55.888Z","15.0.0-canary.de38de758.0":"2023-02-09T15:41:47.340Z","15.0.0-canary.4d62de70c.0":"2023-02-09T22:02:29.865Z","15.0.0-canary.6fcd8d418.0":"2023-02-13T11:49:23.495Z","15.0.0-canary.066d9439b.0":"2023-02-15T19:57:09.044Z","15.0.0-canary.7ab32468c.0":"2023-02-21T18:33:23.863Z","15.0.0-canary.fa27ba61d.0":"2023-02-27T16:18:47.651Z","15.0.0-canary.311ab4d4a.0":"2023-02-27T16:40:46.222Z","15.0.0-canary.901c83e77.0":"2023-02-27T18:05:33.104Z","15.0.0-canary.5cb8e2174.0":"2023-03-01T16:35:05.684Z","15.0.0-canary.f32339937.0":"2023-03-06T15:15:00.430Z","15.0.0-canary.7644d63d5.0":"2023-03-06T22:26:53.823Z","15.0.0-canary.d96330c08.0":"2023-03-08T11:41:13.833Z","15.0.0-canary.c99cae77c.0":"2023-03-08T23:42:20.096Z","15.0.0-canary.6023b1cd3.0":"2023-03-09T14:25:52.626Z","15.0.0-canary.274610c77.0":"2023-03-09T14:58:02.086Z","15.0.0-canary.a274583b9.0":"2023-03-09T19:52:05.489Z","15.0.0-canary.da22ca960.0":"2023-03-09T20:17:44.879Z","15.0.0-canary.304a94e8b.0":"2023-03-09T20:44:27.355Z","15.0.0-canary.6c265915c.0":"2023-03-09T21:46:44.002Z","15.0.0-canary.de5224633.0":"2023-03-09T23:55:12.624Z","15.0.0-canary.8879557e6.0":"2023-03-10T14:07:22.113Z","15.0.0-canary.23073a303.0":"2023-03-10T14:14:14.426Z","15.0.0-canary.51c7d4014.0":"2023-03-10T16:46:50.050Z","15.0.0-canary.1175a5be0.0":"2023-03-10T20:47:29.814Z","15.0.0-canary.7adf3af80.0":"2023-03-11T01:24:23.981Z","15.0.0-canary.82554d770.0":"2023-03-11T01:36:44.397Z","15.0.0-canary.93fc524b7.0":"2023-03-13T08:38:05.926Z","15.0.0-canary.50be0fbae.0":"2023-03-13T17:43:37.007Z","15.0.0-canary.6b5ffccd9.0":"2023-03-13T17:46:55.662Z","15.0.0-canary.1c8013f4e.0":"2023-03-13T18:01:48.258Z","15.0.0-canary.112715df5.0":"2023-03-13T18:38:35.250Z","15.0.0-canary.d250911f2.0":"2023-03-13T19:30:54.003Z","15.0.0-canary.7cd925c12.0":"2023-03-13T19:38:22.219Z","15.0.0-canary.b2ddacf73.0":"2023-03-13T19:42:50.417Z","15.0.0-canary.989ae2ecc.0":"2023-03-13T19:52:02.410Z","15.0.0-canary.89c66483a.0":"2023-03-13T20:15:51.250Z","15.0.0-canary.6a85742c2.0":"2023-03-14T02:46:48.152Z","15.0.0-canary.bb6cd78d5.0":"2023-03-14T18:16:09.573Z","15.0.0-canary.5f94aa37d.0":"2023-03-14T18:19:34.580Z","15.0.0-canary.1bd317240.0":"2023-03-14T18:23:22.482Z","15.0.0-canary.d441d2a2a.0":"2023-03-14T18:25:57.893Z","15.0.0-canary.fff4066c6.0":"2023-03-14T18:26:35.274Z","15.0.0-canary.87809c710.0":"2023-03-14T18:42:49.478Z","15.0.0-canary.48d30012d.0":"2023-03-14T18:47:11.535Z","15.0.0-canary.419b23cc6.0":"2023-03-14T18:58:09.541Z","15.0.0-canary.bf86521f4.0":"2023-03-14T23:12:51.279Z","15.0.0-canary.11f3d280e.0":"2023-03-15T00:10:41.448Z","15.0.0-canary.b281a409a.0":"2023-03-21T15:40:17.437Z","15.0.0-canary.39e473690.0":"2023-03-21T17:50:38.872Z","15.0.0-canary.cedffb44c.0":"2023-03-21T17:57:40.668Z","15.0.0-canary.36a4cba99.0":"2023-03-28T17:49:27.092Z","15.0.0-canary.ed7e82ded.0":"2023-03-28T20:33:58.068Z","15.0.0-canary.55093ee1e.0":"2023-03-29T18:47:33.727Z","15.0.0-canary.0c53abc81.0":"2023-04-07T01:40:34.016Z","15.0.0-canary.51311e69e.0":"2023-04-07T18:07:15.791Z","15.0.0-canary.113b1a38e.0":"2023-04-10T21:53:11.428Z","15.0.0-canary.ea2191426.0":"2023-04-11T21:55:01.404Z","15.0.0-canary.5a5c38538.0":"2023-04-11T22:29:44.869Z","15.0.0-canary.e4b5ea7eb.0":"2023-04-11T23:03:37.651Z","15.0.0-canary.a094dd9c1.0":"2023-04-14T22:41:54.955Z","15.0.0-canary.f771b091c.0":"2023-04-17T15:37:23.722Z","15.0.0-canary.79b1b612b.0":"2023-04-19T23:39:27.388Z","15.0.0-canary.6f50071e5.0":"2023-04-20T18:00:17.145Z","15.0.0-canary.ef754381c.0":"2023-04-24T20:50:20.291Z","15.0.0-canary.69ebf61ea.0":"2023-04-27T17:20:34.900Z","15.0.0-canary.b90be86de.0":"2023-04-29T00:21:00.880Z","15.0.0-canary.51f9c0c28.0":"2023-04-29T00:30:47.277Z","15.0.0-canary.4e840d685.0":"2023-05-02T15:32:51.013Z","15.0.0-canary.10b8563e4.0":"2023-05-02T23:41:15.945Z","15.0.0-canary.736b7fda4.0":"2023-05-03T15:08:45.331Z","15.0.0-canary.0e533c5a1.0":"2023-05-05T16:55:34.515Z","15.0.0-canary.5f01c15a2.0":"2023-05-05T17:25:41.013Z","15.0.0-canary.3b5b55e31.0":"2023-05-05T18:38:18.237Z","15.0.0-canary.d0788120f.0":"2023-05-09T08:22:24.782Z","15.0.0-canary.f52358dd0.0":"2023-05-12T14:29:45.580Z","15.0.0-canary.d3c3fbaa3.0":"2023-05-12T17:59:47.520Z","15.0.0-canary.576d3d2c8.0":"2023-05-16T01:59:23.098Z","15.0.0-canary.19bb36a46.0":"2023-05-16T19:53:22.462Z","15.0.0-canary.aa5ac7fe5.0":"2023-05-22T17:24:47.922Z","15.0.0-canary.90291f2e2.0":"2023-05-23T17:42:00.989Z","15.0.0-canary.446734f27.0":"2023-05-30T21:47:33.983Z","15.0.0-canary.19de312d8.0":"2023-06-06T17:17:31.862Z","15.0.0-canary.6081d829b.0":"2023-06-07T01:13:24.014Z","15.0.0-canary.b26c34a68.0":"2023-06-07T20:16:38.580Z","15.0.0-canary.4fe911371.0":"2023-06-07T23:05:16.330Z","15.0.0-canary.a9ff9866f.0":"2023-06-13T11:37:35.325Z","15.0.0-canary.b994146f6.0":"2023-06-14T21:02:54.211Z","15.0.0-canary.1fb4b1a06.0":"2023-06-27T18:56:27.758Z","15.0.0-canary.c64a2776e.0":"2023-06-27T20:15:46.349Z","15.0.0-canary.b05d9eb7c.0":"2023-06-29T16:23:02.156Z","15.0.0-canary.2a9697dc5.0":"2023-06-30T22:13:16.934Z","15.0.0-canary.0c52adeab.0":"2023-07-05T16:25:06.237Z","15.0.0-canary.83355c322.0":"2023-07-10T15:04:32.672Z","15.0.0-canary.bc9ae6c9c.0":"2023-08-03T21:20:06.173Z","15.0.0-canary.3c44cd956.0":"2023-08-07T17:46:26.364Z","15.0.0-canary.02702296e.0":"2023-08-25T12:04:17.178Z","15.0.0-canary.872b65832.0":"2023-08-30T12:12:20.018Z","15.0.0-canary.89b2e4122.0":"2023-08-31T16:06:02.436Z","15.0.0-canary.7a3942e7a.0":"2023-08-31T18:38:41.430Z","15.0.0-canary.54feb3020.0":"2023-09-11T21:04:19.468Z","15.0.0-canary.6cda3ce8d.0":"2023-09-12T01:44:19.638Z","15.0.0-canary.205b20b36.0":"2023-09-13T17:15:45.257Z","15.0.0-canary.22bf82024.0":"2023-09-18T09:11:13.024Z","15.0.0-canary.a246a4439.0":"2023-09-18T17:44:59.049Z","15.0.0-canary.d153db62b.0":"2023-09-19T19:14:14.501Z","15.0.0-canary.2528c1c3b.0":"2023-09-20T18:05:32.941Z","15.0.0-canary.1728a6dcf.0":"2023-09-26T01:22:24.257Z","15.0.0-canary.ebb636f3d.0":"2023-09-29T19:43:43.477Z","15.0.0-canary.c0d21ecc9.0":"2023-10-09T19:36:04.721Z","15.0.0-canary.127a44b28.0":"2023-10-12T19:59:13.017Z","15.0.0-canary.0ad128337.0":"2023-10-19T18:51:01.674Z","15.0.0-canary.9cec94097.0":"2023-10-19T23:08:40.112Z","15.0.0-canary.c51a0bbcc.0":"2023-11-15T20:58:15.248Z","15.0.0-canary.d76666ad4.0":"2023-11-27T22:12:39.089Z","15.0.0-canary.8656bf0e0.0":"2023-12-12T21:18:09.428Z","15.0.0-canary.7f224ddd4.0":"2023-12-28T06:08:34.616Z","15.0.0-canary.a0b8a90c0.0":"2024-02-07T19:18:59.050Z","15.0.0-canary.e50b478eb.0":"2024-02-08T18:07:28.406Z","15.0.0-canary.c43b3438b.0":"2024-02-23T20:17:01.547Z","15.0.0-canary.819498d8c.0":"2024-03-15T15:14:07.887Z","15.0.0-canary.453a6248a.0":"2024-03-25T17:13:01.856Z","15.0.0-canary.68edc03c6.0":"2024-04-08T19:05:14.009Z","15.0.0-canary.5bebc0064.0":"2024-04-11T21:39:44.633Z","15.0.0-canary.311f29a60.0":"2024-04-23T17:59:00.215Z","15.0.0-canary.65c10a622.0":"2024-04-25T18:48:11.749Z","15.0.0-canary.4b35cb7d0.0":"2024-05-02T12:02:16.530Z","15.0.0-canary.f80ac92b0.0":"2024-05-02T12:12:35.283Z","15.0.0-canary.2f5b899bc.0":"2024-05-20T13:54:17.347Z","15.0.0-canary.cfec83c74.0":"2024-05-20T18:56:11.817Z","15.0.0-canary.423edc3dc.0":"2024-06-26T18:11:42.766Z"},"readmeFilename":"","homepage":"https://github.com/material-components/material-components-web#readme"}